@foblex/flow 17.1.1 → 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 (532) 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/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +3 -3
  4. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
  5. package/domain/f-draggable/providers.d.ts +1 -1
  6. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +2 -1
  7. package/domain/f-event-trigger.d.ts +4 -0
  8. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
  9. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
  10. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
  11. package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
  12. package/domain/f-selection/get-current-selection/i-current-selection.d.ts +3 -3
  13. package/domain/f-selection/providers.d.ts +1 -1
  14. package/domain/index.d.ts +1 -0
  15. package/domain/providers.d.ts +1 -1
  16. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
  17. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  18. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  19. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
  20. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
  21. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +42 -37
  22. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +13 -10
  23. 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
  24. 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
  25. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
  26. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +4 -4
  27. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +5 -1
  28. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
  29. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +10 -3
  30. package/esm2022/domain/f-event-trigger.mjs +7 -0
  31. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
  32. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +2 -2
  33. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
  34. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
  35. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
  36. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
  37. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +4 -4
  38. package/esm2022/domain/f-selection/get-current-selection/i-current-selection.mjs +1 -1
  39. package/esm2022/domain/f-selection/select/select.execution.mjs +4 -4
  40. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +4 -4
  41. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
  42. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  43. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  44. package/esm2022/domain/index.mjs +2 -1
  45. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
  46. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
  47. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
  48. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
  49. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
  50. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  51. package/esm2022/f-canvas/f-canvas.component.mjs +13 -13
  52. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  53. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
  54. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
  55. package/esm2022/f-connection/f-connection/f-connection.component.mjs +4 -4
  56. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +4 -4
  57. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  58. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +4 -4
  59. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  60. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
  61. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  62. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
  63. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  64. package/esm2022/f-draggable/domain/f-drag-started-event.mjs +9 -0
  65. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
  66. package/esm2022/f-draggable/domain/index.mjs +2 -1
  67. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  68. package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +19 -0
  69. package/esm2022/f-draggable/f-canvas/index.mjs +5 -0
  70. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +29 -0
  71. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.mjs +7 -0
  72. package/esm2022/f-draggable/f-canvas/move-finalize/index.mjs +3 -0
  73. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +53 -0
  74. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +7 -0
  75. package/esm2022/f-draggable/f-canvas/move-preparation/index.mjs +3 -0
  76. package/esm2022/f-draggable/f-canvas/providers.mjs +7 -0
  77. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +61 -0
  78. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.mjs +7 -0
  79. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/index.mjs +3 -0
  80. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +40 -0
  81. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.mjs +9 -0
  82. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.mjs +3 -0
  83. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +48 -0
  84. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +9 -0
  85. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +54 -0
  86. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.mjs +9 -0
  87. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.mjs +3 -0
  88. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +49 -0
  89. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +9 -0
  90. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +3 -0
  91. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +6 -0
  92. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +95 -0
  93. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.event.mjs +11 -0
  94. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +47 -0
  95. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.mjs +7 -0
  96. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.mjs +3 -0
  97. package/esm2022/f-draggable/f-connection/f-create-connection/i-f-create-connection-drag-result.mjs +2 -0
  98. package/esm2022/f-draggable/f-connection/f-create-connection/index.mjs +7 -0
  99. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +105 -0
  100. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +15 -0
  101. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.mjs +2 -0
  102. package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +6 -0
  103. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.mjs +63 -0
  104. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.mjs +7 -0
  105. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/index.mjs +3 -0
  106. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.execution.mjs +72 -0
  107. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.mjs +9 -0
  108. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/index.mjs +3 -0
  109. package/esm2022/f-draggable/f-connection/index.mjs +4 -0
  110. package/esm2022/f-draggable/f-connection/providers.mjs +13 -0
  111. package/esm2022/f-draggable/f-drag-handler/f-drag-handler-result.mjs +20 -0
  112. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +2 -0
  113. package/esm2022/f-draggable/f-drag-handler/index.mjs +3 -0
  114. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  115. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  116. package/esm2022/f-draggable/f-draggable.directive.mjs +68 -32
  117. package/esm2022/f-draggable/f-injector.mjs +19 -0
  118. package/esm2022/f-draggable/f-selection-change-event.mjs +8 -8
  119. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +137 -0
  120. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +9 -0
  121. package/esm2022/f-draggable/f-single-select/index.mjs +4 -0
  122. package/esm2022/f-draggable/f-single-select/providers.mjs +5 -0
  123. package/esm2022/f-draggable/index.mjs +6 -6
  124. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  125. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
  126. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  127. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  128. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  129. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
  130. 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
  131. 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
  132. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  133. 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
  134. 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
  135. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  136. 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
  137. 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
  138. 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
  139. 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
  140. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  141. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  142. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
  143. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
  144. package/esm2022/f-draggable/node/index.mjs +4 -6
  145. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
  146. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
  147. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +6 -4
  148. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
  149. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
  150. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
  151. package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +2 -1
  152. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
  153. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
  154. package/esm2022/f-draggable/node/node.drag-handler.mjs +13 -29
  155. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
  156. package/esm2022/f-draggable/node/providers.mjs +3 -3
  157. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +41 -0
  158. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
  159. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  160. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
  161. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  162. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
  163. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
  164. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
  165. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
  166. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +52 -34
  167. package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
  168. package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
  169. package/esm2022/f-draggable/providers.mjs +4 -4
  170. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +41 -0
  171. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.mjs +7 -0
  172. package/esm2022/f-external-item/domain/create-placeholder/index.mjs +3 -0
  173. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +52 -0
  174. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.request.mjs +7 -0
  175. package/esm2022/f-external-item/domain/create-preview/index.mjs +3 -0
  176. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +71 -0
  177. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +62 -0
  178. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.request.mjs +7 -0
  179. package/esm2022/f-external-item/domain/finalize/index.mjs +3 -0
  180. package/esm2022/f-external-item/domain/i-f-external-item-drag-result.mjs +2 -0
  181. package/esm2022/f-external-item/domain/index.mjs +7 -4
  182. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +47 -0
  183. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +7 -0
  184. package/esm2022/f-external-item/domain/preparation/index.mjs +3 -0
  185. package/esm2022/f-external-item/domain/providers.mjs +9 -5
  186. package/esm2022/f-external-item/f-external-item-base.mjs +2 -3
  187. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +26 -0
  188. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +26 -0
  189. package/esm2022/f-external-item/f-external-item-token.mjs +3 -0
  190. package/esm2022/f-external-item/f-external-item.directive.mjs +25 -17
  191. package/esm2022/f-external-item/f-external-item.service.mjs +6 -6
  192. package/esm2022/f-external-item/index.mjs +6 -4
  193. package/esm2022/f-flow/f-flow.component.mjs +15 -15
  194. package/esm2022/f-flow.module.mjs +13 -17
  195. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +3 -2
  196. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  197. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
  198. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
  199. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
  200. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
  201. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
  202. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
  203. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  204. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
  205. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  206. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  207. package/esm2022/f-node/f-group.directive.mjs +16 -10
  208. package/esm2022/f-node/f-node-base.mjs +1 -1
  209. package/esm2022/f-node/f-node.directive.mjs +16 -10
  210. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
  211. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  212. package/esm2022/f-selection-area/domain/providers.mjs +5 -5
  213. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
  214. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
  215. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
  216. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
  217. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
  218. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +33 -29
  219. package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
  220. package/esm2022/f-zoom/f-zoom.directive.mjs +7 -1
  221. package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
  222. package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
  223. package/esm2022/mixins/change-selection/index.mjs +2 -2
  224. package/f-connection/common/f-connection-base.d.ts +5 -5
  225. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
  226. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
  227. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  228. package/f-draggable/domain/f-drag-started-event.d.ts +5 -0
  229. package/f-draggable/domain/index.d.ts +1 -0
  230. package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +10 -0
  231. package/f-draggable/f-canvas/index.d.ts +4 -0
  232. package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +10 -0
  233. package/f-draggable/{single-select/single-select.request.d.ts → f-canvas/move-finalize/f-canvas-move-finalize.request.d.ts} +1 -1
  234. package/f-draggable/f-canvas/move-finalize/index.d.ts +2 -0
  235. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +15 -0
  236. package/f-draggable/{canvas/canvas-move-preparation/canvas-move-preparation.request.d.ts → f-canvas/move-preparation/f-canvas-move-preparation.request.d.ts} +1 -1
  237. package/f-draggable/f-canvas/move-preparation/index.d.ts +2 -0
  238. package/f-draggable/f-canvas/providers.d.ts +3 -0
  239. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +19 -0
  240. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.d.ts +5 -0
  241. package/f-draggable/f-connection/f-create-connection/create-finalize/index.d.ts +2 -0
  242. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +12 -0
  243. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.d.ts +7 -0
  244. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/index.d.ts +2 -0
  245. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +15 -0
  246. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.d.ts +7 -0
  247. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +14 -0
  248. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.d.ts +7 -0
  249. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/index.d.ts +2 -0
  250. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +14 -0
  251. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.d.ts +7 -0
  252. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.d.ts +2 -0
  253. package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +5 -0
  254. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +27 -0
  255. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.d.ts +16 -0
  256. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.d.ts +5 -0
  257. package/f-draggable/f-connection/f-create-connection/get-first-connectable-output/index.d.ts +2 -0
  258. 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
  259. package/f-draggable/f-connection/f-create-connection/index.d.ts +6 -0
  260. package/f-draggable/{connections/reassign-connection/reassign-connection.drag-handler.d.ts → f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts} +7 -9
  261. package/f-draggable/f-connection/f-reassign-connection/i-f-reassign-connection-drag-result.d.ts +8 -0
  262. package/f-draggable/{connections/reassign-connection → f-connection/f-reassign-connection}/index.d.ts +2 -1
  263. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.d.ts +20 -0
  264. package/f-draggable/{connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts → f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.d.ts} +1 -1
  265. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/index.d.ts +2 -0
  266. 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
  267. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.d.ts +7 -0
  268. package/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/index.d.ts +2 -0
  269. package/f-draggable/f-connection/index.d.ts +3 -0
  270. package/f-draggable/f-connection/providers.d.ts +3 -0
  271. package/f-draggable/f-drag-handler/f-drag-handler-result.d.ts +9 -0
  272. package/f-draggable/{i-draggable-item.d.ts → f-drag-handler/i-f-drag-handler.d.ts} +3 -2
  273. package/f-draggable/f-drag-handler/index.d.ts +2 -0
  274. package/f-draggable/f-draggable-base.d.ts +6 -3
  275. package/f-draggable/f-draggable-data-context.d.ts +4 -4
  276. package/f-draggable/f-draggable.directive.d.ts +19 -5
  277. package/f-draggable/f-injector.d.ts +8 -0
  278. package/f-draggable/f-selection-change-event.d.ts +4 -4
  279. package/f-draggable/f-single-select/f-single-select.execution.d.ts +62 -0
  280. package/f-draggable/f-single-select/f-single-select.request.d.ts +7 -0
  281. package/f-draggable/f-single-select/index.d.ts +3 -0
  282. package/f-draggable/f-single-select/providers.d.ts +2 -0
  283. package/f-draggable/index.d.ts +5 -5
  284. package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
  285. package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
  286. package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
  287. package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
  288. package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
  289. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
  290. 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
  291. 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
  292. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
  293. 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
  294. 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
  295. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
  296. 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
  297. 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
  298. 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
  299. 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
  300. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
  301. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
  302. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
  303. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
  304. package/f-draggable/node/index.d.ts +3 -5
  305. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
  306. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
  307. package/f-draggable/node/line-alignment.drag-handler.d.ts +5 -5
  308. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  309. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
  310. package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +3 -2
  311. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  312. package/f-draggable/node/node.drag-handler.d.ts +9 -11
  313. package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
  314. package/f-draggable/node/providers.d.ts +2 -1
  315. package/f-draggable/node/summary-node.drag-handler.d.ts +16 -0
  316. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
  317. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
  318. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
  319. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
  320. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  321. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
  322. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +20 -14
  323. package/f-draggable/node-resize/providers.d.ts +2 -1
  324. package/f-draggable/node-resize/resize-direction.d.ts +16 -0
  325. package/f-draggable/providers.d.ts +1 -1
  326. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.d.ts +13 -0
  327. package/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.request.d.ts +5 -0
  328. package/f-external-item/domain/create-placeholder/index.d.ts +2 -0
  329. package/f-external-item/domain/create-preview/f-external-item-create-preview.execution.d.ts +14 -0
  330. package/f-external-item/domain/create-preview/f-external-item-create-preview.request.d.ts +5 -0
  331. package/f-external-item/domain/create-preview/index.d.ts +2 -0
  332. package/f-external-item/domain/f-external-item.drag-handler.d.ts +24 -0
  333. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +21 -0
  334. package/{f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.d.ts → f-external-item/domain/finalize/f-external-item-finalize.request.d.ts} +1 -1
  335. package/f-external-item/domain/finalize/index.d.ts +2 -0
  336. package/f-external-item/domain/i-f-external-item-drag-result.d.ts +5 -0
  337. package/f-external-item/domain/index.d.ts +6 -3
  338. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +15 -0
  339. 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
  340. package/f-external-item/domain/preparation/index.d.ts +2 -0
  341. package/f-external-item/domain/providers.d.ts +5 -1
  342. package/f-external-item/f-external-item-base.d.ts +4 -2
  343. package/f-external-item/f-external-item-placeholder.directive.d.ts +10 -0
  344. package/f-external-item/f-external-item-preview.directive.d.ts +10 -0
  345. package/f-external-item/f-external-item-token.d.ts +3 -0
  346. package/f-external-item/f-external-item.directive.d.ts +9 -6
  347. package/f-external-item/f-external-item.service.d.ts +1 -1
  348. package/f-external-item/index.d.ts +5 -3
  349. package/f-flow.module.d.ts +14 -15
  350. package/f-minimap/domain/f-minimap.drag-handler.d.ts +3 -2
  351. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
  352. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
  353. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
  354. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
  355. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
  356. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
  357. package/f-minimap/domain/providers.d.ts +1 -1
  358. package/f-node/f-node-base.d.ts +3 -3
  359. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
  360. package/f-selection-area/domain/providers.d.ts +3 -1
  361. package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
  362. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
  363. package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
  364. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
  365. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
  366. package/f-selection-area/domain/selection-area.drag-handle.d.ts +10 -8
  367. package/f-selection-area/f-selection-area.component.d.ts +3 -1
  368. package/f-storage/providers.d.ts +1 -1
  369. package/f-zoom/f-zoom.directive.d.ts +3 -0
  370. package/fesm2022/foblex-flow.mjs +2492 -2273
  371. package/fesm2022/foblex-flow.mjs.map +1 -1
  372. package/mixins/change-selection/change-selection.d.ts +2 -2
  373. package/mixins/change-selection/i-selectable.d.ts +10 -0
  374. package/mixins/change-selection/index.d.ts +1 -1
  375. package/package.json +3 -3
  376. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
  377. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
  378. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -29
  379. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +0 -7
  380. package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +0 -3
  381. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -55
  382. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +0 -7
  383. package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +0 -3
  384. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +0 -19
  385. package/esm2022/f-draggable/canvas/index.mjs +0 -5
  386. package/esm2022/f-draggable/canvas/providers.mjs +0 -7
  387. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -68
  388. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +0 -7
  389. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +0 -3
  390. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
  391. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
  392. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
  393. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -56
  394. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +0 -7
  395. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs +0 -3
  396. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -41
  397. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +0 -7
  398. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
  399. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +0 -4
  400. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -52
  401. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +0 -7
  402. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +0 -6
  403. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +0 -89
  404. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -11
  405. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +0 -44
  406. 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
  407. 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
  408. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +0 -4
  409. package/esm2022/f-draggable/connections/create-connection/index.mjs +0 -6
  410. package/esm2022/f-draggable/connections/i-create-reassign-connection-drag-data.mjs +0 -2
  411. package/esm2022/f-draggable/connections/index.mjs +0 -5
  412. package/esm2022/f-draggable/connections/providers.mjs +0 -15
  413. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -15
  414. package/esm2022/f-draggable/connections/reassign-connection/index.mjs +0 -5
  415. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +0 -3
  416. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -64
  417. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +0 -7
  418. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +0 -3
  419. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -72
  420. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +0 -7
  421. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -102
  422. package/esm2022/f-draggable/i-draggable-item.mjs +0 -2
  423. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
  424. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
  425. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
  426. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
  427. 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
  428. 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
  429. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
  430. 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
  431. 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
  432. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
  433. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
  434. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
  435. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
  436. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
  437. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
  438. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
  439. package/esm2022/f-draggable/single-select/index.mjs +0 -4
  440. package/esm2022/f-draggable/single-select/providers.mjs +0 -5
  441. package/esm2022/f-draggable/single-select/single-select.execution.mjs +0 -106
  442. package/esm2022/f-draggable/single-select/single-select.request.mjs +0 -7
  443. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -68
  444. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +0 -7
  445. package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +0 -4
  446. package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +0 -5
  447. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -47
  448. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +0 -7
  449. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  450. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +0 -5
  451. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +0 -7
  452. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +0 -39
  453. package/esm2022/f-external-item/providers.mjs +0 -5
  454. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  455. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  456. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
  457. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  458. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
  459. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
  460. package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
  461. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +0 -10
  462. package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -2
  463. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +0 -15
  464. package/f-draggable/canvas/canvas-move-preparation/index.d.ts +0 -2
  465. package/f-draggable/canvas/canvas.drag-handler.d.ts +0 -11
  466. package/f-draggable/canvas/index.d.ts +0 -4
  467. package/f-draggable/canvas/providers.d.ts +0 -3
  468. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +0 -23
  469. package/f-draggable/connections/create-connection/create-connection-finalize/index.d.ts +0 -2
  470. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
  471. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
  472. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
  473. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +0 -14
  474. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +0 -5
  475. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.d.ts +0 -2
  476. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +0 -14
  477. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +0 -5
  478. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +0 -14
  479. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -3
  480. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +0 -16
  481. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +0 -5
  482. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +0 -28
  483. 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
  484. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +0 -5
  485. 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
  486. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -3
  487. package/f-draggable/connections/create-connection/index.d.ts +0 -5
  488. package/f-draggable/connections/index.d.ts +0 -4
  489. package/f-draggable/connections/providers.d.ts +0 -3
  490. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.d.ts +0 -2
  491. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +0 -20
  492. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.d.ts +0 -5
  493. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.d.ts +0 -2
  494. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +0 -5
  495. package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
  496. package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
  497. package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
  498. package/f-draggable/node/connection.drag-handler.d.ts +0 -14
  499. 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
  500. 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
  501. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
  502. 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
  503. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
  504. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
  505. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
  506. package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
  507. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
  508. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
  509. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
  510. package/f-draggable/single-select/index.d.ts +0 -3
  511. package/f-draggable/single-select/providers.d.ts +0 -2
  512. package/f-draggable/single-select/single-select.execution.d.ts +0 -28
  513. package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +0 -24
  514. package/f-external-item/domain/external-item-finalize/external-item-finalize.request.d.ts +0 -5
  515. package/f-external-item/domain/external-item-finalize/index.d.ts +0 -3
  516. package/f-external-item/domain/external-item-finalize/providers.d.ts +0 -2
  517. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +0 -19
  518. package/f-external-item/domain/external-item-preparation/external-item-preparation.request.d.ts +0 -5
  519. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
  520. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -4
  521. package/f-external-item/domain/external-item-preparation/providers.d.ts +0 -3
  522. package/f-external-item/domain/external-item.drag-handler.d.ts +0 -17
  523. package/f-external-item/providers.d.ts +0 -2
  524. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
  525. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
  526. package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
  527. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
  528. package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
  529. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
  530. package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
  531. /package/f-draggable/{connections/create-connection → f-connection/f-create-connection}/f-create-connection.event.d.ts +0 -0
  532. /package/f-draggable/{connections/reassign-connection → f-connection/f-reassign-connection}/f-reassign-connection.event.d.ts +0 -0
@@ -0,0 +1,22 @@
1
+ import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
+ export class SourceTargetConnectionDragHandler extends BaseConnectionDragHandler {
3
+ _callTracker = new Map();
4
+ constructor(fConnection) {
5
+ super(fConnection);
6
+ }
7
+ setSourceDifference(difference) {
8
+ super.setSourceDifference(difference);
9
+ this._checkAndTriggerAction();
10
+ }
11
+ setTargetDifference(difference) {
12
+ super.setTargetDifference(difference);
13
+ this._checkAndTriggerAction();
14
+ }
15
+ _checkAndTriggerAction() {
16
+ if ([...this._callTracker.values()].every(Boolean)) {
17
+ this._callTracker.clear();
18
+ this.redraw();
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvc291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUkzRSxNQUFNLE9BQU8saUNBQWtDLFNBQVEseUJBQXlCO0lBRXRFLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQUVsRCxZQUFZLFdBQTRCO1FBQ3RDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFZSxtQkFBbUIsQ0FBQyxVQUFrQjtRQUNwRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIGV4dGVuZHMgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBfY2FsbFRyYWNrZXIgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKSB7XG4gICAgc3VwZXIoZkNvbm5lY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KSB7XG4gICAgc3VwZXIuc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcbiAgICB0aGlzLl9jaGVja0FuZFRyaWdnZXJBY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCkge1xuICAgIHN1cGVyLnNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgdGhpcy5fY2hlY2tBbmRUcmlnZ2VyQWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FuZFRyaWdnZXJBY3Rpb24oKSB7XG4gICAgaWYgKFsuLi50aGlzLl9jYWxsVHJhY2tlci52YWx1ZXMoKV0uZXZlcnkoQm9vbGVhbikpIHtcbiAgICAgIHRoaXMuX2NhbGxUcmFja2VyLmNsZWFyKCk7XG4gICAgICB0aGlzLnJlZHJhdygpO1xuICAgIH1cbiAgfVxufVxuXG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
+ export class TargetConnectionDragHandler extends BaseConnectionDragHandler {
3
+ constructor(fConnection) {
4
+ super(fConnection);
5
+ }
6
+ setTargetDifference(difference) {
7
+ super.setTargetDifference(difference);
8
+ this.redraw();
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy90YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHM0UsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHlCQUF5QjtJQUV4RSxZQUFZLFdBQTRCO1FBQ3RDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIFRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlciBleHRlbmRzIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuXG4gIGNvbnN0cnVjdG9yKGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpIHtcbiAgICBzdXBlcihmQ29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==
@@ -5,22 +5,27 @@ import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
5
  import { FComponentsStore } from '../../../f-storage';
6
6
  import { FDraggableDataContext } from '../../f-draggable-data-context';
7
7
  import { NodeDragHandler } from '../node.drag-handler';
8
- import { CalculateNodeMoveRestrictionsRequest } from './domain/calculate-node-move-restrictions';
8
+ import { CalculateNodeMoveLimitsRequest } from './domain/calculate-node-move-limits';
9
9
  import { PutOutputConnectionHandlersToArrayRequest } from './domain/put-output-connection-handlers-to-array';
10
10
  import { PutInputConnectionHandlersToArrayRequest } from './domain/put-input-connection-handlers-to-array';
11
- import { NodeResizeByChildDragHandler } from '../node-resize-by-child.drag-handler';
12
11
  import { IsArrayHasParentNodeRequest } from '../../domain';
13
- import { GetDeepChildrenNodesAndGroupsRequest, GetParentNodesRequest } from '../../../domain';
12
+ import { GetDeepChildrenNodesAndGroupsRequest, GetNormalizedElementRectRequest, GetParentNodesRequest } from '../../../domain';
14
13
  import { flatMap } from '@foblex/utils';
15
- import { CalculateCommonNodeMoveRestrictionsRequest } from './domain/calculate-common-node-move-restrictions';
14
+ import { CalculateCommonNodeMoveLimitsRequest } from './domain/calculate-common-node-move-limits';
15
+ import { RectExtensions } from '@foblex/2d';
16
+ import { SummaryNodeDragHandler } from '../summary-node.drag-handler';
16
17
  import * as i0 from "@angular/core";
17
18
  let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragModelFromSelectionExecution {
18
19
  _fMediator = inject(FMediator);
19
20
  _fComponentsStore = inject(FComponentsStore);
20
21
  _fDraggableDataContext = inject(FDraggableDataContext);
21
22
  handle(request) {
22
- const fItemsToDrag = this._getNodesWithRestrictions(this._getDraggedNodes(request.nodeWithDisabledSelection));
23
- return this.getDragHandlersWithConnections(this.getDragHandlersFromNodes(fItemsToDrag), this.getAllOutputIds(fItemsToDrag), this.getAllInputIds(fItemsToDrag));
23
+ const fDraggedNodes = this._getDraggedNodes(request.nodeWithDisabledSelection);
24
+ const fNodesToDrag = this._getNodesToDragWithCommonLimits(fDraggedNodes);
25
+ const fDragHandlers = this._mapToNodeDragHandlers(fNodesToDrag);
26
+ this._setConnectionsHandlersToNodes(fDragHandlers, this._getAllOutputIds(fNodesToDrag), this._getAllInputIds(fNodesToDrag));
27
+ const commonLimits = this._calculateCommonLimits(this._getNodesMoveLimits(fNodesToDrag, [], fDraggedNodes));
28
+ return new SummaryNodeDragHandler(commonLimits, fDragHandlers, this._getDraggedNodesBoundingRect(fNodesToDrag));
24
29
  }
25
30
  _getDraggedNodes(nodeWithDisabledSelection) {
26
31
  const result = this._getNodesFromSelection();
@@ -38,61 +43,58 @@ let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragMo
38
43
  return this._fComponentsStore.fNodes
39
44
  .find(n => n.isContains(hostElement));
40
45
  }
41
- _getNodesWithRestrictions(fDraggedNodes) {
42
- const result = [];
43
- fDraggedNodes.forEach((x) => {
46
+ _getNodesToDragWithCommonLimits(fDraggedNodes) {
47
+ return fDraggedNodes.reduce((result, x) => {
48
+ result.push(x);
49
+ return result.concat(this._getChildrenNodes(x.fId));
50
+ }, []);
51
+ }
52
+ _getNodesMoveLimits(fNodes, fParentNodes, fDraggedNodes) {
53
+ return fDraggedNodes.map((x) => {
44
54
  const fParentNodes = this._fMediator.execute(new GetParentNodesRequest(x));
45
- const restrictions = this._getNodeMoveRestrictions(x, fParentNodes, fDraggedNodes);
46
- result.push({ fDraggedNode: x, fParentNodes, ...restrictions }, ...this._getChildrenItemsToDrag(x, restrictions));
55
+ return { position: x.position, ...this._getNodeMoveLimits(x, fParentNodes, fDraggedNodes) };
47
56
  });
48
- this._applyCommonRestrictions(result);
49
- return result;
50
57
  }
51
- _getNodeMoveRestrictions(fNode, fParentNodes, fDraggedNodes) {
52
- return this._fMediator.execute(new CalculateNodeMoveRestrictionsRequest(fNode, this._isParentNodeInArray(fParentNodes, fDraggedNodes)));
58
+ _getNodeMoveLimits(fNode, fParentNodes, fDraggedNodes) {
59
+ return this._fMediator.execute(new CalculateNodeMoveLimitsRequest(fNode, this._isParentNodeInArray(fParentNodes, fDraggedNodes)));
53
60
  }
54
61
  _isParentNodeInArray(fParentNodes, fDraggedNodes) {
55
62
  return this._fMediator.execute(new IsArrayHasParentNodeRequest(fParentNodes, fDraggedNodes));
56
63
  }
57
- _getChildrenItemsToDrag(node, restrictions) {
58
- return this._getChildrenNodes(node.fId).map((x) => ({ fDraggedNode: x, ...restrictions }));
59
- }
60
64
  _getChildrenNodes(fId) {
61
65
  return this._fMediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId));
62
66
  }
63
- _applyCommonRestrictions(restrictions) {
64
- const commonRestrictions = this._fMediator.execute(new CalculateCommonNodeMoveRestrictionsRequest(restrictions));
65
- restrictions.forEach((x) => {
66
- x.min = commonRestrictions.min;
67
- x.max = commonRestrictions.max;
68
- });
67
+ _calculateCommonLimits(limits) {
68
+ return this._fMediator.execute(new CalculateCommonNodeMoveLimitsRequest(limits));
69
69
  }
70
- getAllOutputIds(items) {
71
- return flatMap(items, (item) => this.getOutputsForNode(item.fDraggedNode).map((x) => x.fId));
70
+ _getAllOutputIds(fNodes) {
71
+ return flatMap(fNodes, (fNode) => this._getNodeOutputIds(fNode));
72
72
  }
73
- getOutputsForNode(node) {
74
- return this._fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
73
+ _getNodeOutputIds(fNode) {
74
+ return this._fComponentsStore.fOutputs.filter((x) => fNode.fId === x.fNodeId)
75
+ .map((x) => x.fId);
75
76
  }
76
- getAllInputIds(items) {
77
- return flatMap(items, (item) => this.getInputsForNode(item.fDraggedNode).map((x) => x.fId));
77
+ _getAllInputIds(fNodes) {
78
+ return flatMap(fNodes, (fNode) => this._getNodeInputIds(fNode));
78
79
  }
79
- getInputsForNode(node) {
80
- return this._fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
80
+ _getNodeInputIds(fNode) {
81
+ return this._fComponentsStore.fInputs.filter((x) => fNode.fId === x.fNodeId)
82
+ .map((x) => x.fId);
81
83
  }
82
- getDragHandlersFromNodes(items) {
83
- let result = [];
84
- items.forEach((node) => {
85
- result.push(new NodeDragHandler(this._fComponentsStore, node.fDraggedNode, { min: node.min, max: node.max }), ...(node.fParentNodes || []).map(() => new NodeResizeByChildDragHandler(this._fDraggableDataContext)));
86
- });
87
- return result;
84
+ _mapToNodeDragHandlers(items) {
85
+ return items.map((x) => new NodeDragHandler(x));
88
86
  }
89
- getDragHandlersWithConnections(handlers, outputIds, inputIds) {
90
- let result = handlers;
91
- handlers.filter((x) => x instanceof NodeDragHandler).forEach((x) => {
92
- this._fMediator.execute(new PutOutputConnectionHandlersToArrayRequest(x, inputIds, result));
93
- this._fMediator.execute(new PutInputConnectionHandlersToArrayRequest(x, outputIds, result));
87
+ _setConnectionsHandlersToNodes(handlers, outputIds, inputIds) {
88
+ const fConnectionHandlers = [];
89
+ handlers.forEach((fNodeHandler) => {
90
+ this._fMediator.execute(new PutOutputConnectionHandlersToArrayRequest(fNodeHandler, inputIds, fConnectionHandlers));
91
+ this._fMediator.execute(new PutInputConnectionHandlersToArrayRequest(fNodeHandler, outputIds, fConnectionHandlers));
94
92
  });
95
- return result;
93
+ }
94
+ _getDraggedNodesBoundingRect(fNodes) {
95
+ return RectExtensions.union(fNodes.map((x) => {
96
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
97
+ })) || RectExtensions.initialize();
96
98
  }
97
99
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
98
100
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution });
@@ -104,4 +106,4 @@ export { CreateMoveNodesDragModelFromSelectionExecution };
104
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
105
107
  type: Injectable
106
108
  }] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUl2RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMs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O0lBRU8sOEJBQThCLENBQ3BDLFFBQTBCLEVBQUUsU0FBbUIsRUFBRSxRQUFrQjtRQUVuRSxJQUFJLE1BQU0sR0FBcUIsUUFBUSxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHdDQUF3QyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7dUdBbkhVLDhDQUE4QzsyR0FBOUMsOENBQThDOztBQUE5Qyw4Q0FBOEM7SUFEMUQsa0JBQWtCLENBQUMsNENBQTRDLENBQUM7R0FDcEQsOENBQThDLENBb0gxRDs7MkZBcEhZLDhDQUE4QztrQkFGMUQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IENhbGN1bGF0ZU5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vcHV0LW91dHB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7XG4gIFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3Rcbn0gZnJvbSAnLi9kb21haW4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUJ5Q2hpbGREcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUtcmVzaXplLWJ5LWNoaWxkLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0LCBHZXRQYXJlbnROb2Rlc1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgZmxhdE1hcCB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IElNaW5NYXhQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25FeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0LCBJRHJhZ2dhYmxlSXRlbVtdPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICBjb25zdCBmSXRlbXNUb0RyYWcgPSB0aGlzLl9nZXROb2Rlc1dpdGhSZXN0cmljdGlvbnMoXG4gICAgICB0aGlzLl9nZXREcmFnZ2VkTm9kZXMocmVxdWVzdC5ub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RHJhZ0hhbmRsZXJzV2l0aENvbm5lY3Rpb25zKFxuICAgICAgdGhpcy5nZXREcmFnSGFuZGxlcnNGcm9tTm9kZXMoZkl0ZW1zVG9EcmFnKSxcbiAgICAgIHRoaXMuZ2V0QWxsT3V0cHV0SWRzKGZJdGVtc1RvRHJhZyksXG4gICAgICB0aGlzLmdldEFsbElucHV0SWRzKGZJdGVtc1RvRHJhZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RHJhZ2dlZE5vZGVzKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGTm9kZUJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk7XG4gICAgaWYgKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pIHtcbiAgICAgIHJlc3VsdC5wdXNoKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXNcbiAgICAgIC5tYXAoKHgpID0+IHRoaXMuX2ZpbmROb2RlKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLmZpbHRlcigoeCk6IHggaXMgRk5vZGVCYXNlID0+ICEheCk7XG4gIH1cblxuICBwcml2YXRlIF9maW5kTm9kZShob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXNcbiAgICAgIC5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKGhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc1dpdGhSZXN0cmljdGlvbnMoZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10gPSBbXTtcblxuICAgIGZEcmFnZ2VkTm9kZXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgY29uc3QgZlBhcmVudE5vZGVzID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpO1xuICAgICAgY29uc3QgcmVzdHJpY3Rpb25zID0gdGhpcy5fZ2V0Tm9kZU1vdmVSZXN0cmljdGlvbnMoeCwgZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKTtcbiAgICAgIHJlc3VsdC5wdXNoKHsgZkRyYWdnZWROb2RlOiB4LCBmUGFyZW50Tm9kZXMsIC4uLnJlc3RyaWN0aW9ucyB9LCAuLi50aGlzLl9nZXRDaGlsZHJlbkl0ZW1zVG9EcmFnKHgsIHJlc3RyaWN0aW9ucykpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fYXBwbHlDb21tb25SZXN0cmljdGlvbnMocmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZU1vdmVSZXN0cmljdGlvbnMoZk5vZGU6IEZOb2RlQmFzZSwgZlBhcmVudE5vZGVzOiBGTm9kZUJhc2VbXSwgZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBJTWluTWF4UG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJTWluTWF4UG9pbnQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZU5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdChmTm9kZSwgdGhpcy5faXNQYXJlbnROb2RlSW5BcnJheShmUGFyZW50Tm9kZXMsIGZEcmFnZ2VkTm9kZXMpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc1BhcmVudE5vZGVJbkFycmF5KGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPGJvb2xlYW4+KG5ldyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QoZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKSlcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuSXRlbXNUb0RyYWcobm9kZTogRk5vZGVCYXNlLCByZXN0cmljdGlvbnM6IElNaW5NYXhQb2ludCk6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10ge1xuICAgIHJldHVybiB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKG5vZGUuZklkKS5tYXAoKHgpID0+ICh7IGZEcmFnZ2VkTm9kZTogeCwgLi4ucmVzdHJpY3Rpb25zIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZklkOiBzdHJpbmcpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlDb21tb25SZXN0cmljdGlvbnMocmVzdHJpY3Rpb25zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogdm9pZCB7XG4gICAgY29uc3QgY29tbW9uUmVzdHJpY3Rpb25zID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SU1pbk1heFBvaW50PihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QocmVzdHJpY3Rpb25zKVxuICAgICk7XG4gICAgcmVzdHJpY3Rpb25zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgubWluID0gY29tbW9uUmVzdHJpY3Rpb25zLm1pbjtcbiAgICAgIHgubWF4ID0gY29tbW9uUmVzdHJpY3Rpb25zLm1heDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsT3V0cHV0SWRzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGl0ZW1zLCAoaXRlbTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnMpID0+IHRoaXMuZ2V0T3V0cHV0c0Zvck5vZGUoaXRlbS5mRHJhZ2dlZE5vZGUpLm1hcCgoeCkgPT4geC5mSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiBub2RlLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxJbnB1dElkcyhpdGVtczogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZmxhdE1hcChpdGVtcywgKGl0ZW06IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zKSA9PiB0aGlzLmdldElucHV0c0Zvck5vZGUoaXRlbS5mRHJhZ2dlZE5vZGUpLm1hcCgoeCkgPT4geC5mSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZ0hhbmRsZXJzRnJvbU5vZGVzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogSURyYWdnYWJsZUl0ZW1bXSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW1bXSA9IFtdO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgIG5ldyBOb2RlRHJhZ0hhbmRsZXIodGhpcy5fZkNvbXBvbmVudHNTdG9yZSwgbm9kZS5mRHJhZ2dlZE5vZGUsIHsgbWluOiBub2RlLm1pbiwgbWF4OiBub2RlLm1heCB9KSxcbiAgICAgICAgLi4uKG5vZGUuZlBhcmVudE5vZGVzIHx8IFtdKS5tYXAoKCkgPT4gbmV3IE5vZGVSZXNpemVCeUNoaWxkRHJhZ0hhbmRsZXIodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0KSlcbiAgICAgICk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZ0hhbmRsZXJzV2l0aENvbm5lY3Rpb25zKFxuICAgIGhhbmRsZXJzOiBJRHJhZ2dhYmxlSXRlbVtdLCBvdXRwdXRJZHM6IHN0cmluZ1tdLCBpbnB1dElkczogc3RyaW5nW11cbiAgKTogSURyYWdnYWJsZUl0ZW1bXSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW1bXSA9IGhhbmRsZXJzO1xuICAgIGhhbmRsZXJzLmZpbHRlcigoeCkgPT4geCBpbnN0YW5jZW9mIE5vZGVEcmFnSGFuZGxlcikuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KHgsIGlucHV0SWRzLCByZXN1bHQpKTtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KHgsIG91dHB1dElkcywgcmVzdWx0KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNELE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsK0JBQStCLEVBQy9CLHFCQUFxQixFQUN0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNENB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LENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLDRCQUE0QixDQUFDLE1BQW1CO1FBQ3RELE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBUSxJQUFJLCtCQUErQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNyQyxDQUFDO3VHQWxIVSw4Q0FBOEM7MkdBQTlDLDhDQUE4Qzs7QUFBOUMsOENBQThDO0lBRDFELGtCQUFrQixDQUFDLDRDQUE0QyxDQUFDO0dBQ3BELDhDQUE4QyxDQW1IMUQ7OzJGQW5IWSw4Q0FBOEM7a0JBRjFELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi9mLWRyYWctaGFuZGxlci9pLWYtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c1JlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9jYWxjdWxhdGUtbm9kZS1tb3ZlLWxpbWl0cyc7XG5pbXBvcnQgeyBQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCB9IGZyb20gJy4vZG9tYWluL3B1dC1vdXRwdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQge1xuICBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0XG59IGZyb20gJy4vZG9tYWluL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7IElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QsXG4gIEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QsXG4gIEdldFBhcmVudE5vZGVzUmVxdWVzdFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgZmxhdE1hcCB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVMaW1pdHNSZXF1ZXN0IH0gZnJvbSAnLi9kb21haW4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzJztcbmltcG9ydCB7IElNaW5NYXhQb2ludCwgSVJlY3QsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzJztcbmltcG9ydCB7IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9zdW1tYXJ5LW5vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IElOb2RlTW92ZUxpbWl0c0FuZFBvc2l0aW9uIH0gZnJvbSAnLi9pLW5vZGUtbW92ZS1saW1pdHMtYW5kLXBvc2l0aW9uJztcbmltcG9ydCB7IElOb2RlTW92ZUxpbWl0cyB9IGZyb20gJy4vaS1ub2RlLW1vdmUtbGltaXRzJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCwgU3VtbWFyeU5vZGVEcmFnSGFuZGxlcj4ge1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KTogU3VtbWFyeU5vZGVEcmFnSGFuZGxlciB7XG4gICAgY29uc3QgZkRyYWdnZWROb2RlcyA9IHRoaXMuX2dldERyYWdnZWROb2RlcyhyZXF1ZXN0Lm5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuXG4gICAgY29uc3QgZk5vZGVzVG9EcmFnID0gdGhpcy5fZ2V0Tm9kZXNUb0RyYWdXaXRoQ29tbW9uTGltaXRzKGZEcmFnZ2VkTm9kZXMpO1xuXG4gICAgY29uc3QgZkRyYWdIYW5kbGVycyA9IHRoaXMuX21hcFRvTm9kZURyYWdIYW5kbGVycyhmTm9kZXNUb0RyYWcpO1xuXG4gICAgdGhpcy5fc2V0Q29ubmVjdGlvbnNIYW5kbGVyc1RvTm9kZXMoZkRyYWdIYW5kbGVycywgdGhpcy5fZ2V0QWxsT3V0cHV0SWRzKGZOb2Rlc1RvRHJhZyksIHRoaXMuX2dldEFsbElucHV0SWRzKGZOb2Rlc1RvRHJhZykpO1xuXG4gICAgY29uc3QgY29tbW9uTGltaXRzID0gdGhpcy5fY2FsY3VsYXRlQ29tbW9uTGltaXRzKFxuICAgICAgdGhpcy5fZ2V0Tm9kZXNNb3ZlTGltaXRzKGZOb2Rlc1RvRHJhZywgW10sIGZEcmFnZ2VkTm9kZXMpXG4gICAgKTtcblxuICAgIHJldHVybiBuZXcgU3VtbWFyeU5vZGVEcmFnSGFuZGxlcihcbiAgICAgIGNvbW1vbkxpbWl0cywgZkRyYWdIYW5kbGVycywgdGhpcy5fZ2V0RHJhZ2dlZE5vZGVzQm91bmRpbmdSZWN0KGZOb2Rlc1RvRHJhZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RHJhZ2dlZE5vZGVzKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGTm9kZUJhc2VbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk7XG4gICAgaWYgKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pIHtcbiAgICAgIHJlc3VsdC5wdXNoKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZXNGcm9tU2VsZWN0aW9uKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXNcbiAgICAgIC5tYXAoKHgpID0+IHRoaXMuX2ZpbmROb2RlKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLmZpbHRlcigoeCk6IHggaXMgRk5vZGVCYXNlID0+ICEheCk7XG4gIH1cblxuICBwcml2YXRlIF9maW5kTm9kZShob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXNcbiAgICAgIC5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKGhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc1RvRHJhZ1dpdGhDb21tb25MaW1pdHMoZkRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIGZEcmFnZ2VkTm9kZXMucmVkdWNlKChyZXN1bHQ6IEZOb2RlQmFzZVtdLCB4OiBGTm9kZUJhc2UpID0+IHtcbiAgICAgIHJlc3VsdC5wdXNoKHgpO1xuICAgICAgcmV0dXJuIHJlc3VsdC5jb25jYXQodGhpcy5fZ2V0Q2hpbGRyZW5Ob2Rlcyh4LmZJZCkpO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVzTW92ZUxpbWl0cyhmTm9kZXM6IEZOb2RlQmFzZVtdLCBmUGFyZW50Tm9kZXM6IEZOb2RlQmFzZVtdLCBmRHJhZ2dlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IElOb2RlTW92ZUxpbWl0c0FuZFBvc2l0aW9uW10ge1xuICAgIHJldHVybiBmRHJhZ2dlZE5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgZlBhcmVudE5vZGVzID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpO1xuICAgICAgcmV0dXJuIHsgcG9zaXRpb246IHgucG9zaXRpb24sIC4uLnRoaXMuX2dldE5vZGVNb3ZlTGltaXRzKHgsIGZQYXJlbnROb2RlcywgZkRyYWdnZWROb2RlcykgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVNb3ZlTGltaXRzKGZOb2RlOiBGTm9kZUJhc2UsIGZQYXJlbnROb2RlczogRk5vZGVCYXNlW10sIGZEcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogSU5vZGVNb3ZlTGltaXRzIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SU1pbk1heFBvaW50PihcbiAgICAgIG5ldyBDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c1JlcXVlc3QoZk5vZGUsIHRoaXMuX2lzUGFyZW50Tm9kZUluQXJyYXkoZlBhcmVudE5vZGVzLCBmRHJhZ2dlZE5vZGVzKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNQYXJlbnROb2RlSW5BcnJheShmUGFyZW50Tm9kZXM6IEZOb2RlQmFzZVtdLCBmRHJhZ2dlZE5vZGVzOiBGTm9kZUJhc2VbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxib29sZWFuPihuZXcgSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0KGZQYXJlbnROb2RlcywgZkRyYWdnZWROb2RlcykpXG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxGTm9kZUJhc2VbXT4obmV3IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdChmSWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUNvbW1vbkxpbWl0cyhsaW1pdHM6IElOb2RlTW92ZUxpbWl0c0FuZFBvc2l0aW9uW10pOiBJTWluTWF4UG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJTWluTWF4UG9pbnQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlTGltaXRzUmVxdWVzdChsaW1pdHMpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFsbE91dHB1dElkcyhmTm9kZXM6IEZOb2RlQmFzZVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBmbGF0TWFwKGZOb2RlcywgKGZOb2RlKSA9PiB0aGlzLl9nZXROb2RlT3V0cHV0SWRzKGZOb2RlKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlT3V0cHV0SWRzKGZOb2RlOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMuZmlsdGVyKCh4KSA9PiBmTm9kZS5mSWQgPT09IHguZk5vZGVJZClcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFsbElucHV0SWRzKGZOb2RlczogRk5vZGVCYXNlW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoZk5vZGVzLCAoZk5vZGUpID0+IHRoaXMuX2dldE5vZGVJbnB1dElkcyhmTm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZUlucHV0SWRzKGZOb2RlOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maWx0ZXIoKHgpID0+IGZOb2RlLmZJZCA9PT0geC5mTm9kZUlkKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbWFwVG9Ob2RlRHJhZ0hhbmRsZXJzKGl0ZW1zOiBGTm9kZUJhc2VbXSk6IE5vZGVEcmFnSGFuZGxlcltdIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKCh4KSA9PiBuZXcgTm9kZURyYWdIYW5kbGVyKHgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldENvbm5lY3Rpb25zSGFuZGxlcnNUb05vZGVzKFxuICAgIGhhbmRsZXJzOiBOb2RlRHJhZ0hhbmRsZXJbXSwgb3V0cHV0SWRzOiBzdHJpbmdbXSwgaW5wdXRJZHM6IHN0cmluZ1tdXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGZDb25uZWN0aW9uSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSA9IFtdO1xuICAgIGhhbmRsZXJzLmZvckVhY2goKGZOb2RlSGFuZGxlcikgPT4ge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGZOb2RlSGFuZGxlciwgaW5wdXRJZHMsIGZDb25uZWN0aW9uSGFuZGxlcnMpKTtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0KGZOb2RlSGFuZGxlciwgb3V0cHV0SWRzLCBmQ29ubmVjdGlvbkhhbmRsZXJzKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREcmFnZ2VkTm9kZXNCb3VuZGluZ1JlY3QoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IElSZWN0IHtcbiAgICByZXR1cm4gUmVjdEV4dGVuc2lvbnMudW5pb24oZk5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCh4Lmhvc3RFbGVtZW50LCBmYWxzZSkpO1xuICAgIH0pKSB8fCBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { CalculateCommonNodeMoveLimitsRequest } from './calculate-common-node-move-limits.request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { FComponentsStore } from '../../../../../f-storage';
6
+ import * as i0 from "@angular/core";
7
+ let CalculateCommonNodeMoveLimitsExecution = class CalculateCommonNodeMoveLimitsExecution {
8
+ _fComponentsStore = inject(FComponentsStore);
9
+ get _vCellSize() {
10
+ return this._fComponentsStore.fDraggable.vCellSize;
11
+ }
12
+ get _hCellSize() {
13
+ return this._fComponentsStore.fDraggable.hCellSize;
14
+ }
15
+ handle(request) {
16
+ return this._calculateCommonLimits(request.limits);
17
+ }
18
+ _calculateCommonLimits(limits) {
19
+ this._snapLimitToGrid(limits[0]);
20
+ return limits.reduce((result, x) => {
21
+ this._snapLimitToGrid(x);
22
+ return this._clampRestrictions(result, x);
23
+ }, limits[0]);
24
+ }
25
+ _clampRestrictions(common, x) {
26
+ common.min = this._clampMinRestrictions(common.min, x.min);
27
+ common.max = this._clampMaxRestrictions(common.max, x.max);
28
+ return common;
29
+ }
30
+ _clampMinRestrictions(common, node) {
31
+ return {
32
+ x: Math.max(common.x, node.x),
33
+ y: Math.max(common.y, node.y),
34
+ };
35
+ }
36
+ _clampMaxRestrictions(common, node) {
37
+ return {
38
+ x: Math.min(common.x, node.x),
39
+ y: Math.min(common.y, node.y),
40
+ };
41
+ }
42
+ _snapLimitToGrid(restriction) {
43
+ const { min, max, position } = restriction;
44
+ restriction.min = {
45
+ x: this._snapLimitToGridMinimum(position.x + min.x, this._hCellSize) - position.x,
46
+ y: this._snapLimitToGridMinimum(position.y + min.y, this._vCellSize) - position.y,
47
+ };
48
+ restriction.max = {
49
+ x: this._snapLimitToGridMaximum(position.x + max.x, this._hCellSize) - position.x,
50
+ y: this._snapLimitToGridMaximum(position.y + max.y, this._vCellSize) - position.y,
51
+ };
52
+ }
53
+ _snapLimitToGridMinimum(value, cellSize) {
54
+ return Math.ceil(value / cellSize) * cellSize;
55
+ }
56
+ _snapLimitToGridMaximum(value, cellSize) {
57
+ return Math.floor(value / cellSize) * cellSize;
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateCommonNodeMoveLimitsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateCommonNodeMoveLimitsExecution });
61
+ };
62
+ CalculateCommonNodeMoveLimitsExecution = __decorate([
63
+ FExecutionRegister(CalculateCommonNodeMoveLimitsRequest)
64
+ ], CalculateCommonNodeMoveLimitsExecution);
65
+ export { CalculateCommonNodeMoveLimitsExecution };
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateCommonNodeMoveLimitsExecution, decorators: [{
67
+ type: Injectable
68
+ }] });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9jYWxjdWxhdGUtY29tbW9uLW5vZGUtbW92ZS1saW1pdHMvY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBTXJELElBQU0sc0NBQXNDLEdBQTVDLE1BQU0sc0NBQXNDO0lBR3pDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXJELElBQVksVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFXLENBQUMsU0FBUyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVyxDQUFDLFNBQVMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQTZDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsTUFBb0M7UUFDakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENB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Qzs7QUFBdEMsc0NBQXNDO0lBRGxELGtCQUFrQixDQUFDLG9DQUFvQyxDQUFDO0dBQzVDLHNDQUFzQyxDQWdFbEQ7OzJGQWhFWSxzQ0FBc0M7a0JBRmxELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlTGltaXRzUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb24gfSBmcm9tICcuLi8uLi9pLW5vZGUtbW92ZS1saW1pdHMtYW5kLXBvc2l0aW9uJztcbmltcG9ydCB7IElOb2RlTW92ZUxpbWl0cyB9IGZyb20gJy4uLy4uL2ktbm9kZS1tb3ZlLWxpbWl0cyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVMaW1pdHNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlTGltaXRzRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDYWxjdWxhdGVDb21tb25Ob2RlTW92ZUxpbWl0c1JlcXVlc3QsIElOb2RlTW92ZUxpbWl0cz4ge1xuXG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHJpdmF0ZSBnZXQgX3ZDZWxsU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGUhLnZDZWxsU2l6ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9oQ2VsbFNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlIS5oQ2VsbFNpemU7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbGN1bGF0ZUNvbW1vbk5vZGVNb3ZlTGltaXRzUmVxdWVzdCk6IElOb2RlTW92ZUxpbWl0cyB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGN1bGF0ZUNvbW1vbkxpbWl0cyhyZXF1ZXN0LmxpbWl0cyk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVDb21tb25MaW1pdHMobGltaXRzOiBJTm9kZU1vdmVMaW1pdHNBbmRQb3NpdGlvbltdKTogSU5vZGVNb3ZlTGltaXRzIHtcbiAgICB0aGlzLl9zbmFwTGltaXRUb0dyaWQobGltaXRzWzBdKTtcbiAgICByZXR1cm4gbGltaXRzLnJlZHVjZSgocmVzdWx0OiBJTm9kZU1vdmVMaW1pdHMsIHgpID0+IHtcbiAgICAgIHRoaXMuX3NuYXBMaW1pdFRvR3JpZCh4KTtcbiAgICAgIHJldHVybiB0aGlzLl9jbGFtcFJlc3RyaWN0aW9ucyhyZXN1bHQsIHgpO1xuICAgIH0sIGxpbWl0c1swXSk7XG4gIH1cblxuICBwcml2YXRlIF9jbGFtcFJlc3RyaWN0aW9ucyhjb21tb246IElOb2RlTW92ZUxpbWl0cywgeDogSU5vZGVNb3ZlTGltaXRzQW5kUG9zaXRpb24pOiBJTm9kZU1vdmVMaW1pdHMge1xuICAgIGNvbW1vbi5taW4gPSB0aGlzLl9jbGFtcE1pblJlc3RyaWN0aW9ucyhjb21tb24ubWluLCB4Lm1pbik7XG4gICAgY29tbW9uLm1heCA9IHRoaXMuX2NsYW1wTWF4UmVzdHJpY3Rpb25zKGNvbW1vbi5tYXgsIHgubWF4KTtcbiAgICByZXR1cm4gY29tbW9uO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xhbXBNaW5SZXN0cmljdGlvbnMoY29tbW9uOiBJUG9pbnQsIG5vZGU6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGgubWF4KGNvbW1vbi54LCBub2RlLngpLFxuICAgICAgeTogTWF0aC5tYXgoY29tbW9uLnksIG5vZGUueSksXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2xhbXBNYXhSZXN0cmljdGlvbnMoY29tbW9uOiBJUG9pbnQsIG5vZGU6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGgubWluKGNvbW1vbi54LCBub2RlLngpLFxuICAgICAgeTogTWF0aC5taW4oY29tbW9uLnksIG5vZGUueSksXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc25hcExpbWl0VG9HcmlkKHJlc3RyaWN0aW9uOiBJTm9kZU1vdmVMaW1pdHNBbmRQb3NpdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IHsgbWluLCBtYXgsIHBvc2l0aW9uIH0gPSByZXN0cmljdGlvbjtcbiAgICByZXN0cmljdGlvbi5taW4gPSB7XG4gICAgICB4OiB0aGlzLl9zbmFwTGltaXRUb0dyaWRNaW5pbXVtKHBvc2l0aW9uLnggKyBtaW4ueCwgdGhpcy5faENlbGxTaXplKSAtIHBvc2l0aW9uLngsXG4gICAgICB5OiB0aGlzLl9zbmFwTGltaXRUb0dyaWRNaW5pbXVtKHBvc2l0aW9uLnkgKyBtaW4ueSwgdGhpcy5fdkNlbGxTaXplKSAtIHBvc2l0aW9uLnksXG4gICAgfTtcbiAgICByZXN0cmljdGlvbi5tYXggPSB7XG4gICAgICB4OiB0aGlzLl9zbmFwTGltaXRUb0dyaWRNYXhpbXVtKHBvc2l0aW9uLnggKyBtYXgueCwgdGhpcy5faENlbGxTaXplKSAtIHBvc2l0aW9uLngsXG4gICAgICB5OiB0aGlzLl9zbmFwTGltaXRUb0dyaWRNYXhpbXVtKHBvc2l0aW9uLnkgKyBtYXgueSwgdGhpcy5fdkNlbGxTaXplKSAtIHBvc2l0aW9uLnksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX3NuYXBMaW1pdFRvR3JpZE1pbmltdW0odmFsdWU6IG51bWJlciwgY2VsbFNpemU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCh2YWx1ZSAvIGNlbGxTaXplKSAqIGNlbGxTaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBfc25hcExpbWl0VG9HcmlkTWF4aW11bSh2YWx1ZTogbnVtYmVyLCBjZWxsU2l6ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcih2YWx1ZSAvIGNlbGxTaXplKSAqIGNlbGxTaXplO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class CalculateCommonNodeMoveLimitsRequest {
2
+ limits;
3
+ constructor(limits) {
4
+ this.limits = limits;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9kb21haW4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzL2NhbGN1bGF0ZS1jb21tb24tbm9kZS1tb3ZlLWxpbWl0cy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxvQ0FBb0M7SUFHdEM7SUFEVCxZQUNTLE1BQW9DO1FBQXBDLFdBQU0sR0FBTixNQUFNLENBQThCO0lBRTdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElOb2RlTW92ZUxpbWl0c0FuZFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vaS1ub2RlLW1vdmUtbGltaXRzLWFuZC1wb3NpdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZUxpbWl0c1JlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsaW1pdHM6IElOb2RlTW92ZUxpbWl0c0FuZFBvc2l0aW9uW11cbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './calculate-common-node-move-limits.execution';
2
+ export * from './calculate-common-node-move-limits.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9kb21haW4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0NBQStDLENBQUM7QUFFOUQsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbW1vbi1ub2RlLW1vdmUtbGltaXRzLnJlcXVlc3QnO1xuIl19
@@ -0,0 +1,49 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { CalculateNodeMoveLimitsRequest } from './calculate-node-move-limits.request';
4
+ import { PointExtensions } from '@foblex/2d';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { GetNormalizedParentNodeRectRequest } from '../../../../domain';
7
+ import { GetNormalizedElementRectRequest } from '../../../../../domain';
8
+ import * as i0 from "@angular/core";
9
+ let CalculateNodeMoveLimitsExecution = class CalculateNodeMoveLimitsExecution {
10
+ _fMediator = inject(FMediator);
11
+ handle(request) {
12
+ if (!request.fNode.fParentId || request.hasParentNodeInSelected) {
13
+ return { ...DEFAULT_LIMITS };
14
+ }
15
+ return this._calculateDifference(this._fParentRect(request.fNode), this._fNodeRect(request.fNode));
16
+ }
17
+ _fNodeRect(fNode) {
18
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(fNode.hostElement, false));
19
+ }
20
+ _fParentRect(fNode) {
21
+ return this._fMediator.execute(new GetNormalizedParentNodeRectRequest(fNode));
22
+ }
23
+ _calculateDifference(fParentRect, fRect) {
24
+ return {
25
+ min: this._calculateMinimumDifference(fParentRect, fRect),
26
+ max: this._calculateMaximumDifference(fParentRect, fRect)
27
+ };
28
+ }
29
+ _calculateMinimumDifference(fParentRect, fRect) {
30
+ return PointExtensions.initialize(fParentRect.x - fRect.x, fParentRect.y - fRect.y);
31
+ }
32
+ _calculateMaximumDifference(fParentRect, fRect) {
33
+ return PointExtensions.initialize((fParentRect.x + fParentRect.width) - (fRect.x + fRect.width), (fParentRect.y + fParentRect.height) - (fRect.y + fRect.height));
34
+ }
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodeMoveLimitsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
36
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodeMoveLimitsExecution });
37
+ };
38
+ CalculateNodeMoveLimitsExecution = __decorate([
39
+ FExecutionRegister(CalculateNodeMoveLimitsRequest)
40
+ ], CalculateNodeMoveLimitsExecution);
41
+ export { CalculateNodeMoveLimitsExecution };
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateNodeMoveLimitsExecution, decorators: [{
43
+ type: Injectable
44
+ }] });
45
+ const DEFAULT_LIMITS = {
46
+ min: PointExtensions.initialize(-Infinity, -Infinity),
47
+ max: PointExtensions.initialize(Infinity, Infinity)
48
+ };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW5vZGUtbW92ZS1saW1pdHMuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL2NhbGN1bGF0ZS1ub2RlLW1vdmUtbGltaXRzL2NhbGN1bGF0ZS1ub2RlLW1vdmUtbGltaXRzLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEYsT0FBTyxFQUFpQixlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUtqRSxJQUFNLGdDQUFnQyxHQUF0QyxNQUFNLGdDQUFnQztJQUduQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRWhDLE1BQU0sQ0FBQyxPQUF1QztRQUNuRCxJQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDL0QsT0FBTyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FDakUsQ0FBQztJQUNKLENBQUM7SUFFTyxVQUFVLENBQUMsS0FBZ0I7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBUSxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQVEsSUFBSSxrQ0FBa0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxXQUFrQixFQUFFLEtBQVk7UUFDM0QsT0FBTztZQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztZQUN6RCxHQUFHLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUM7U0FDMUQsQ0FBQztJQUNKLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxXQUFrQixFQUFFLEtBQVk7UUFDbEUsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU8sMkJBQTJCLENBQUMsV0FBa0IsRUFBRSxLQUFZO1FBQ2xFLE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FDL0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUM3RCxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQ2hFLENBQUM7SUFDSixDQUFDO3VHQXZDVSxnQ0FBZ0M7MkdBQWhDLGdDQUFnQzs7QUFBaEMsZ0NBQWdDO0lBRDVDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDO0dBQ3RDLGdDQUFnQyxDQXdDNUM7OzJGQXhDWSxnQ0FBZ0M7a0JBRjVDLFVBQVU7O0FBNENYLE1BQU0sY0FBYyxHQUFvQjtJQUN0QyxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUNyRCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0NBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGN1bGF0ZU5vZGVNb3ZlTGltaXRzUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLW5vZGUtbW92ZS1saW1pdHMucmVxdWVzdCc7XG5pbXBvcnQgeyBJUG9pbnQsIElSZWN0LCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IElOb2RlTW92ZUxpbWl0cyB9IGZyb20gJy4uLy4uL2ktbm9kZS1tb3ZlLWxpbWl0cyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ2FsY3VsYXRlTm9kZU1vdmVMaW1pdHNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZU5vZGVNb3ZlTGltaXRzRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c1JlcXVlc3QsIElOb2RlTW92ZUxpbWl0cz4ge1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ2FsY3VsYXRlTm9kZU1vdmVMaW1pdHNSZXF1ZXN0KTogSU5vZGVNb3ZlTGltaXRzIHtcbiAgICBpZighcmVxdWVzdC5mTm9kZS5mUGFyZW50SWQgfHwgcmVxdWVzdC5oYXNQYXJlbnROb2RlSW5TZWxlY3RlZCkge1xuICAgICAgcmV0dXJuIHsgLi4uREVGQVVMVF9MSU1JVFMgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fY2FsY3VsYXRlRGlmZmVyZW5jZShcbiAgICAgIHRoaXMuX2ZQYXJlbnRSZWN0KHJlcXVlc3QuZk5vZGUpLCB0aGlzLl9mTm9kZVJlY3QocmVxdWVzdC5mTm9kZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZk5vZGVSZWN0KGZOb2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdChmTm9kZS5ob3N0RWxlbWVudCwgZmFsc2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZQYXJlbnRSZWN0KGZOb2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdChmTm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlRGlmZmVyZW5jZShmUGFyZW50UmVjdDogSVJlY3QsIGZSZWN0OiBJUmVjdCk6IElOb2RlTW92ZUxpbWl0cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1pbjogdGhpcy5fY2FsY3VsYXRlTWluaW11bURpZmZlcmVuY2UoZlBhcmVudFJlY3QsIGZSZWN0KSxcbiAgICAgIG1heDogdGhpcy5fY2FsY3VsYXRlTWF4aW11bURpZmZlcmVuY2UoZlBhcmVudFJlY3QsIGZSZWN0KVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVNaW5pbXVtRGlmZmVyZW5jZShmUGFyZW50UmVjdDogSVJlY3QsIGZSZWN0OiBJUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKGZQYXJlbnRSZWN0LnggLSBmUmVjdC54LCBmUGFyZW50UmVjdC55IC0gZlJlY3QueSk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVNYXhpbXVtRGlmZmVyZW5jZShmUGFyZW50UmVjdDogSVJlY3QsIGZSZWN0OiBJUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgKGZQYXJlbnRSZWN0LnggKyBmUGFyZW50UmVjdC53aWR0aCkgLSAoZlJlY3QueCArIGZSZWN0LndpZHRoKSxcbiAgICAgIChmUGFyZW50UmVjdC55ICsgZlBhcmVudFJlY3QuaGVpZ2h0KSAtIChmUmVjdC55ICsgZlJlY3QuaGVpZ2h0KSxcbiAgICApO1xuICB9XG59XG5cbmNvbnN0IERFRkFVTFRfTElNSVRTOiBJTm9kZU1vdmVMaW1pdHMgPSB7XG4gIG1pbjogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoLUluZmluaXR5LCAtSW5maW5pdHkpLFxuICBtYXg6IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKEluZmluaXR5LCBJbmZpbml0eSlcbn07XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export class CalculateNodeMoveLimitsRequest {
2
+ fNode;
3
+ hasParentNodeInSelected;
4
+ constructor(fNode, hasParentNodeInSelected) {
5
+ this.fNode = fNode;
6
+ this.hasParentNodeInSelected = hasParentNodeInSelected;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW5vZGUtbW92ZS1saW1pdHMucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9jYWxjdWxhdGUtbm9kZS1tb3ZlLWxpbWl0cy9jYWxjdWxhdGUtbm9kZS1tb3ZlLWxpbWl0cy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyw4QkFBOEI7SUFHaEM7SUFDQTtJQUZULFlBQ1MsS0FBZ0IsRUFDaEIsdUJBQWdDO1FBRGhDLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFTO0lBRXpDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c1JlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmTm9kZTogRk5vZGVCYXNlLFxuICAgIHB1YmxpYyBoYXNQYXJlbnROb2RlSW5TZWxlY3RlZDogYm9vbGVhblxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './calculate-node-move-limits.execution';
2
+ export * from './calculate-node-move-limits.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9kb21haW4vY2FsY3VsYXRlLW5vZGUtbW92ZS1saW1pdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtbm9kZS1tb3ZlLWxpbWl0cy5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1ub2RlLW1vdmUtbGltaXRzLnJlcXVlc3QnO1xuIl19
@@ -2,58 +2,50 @@ import { __decorate } from "tslib";
2
2
  import { inject, Injectable } from '@angular/core';
3
3
  import { PutInputConnectionHandlersToArrayRequest } from './put-input-connection-handlers-to-array.request';
4
4
  import { FComponentsStore } from '../../../../../f-storage';
5
- import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
- import { ConnectionDragHandler } from '../../../connection.drag-handler';
7
- import { ConnectionTargetDragHandler } from '../../../connection-target.drag-handler';
5
+ import { FExecutionRegister } from '@foblex/mediator';
6
+ import { SourceTargetConnectionDragHandler } from '../../../connection-drag-handlers/source-target-connection.drag-handler';
7
+ import { TargetConnectionDragHandler } from '../../../connection-drag-handlers/target-connection.drag-handler';
8
8
  import * as i0 from "@angular/core";
9
9
  let PutInputConnectionHandlersToArrayExecution = class PutInputConnectionHandlersToArrayExecution {
10
- _fMediator = inject(FMediator);
11
10
  _fComponentsStore = inject(FComponentsStore);
12
11
  get _fConnections() {
13
12
  return this._fComponentsStore.fConnections;
14
13
  }
15
14
  handle(request) {
16
- this.getInputConnections(request.nodeDragHandler.fNode).forEach((connection) => {
17
- const index = this.getExistingConnectionHandlerIndex(request.result, connection);
18
- if (index !== -1) {
19
- this.updateExistingConnectionHandler(request.result, index, request.nodeDragHandler);
20
- }
21
- else {
22
- request.result.push(this.createNewConnectionHandler(request.nodeDragHandler, request.outputIds, connection));
23
- }
15
+ this._getInputConnections(request.fDragHandler.fNode).forEach((fConnection) => {
16
+ this._createAndSetConnectionToNodeHandler(fConnection, request);
24
17
  });
25
18
  }
26
- getInputConnections(node) {
27
- const inputIds = new Set(this.getInputsForNode(node).map((x) => x.fId));
28
- return this._fConnections.filter((x) => inputIds.has(x.fInputId));
19
+ _getInputConnections(fNode) {
20
+ const ids = new Set(this._getNodeInputIds(fNode));
21
+ return this._fConnections.filter((x) => ids.has(x.fInputId));
29
22
  }
30
- getInputsForNode(node) {
31
- return this._fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
23
+ _getNodeInputIds(fNode) {
24
+ return this._fComponentsStore.fInputs
25
+ .filter((x) => fNode.isContains(x.hostElement))
26
+ .map((x) => x.fId);
32
27
  }
33
- getExistingConnectionHandlerIndex(result, connection) {
34
- return result.findIndex((x) => x instanceof ConnectionDragHandler && x.connection.fId === connection.fId);
28
+ _createAndSetConnectionToNodeHandler(fConnection, request) {
29
+ let fHandler = this._getExistingConnectionHandler(request.result, fConnection);
30
+ if (!fHandler) {
31
+ fHandler = this._createConnectionHandler(request.outputIds, fConnection);
32
+ request.result.push(fHandler);
33
+ }
34
+ request.fDragHandler.fTargetHandlers.push(fHandler);
35
+ }
36
+ _getExistingConnectionHandler(fHandlers, fConnection) {
37
+ return fHandlers.find((x) => x.fConnection.fId === fConnection.fId);
35
38
  }
36
- createNewConnectionHandler(nodeDragHandler, outputIds, connection) {
39
+ _createConnectionHandler(outputIds, fConnection) {
37
40
  let result;
38
- if (outputIds.includes(connection.fOutputId)) {
39
- result = this.getNewConnectionHandler(connection, nodeDragHandler);
41
+ if (outputIds.includes(fConnection.fOutputId)) {
42
+ result = new SourceTargetConnectionDragHandler(fConnection);
40
43
  }
41
44
  else {
42
- result = this.getNewSourceConnectionHandler(connection, nodeDragHandler);
45
+ result = new TargetConnectionDragHandler(fConnection);
43
46
  }
44
47
  return result;
45
48
  }
46
- getNewConnectionHandler(connection, nodeDragHandler) {
47
- const handler = new ConnectionDragHandler(this._fMediator, this._fComponentsStore, connection);
48
- handler.setInputRestrictions(nodeDragHandler.restrictions);
49
- return handler;
50
- }
51
- updateExistingConnectionHandler(result, index, nodeDragHandler) {
52
- result[index].setInputRestrictions(nodeDragHandler.restrictions);
53
- }
54
- getNewSourceConnectionHandler(connection, nodeDragHandler) {
55
- return new ConnectionTargetDragHandler(this._fMediator, this._fComponentsStore, connection, nodeDragHandler.restrictions);
56
- }
57
49
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
58
50
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution });
59
51
  };
@@ -64,4 +56,4 @@ export { PutInputConnectionHandlersToArrayExecution };
64
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PutInputConnectionHandlersToArrayExecution, decorators: [{
65
57
  type: Injectable
66
58
  }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5L3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBSTdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUkvRSxJQUFNLDBDQUEwQyxHQUFoRCxNQUFNLDBDQUEwQztJQUc3QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXJELElBQVksYUFBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFpRDtRQUM3RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENB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RSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUgsQ0FBQzt1R0ExRFUsMENBQTBDOzJHQUExQywwQ0FBMEM7O0FBQTFDLDBDQUEwQztJQUR0RCxrQkFBa0IsQ0FBQyx3Q0FBd0MsQ0FBQztHQUNoRCwwQ0FBMEMsQ0EyRHREOzsyRkEzRFksMENBQTBDO2tCQUZ0RCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlSZXF1ZXN0IH0gZnJvbSAnLi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS5yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9ub2RlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IENvbm5lY3Rpb25UYXJnZXREcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfZkNvbm5lY3Rpb25zKCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmdldElucHV0Q29ubmVjdGlvbnMocmVxdWVzdC5ub2RlRHJhZ0hhbmRsZXIuZk5vZGUpLmZvckVhY2goKGNvbm5lY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRFeGlzdGluZ0Nvbm5lY3Rpb25IYW5kbGVySW5kZXgocmVxdWVzdC5yZXN1bHQsIGNvbm5lY3Rpb24pO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5yZXN1bHQsIGluZGV4LCByZXF1ZXN0Lm5vZGVEcmFnSGFuZGxlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1ZXN0LnJlc3VsdC5wdXNoKHRoaXMuY3JlYXRlTmV3Q29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5ub2RlRHJhZ0hhbmRsZXIsIHJlcXVlc3Qub3V0cHV0SWRzLCBjb25uZWN0aW9uKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5wdXRDb25uZWN0aW9ucyhub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaW5wdXRJZHMgPSBuZXcgU2V0KHRoaXMuZ2V0SW5wdXRzRm9yTm9kZShub2RlKS5tYXAoKHgpID0+IHguZklkKSk7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IGlucHV0SWRzLmhhcyh4LmZJbnB1dElkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXJJbmRleChyZXN1bHQ6IElEcmFnZ2FibGVJdGVtW10sIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHJlc3VsdC5maW5kSW5kZXgoXG4gICAgICAoeCkgPT4geCBpbnN0YW5jZW9mIENvbm5lY3Rpb25EcmFnSGFuZGxlciAmJiB4LmNvbm5lY3Rpb24uZklkID09PSBjb25uZWN0aW9uLmZJZFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5ld0Nvbm5lY3Rpb25IYW5kbGVyKG5vZGVEcmFnSGFuZGxlcjogTm9kZURyYWdIYW5kbGVyLCBvdXRwdXRJZHM6IHN0cmluZ1tdLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBJRHJhZ2dhYmxlSXRlbSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW0gfCB1bmRlZmluZWQ7XG4gICAgaWYgKG91dHB1dElkcy5pbmNsdWRlcyhjb25uZWN0aW9uLmZPdXRwdXRJZCkpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0TmV3Q29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbiwgbm9kZURyYWdIYW5kbGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gdGhpcy5nZXROZXdTb3VyY2VDb25uZWN0aW9uSGFuZGxlcihjb25uZWN0aW9uLCBub2RlRHJhZ0hhbmRsZXIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdDb25uZWN0aW9uSGFuZGxlcihjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsIG5vZGVEcmFnSGFuZGxlcjogTm9kZURyYWdIYW5kbGVyKTogQ29ubmVjdGlvbkRyYWdIYW5kbGVyIHtcbiAgICBjb25zdCBoYW5kbGVyID0gbmV3IENvbm5lY3Rpb25EcmFnSGFuZGxlcih0aGlzLl9mTWVkaWF0b3IsIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUsIGNvbm5lY3Rpb24pO1xuICAgIGhhbmRsZXIuc2V0SW5wdXRSZXN0cmljdGlvbnMobm9kZURyYWdIYW5kbGVyLnJlc3RyaWN0aW9ucyk7XG4gICAgcmV0dXJuIGhhbmRsZXI7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVzdWx0OiBJRHJhZ2dhYmxlSXRlbVtdLCBpbmRleDogbnVtYmVyLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IHZvaWQge1xuICAgIChyZXN1bHRbIGluZGV4IF0gYXMgQ29ubmVjdGlvbkRyYWdIYW5kbGVyKS5zZXRJbnB1dFJlc3RyaWN0aW9ucyhub2RlRHJhZ0hhbmRsZXIucmVzdHJpY3Rpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3U291cmNlQ29ubmVjdGlvbkhhbmRsZXIoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLCBub2RlRHJhZ0hhbmRsZXI6IE5vZGVEcmFnSGFuZGxlcik6IENvbm5lY3Rpb25UYXJnZXREcmFnSGFuZGxlciB7XG4gICAgcmV0dXJuIG5ldyBDb25uZWN0aW9uVGFyZ2V0RHJhZ0hhbmRsZXIodGhpcy5fZk1lZGlhdG9yLCB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLCBjb25uZWN0aW9uLCBub2RlRHJhZ0hhbmRsZXIucmVzdHJpY3Rpb25zKTtcbiAgfVxufVxuXG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5L3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5LmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFJbEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDNUgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7O0FBSXhHLElBQU0sMENBQTBDLEdBQWhELE1BQU0sMENBQTBDO0lBRzdDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXJELElBQVksYUFBYTtRQUN2QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7SUFDN0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFpRDtRQUM3RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUM1RSxJQUFJLENBQUMsb0NBQW9DLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBQWdCO1FBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU87YUFDbEMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM5QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sb0NBQW9DLENBQUMsV0FBNEIsRUFBRSxPQUFpRDtRQUMxSCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sNkJBQTZCLENBQUMsU0FBc0MsRUFBRSxXQUE0QjtRQUN4RyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU8sd0JBQXdCLENBQUMsU0FBbUIsRUFBRSxXQUE0QjtRQUNoRixJQUFJLE1BQTZDLENBQUM7UUFDbEQsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzlDLE1BQU0sR0FBRyxJQUFJLGlDQUFpQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLElBQUksMkJBQTJCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7dUdBL0NVLDBDQUEwQzsyR0FBMUMsMENBQTBDOztBQUExQywwQ0FBMEM7SUFEdEQsa0JBQWtCLENBQUMsd0NBQXdDLENBQUM7R0FDaEQsMENBQTBDLENBZ0R0RDs7MkZBaERZLDBDQUEwQztrQkFGdEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCB9IGZyb20gJy4vcHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkucmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL3NvdXJjZS10YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL3RhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mQ29tcG9uZW50c1N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF9mQ29ubmVjdGlvbnMoKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldElucHV0Q29ubmVjdGlvbnMocmVxdWVzdC5mRHJhZ0hhbmRsZXIuZk5vZGUpLmZvckVhY2goKGZDb25uZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLl9jcmVhdGVBbmRTZXRDb25uZWN0aW9uVG9Ob2RlSGFuZGxlcihmQ29ubmVjdGlvbiwgcmVxdWVzdCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJbnB1dENvbm5lY3Rpb25zKGZOb2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldCh0aGlzLl9nZXROb2RlSW5wdXRJZHMoZk5vZGUpKTtcbiAgICByZXR1cm4gdGhpcy5fZkNvbm5lY3Rpb25zLmZpbHRlcigoeCkgPT4gaWRzLmhhcyh4LmZJbnB1dElkKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlSW5wdXRJZHMoZk5vZGU6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzXG4gICAgICAuZmlsdGVyKCh4KSA9PiBmTm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKVxuICAgICAgLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQW5kU2V0Q29ubmVjdGlvblRvTm9kZUhhbmRsZXIoZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSwgcmVxdWVzdDogUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCk6IHZvaWQge1xuICAgIGxldCBmSGFuZGxlciA9IHRoaXMuX2dldEV4aXN0aW5nQ29ubmVjdGlvbkhhbmRsZXIocmVxdWVzdC5yZXN1bHQsIGZDb25uZWN0aW9uKTtcbiAgICBpZiAoIWZIYW5kbGVyKSB7XG4gICAgICBmSGFuZGxlciA9IHRoaXMuX2NyZWF0ZUNvbm5lY3Rpb25IYW5kbGVyKHJlcXVlc3Qub3V0cHV0SWRzLCBmQ29ubmVjdGlvbik7XG4gICAgICByZXF1ZXN0LnJlc3VsdC5wdXNoKGZIYW5kbGVyKTtcbiAgICB9XG4gICAgcmVxdWVzdC5mRHJhZ0hhbmRsZXIuZlRhcmdldEhhbmRsZXJzLnB1c2goZkhhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXhpc3RpbmdDb25uZWN0aW9uSGFuZGxlcihmSGFuZGxlcnM6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXSwgZkNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmSGFuZGxlcnMuZmluZCgoeCkgPT4geC5mQ29ubmVjdGlvbi5mSWQgPT09IGZDb25uZWN0aW9uLmZJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDb25uZWN0aW9uSGFuZGxlcihvdXRwdXRJZHM6IHN0cmluZ1tdLCBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKTogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG4gICAgbGV0IHJlc3VsdDogQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB8IHVuZGVmaW5lZDtcbiAgICBpZiAob3V0cHV0SWRzLmluY2x1ZGVzKGZDb25uZWN0aW9uLmZPdXRwdXRJZCkpIHtcbiAgICAgIHJlc3VsdCA9IG5ldyBTb3VyY2VUYXJnZXRDb25uZWN0aW9uRHJhZ0hhbmRsZXIoZkNvbm5lY3Rpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBuZXcgVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyKGZDb25uZWN0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuXG4iXX0=
@@ -1,11 +1,11 @@
1
1
  export class PutInputConnectionHandlersToArrayRequest {
2
- nodeDragHandler;
2
+ fDragHandler;
3
3
  outputIds;
4
4
  result;
5
- constructor(nodeDragHandler, outputIds, result) {
6
- this.nodeDragHandler = nodeDragHandler;
5
+ constructor(fDragHandler, outputIds, result) {
6
+ this.fDragHandler = fDragHandler;
7
7
  this.outputIds = outputIds;
8
8
  this.result = result;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyx3Q0FBd0M7SUFHMUM7SUFDQTtJQUNBO0lBSFQsWUFDUyxlQUFnQyxFQUNoQyxTQUFtQixFQUNuQixNQUF3QjtRQUZ4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUVqQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9ub2RlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuXG5leHBvcnQgY2xhc3MgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG5vZGVEcmFnSGFuZGxlcjogTm9kZURyYWdIYW5kbGVyLFxuICAgIHB1YmxpYyBvdXRwdXRJZHM6IHN0cmluZ1tdLFxuICAgIHB1YmxpYyByZXN1bHQ6IElEcmFnZ2FibGVJdGVtW11cbiAgKSB7XG4gIH1cbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWlucHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXkucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheS5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyx3Q0FBd0M7SUFHMUM7SUFDQTtJQUNBO0lBSFQsWUFDUyxZQUE2QixFQUM3QixTQUFtQixFQUNuQixNQUFtQztRQUZuQyxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUE2QjtJQUU1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9ub2RlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgY2xhc3MgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZEcmFnSGFuZGxlcjogTm9kZURyYWdIYW5kbGVyLFxuICAgIHB1YmxpYyBvdXRwdXRJZHM6IHN0cmluZ1tdLFxuICAgIHB1YmxpYyByZXN1bHQ6IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXJbXVxuICApIHtcbiAgfVxufVxuIl19