@foblex/flow 17.1.0 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (506) hide show
  1. package/domain/css-cls.d.ts +13 -0
  2. package/domain/f-background/providers.d.ts +1 -1
  3. package/domain/f-canvas/providers.d.ts +1 -1
  4. package/domain/f-connection/index.d.ts +0 -3
  5. package/domain/f-connection/providers.d.ts +1 -4
  6. package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +2 -2
  7. package/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.d.ts +11 -0
  8. package/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.d.ts +7 -0
  9. package/domain/f-connectors/calculate-closest-input/index.d.ts +2 -0
  10. package/domain/f-connectors/find-input-at-position/find-input-at-position.execution.d.ts +24 -0
  11. package/domain/f-connectors/find-input-at-position/find-input-at-position.request.d.ts +8 -0
  12. package/domain/f-connectors/find-input-at-position/index.d.ts +2 -0
  13. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +14 -0
  14. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +5 -0
  15. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.d.ts +2 -0
  16. package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.d.ts +5 -0
  17. package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.d.ts +11 -0
  18. package/domain/f-connectors/get-connector-and-rect/index.d.ts +2 -0
  19. package/domain/{f-connection/find-closest-input → f-connectors}/i-closest-input.d.ts +1 -1
  20. package/domain/{f-connection/get-connector-with-rect/i-connector-with-rect.d.ts → f-connectors/i-connector-and-rect.d.ts} +2 -2
  21. package/domain/f-connectors/index.d.ts +8 -0
  22. package/domain/f-connectors/mark-all-can-be-connected-inputs/index.d.ts +2 -0
  23. package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.d.ts +10 -0
  24. package/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.d.ts +5 -0
  25. package/domain/f-connectors/providers.d.ts +7 -1
  26. package/domain/f-connectors/unmark-all-can-be-connected-inputs/index.d.ts +2 -0
  27. package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.d.ts +10 -0
  28. package/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.d.ts +5 -0
  29. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
  30. package/domain/f-draggable/providers.d.ts +1 -1
  31. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -0
  32. package/domain/f-event-trigger.d.ts +4 -0
  33. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  34. package/domain/f-flow/providers.d.ts +1 -1
  35. package/domain/f-node/providers.d.ts +1 -1
  36. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.d.ts +2 -0
  37. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
  38. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
  39. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
  40. package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
  41. package/domain/f-selection/providers.d.ts +1 -1
  42. package/domain/f-selection/select/select.execution.d.ts +2 -5
  43. package/domain/f-selection/select-all/select-all.execution.d.ts +2 -5
  44. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.d.ts +5 -0
  45. package/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.d.ts +9 -0
  46. package/domain/f-zoom/add-zoom-to-store/index.d.ts +2 -0
  47. package/domain/f-zoom/f-zoom-tag.d.ts +1 -0
  48. package/domain/f-zoom/index.d.ts +6 -0
  49. package/domain/f-zoom/providers.d.ts +5 -0
  50. package/domain/f-zoom/remove-zoom-from-store/index.d.ts +2 -0
  51. package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store-request.d.ts +2 -0
  52. package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.d.ts +9 -0
  53. package/domain/f-zoom/reset-zoom/index.d.ts +2 -0
  54. package/domain/f-zoom/reset-zoom/reset-zoom-request.d.ts +2 -0
  55. package/domain/f-zoom/reset-zoom/reset-zoom.execution.d.ts +10 -0
  56. package/domain/f-zoom/set-zoom/index.d.ts +2 -0
  57. package/domain/f-zoom/set-zoom/set-zoom-request.d.ts +8 -0
  58. package/domain/f-zoom/set-zoom/set-zoom.execution.d.ts +16 -0
  59. package/domain/i-f-action-trigger.d.ts +14 -0
  60. package/domain/index.d.ts +5 -0
  61. package/domain/log-deprecated.d.ts +1 -0
  62. package/domain/providers.d.ts +1 -1
  63. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
  64. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  65. package/esm2022/domain/css-cls.mjs +14 -0
  66. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  67. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
  68. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
  69. package/esm2022/domain/f-connection/index.mjs +1 -4
  70. package/esm2022/domain/f-connection/providers.mjs +1 -7
  71. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +11 -11
  72. package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.execution.mjs +42 -0
  73. package/esm2022/domain/f-connectors/calculate-closest-input/calculate-closest-input.request.mjs +9 -0
  74. package/esm2022/domain/f-connectors/calculate-closest-input/index.mjs +3 -0
  75. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +89 -0
  76. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.request.mjs +11 -0
  77. package/esm2022/domain/f-connectors/find-input-at-position/index.mjs +3 -0
  78. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +45 -0
  79. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +7 -0
  80. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.mjs +3 -0
  81. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.mjs +7 -0
  82. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +28 -0
  83. package/esm2022/domain/f-connectors/get-connector-and-rect/index.mjs +3 -0
  84. package/esm2022/domain/f-connectors/i-closest-input.mjs +2 -0
  85. package/esm2022/domain/f-connectors/i-connector-and-rect.mjs +2 -0
  86. package/esm2022/domain/f-connectors/index.mjs +9 -1
  87. package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/index.mjs +3 -0
  88. package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.execution.mjs +27 -0
  89. package/esm2022/domain/f-connectors/mark-all-can-be-connected-inputs/mark-all-can-be-connected-inputs.request.mjs +7 -0
  90. package/esm2022/domain/f-connectors/providers.mjs +14 -2
  91. package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/index.mjs +3 -0
  92. package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.execution.mjs +27 -0
  93. package/esm2022/domain/f-connectors/unmark-all-can-be-connected-inputs/unmark-all-can-be-connected-inputs.request.mjs +7 -0
  94. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +3 -3
  95. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +7 -2
  96. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
  97. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +8 -3
  98. package/esm2022/domain/f-event-trigger.mjs +7 -0
  99. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
  100. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +40 -6
  101. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
  102. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
  103. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
  104. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
  105. package/esm2022/domain/f-selection/select/select.execution.mjs +18 -22
  106. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +18 -22
  107. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
  108. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +7 -0
  109. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +25 -0
  110. package/esm2022/domain/f-zoom/add-zoom-to-store/index.mjs +3 -0
  111. package/esm2022/domain/f-zoom/f-zoom-tag.mjs +2 -0
  112. package/esm2022/domain/f-zoom/index.mjs +7 -0
  113. package/esm2022/domain/f-zoom/providers.mjs +11 -0
  114. package/esm2022/domain/f-zoom/remove-zoom-from-store/index.mjs +3 -0
  115. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store-request.mjs +3 -0
  116. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +25 -0
  117. package/esm2022/domain/f-zoom/reset-zoom/index.mjs +3 -0
  118. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom-request.mjs +3 -0
  119. package/esm2022/domain/f-zoom/reset-zoom/reset-zoom.execution.mjs +27 -0
  120. package/esm2022/domain/f-zoom/set-zoom/index.mjs +3 -0
  121. package/esm2022/domain/f-zoom/set-zoom/set-zoom-request.mjs +13 -0
  122. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +50 -0
  123. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  124. package/esm2022/domain/i-f-action-trigger.mjs +11 -0
  125. package/esm2022/domain/index.mjs +6 -1
  126. package/esm2022/domain/log-deprecated.mjs +11 -0
  127. package/esm2022/domain/providers.mjs +3 -1
  128. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
  129. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
  130. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
  131. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
  132. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
  133. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  134. package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +1 -1
  135. package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
  136. package/esm2022/f-canvas/f-canvas.component.mjs +37 -14
  137. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  138. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
  139. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
  140. package/esm2022/f-connection/f-connection/f-connection.component.mjs +10 -8
  141. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +10 -8
  142. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  143. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +12 -9
  144. package/esm2022/f-connectors/f-connector-base.mjs +9 -5
  145. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +25 -25
  146. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
  147. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +18 -19
  148. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
  149. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +30 -26
  150. package/esm2022/f-connectors/index.mjs +1 -2
  151. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +8 -11
  152. package/esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs +1 -2
  153. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +36 -19
  154. package/esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs +1 -3
  155. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +8 -8
  156. package/esm2022/f-draggable/canvas/providers.mjs +5 -5
  157. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +14 -11
  158. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +40 -0
  159. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +9 -0
  160. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +3 -0
  161. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +36 -38
  162. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +4 -2
  163. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +32 -24
  164. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +4 -2
  165. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +1 -2
  166. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +8 -12
  167. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +4 -2
  168. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +2 -2
  169. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +56 -51
  170. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +27 -24
  171. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +4 -4
  172. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +1 -2
  173. package/esm2022/f-draggable/connections/i-create-reassign-connection-drag-data.mjs +2 -0
  174. package/esm2022/f-draggable/connections/index.mjs +2 -2
  175. package/esm2022/f-draggable/connections/providers.mjs +3 -8
  176. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +9 -5
  177. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +2 -2
  178. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +4 -2
  179. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +71 -53
  180. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
  181. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  182. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  183. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  184. package/esm2022/f-draggable/f-draggable.directive.mjs +55 -24
  185. package/esm2022/f-draggable/f-injector.mjs +19 -0
  186. package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
  187. package/esm2022/f-draggable/index.mjs +2 -1
  188. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  189. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
  190. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  191. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  192. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  193. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
  194. 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
  195. 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
  196. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  197. 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
  198. 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
  199. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  200. 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
  201. 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
  202. 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
  203. 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
  204. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  205. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  206. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
  207. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
  208. package/esm2022/f-draggable/node/index.mjs +4 -6
  209. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
  210. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
  211. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +5 -4
  212. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
  213. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
  214. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
  215. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
  216. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
  217. package/esm2022/f-draggable/node/node.drag-handler.mjs +12 -29
  218. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
  219. package/esm2022/f-draggable/node/providers.mjs +3 -3
  220. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +36 -0
  221. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
  222. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  223. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
  224. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  225. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
  226. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
  227. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
  228. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
  229. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +47 -34
  230. package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
  231. package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
  232. package/esm2022/f-draggable/single-select/single-select.execution.mjs +101 -70
  233. package/esm2022/f-draggable/single-select/single-select.request.mjs +4 -2
  234. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
  235. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +27 -27
  236. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +1 -2
  237. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +1 -3
  238. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +9 -8
  239. package/esm2022/f-flow/f-flow.component.mjs +15 -15
  240. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -2
  241. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  242. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
  243. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
  244. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
  245. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
  246. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
  247. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
  248. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  249. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
  250. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  251. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  252. package/esm2022/f-node/f-group.directive.mjs +24 -16
  253. package/esm2022/f-node/f-node-base.mjs +1 -1
  254. package/esm2022/f-node/f-node.directive.mjs +25 -17
  255. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
  256. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  257. package/esm2022/f-selection-area/domain/providers.mjs +5 -5
  258. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
  259. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
  260. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
  261. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
  262. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
  263. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +32 -29
  264. package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
  265. package/esm2022/f-storage/f-components-store.mjs +2 -1
  266. package/esm2022/f-zoom/e-f-zoom-action.mjs +6 -0
  267. package/esm2022/f-zoom/e-f-zoom-direction.mjs +6 -0
  268. package/esm2022/f-zoom/f-zoom-base.mjs +2 -98
  269. package/esm2022/f-zoom/f-zoom.directive.mjs +139 -21
  270. package/esm2022/f-zoom/index.mjs +3 -1
  271. package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
  272. package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
  273. package/esm2022/mixins/change-selection/index.mjs +2 -2
  274. package/f-backgroud/providers.d.ts +1 -1
  275. package/f-canvas/f-canvas-base.d.ts +2 -2
  276. package/f-canvas/f-canvas.component.d.ts +9 -0
  277. package/f-connection/common/f-connection-base.d.ts +5 -5
  278. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
  279. package/f-connection/f-connection/f-connection.component.d.ts +2 -0
  280. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -0
  281. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +3 -0
  282. package/f-connection/providers.d.ts +1 -1
  283. package/f-connectors/f-connector-base.d.ts +4 -2
  284. package/f-connectors/f-node-input/f-node-input.directive.d.ts +6 -6
  285. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
  286. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +6 -6
  287. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  288. package/f-connectors/f-node-output/f-node-output.directive.d.ts +8 -7
  289. package/f-connectors/index.d.ts +0 -1
  290. package/f-connectors/providers.d.ts +1 -1
  291. package/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.d.ts +1 -3
  292. package/f-draggable/canvas/canvas-move-finalize/index.d.ts +0 -1
  293. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.d.ts +7 -6
  294. package/f-draggable/canvas/canvas-move-preparation/index.d.ts +0 -2
  295. package/f-draggable/canvas/canvas.drag-handler.d.ts +2 -2
  296. package/f-draggable/canvas/providers.d.ts +3 -1
  297. package/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.d.ts +3 -2
  298. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +12 -0
  299. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.d.ts +7 -0
  300. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +2 -0
  301. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +6 -6
  302. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +3 -1
  303. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +6 -6
  304. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +3 -1
  305. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -1
  306. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +1 -2
  307. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +3 -1
  308. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +1 -1
  309. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +14 -17
  310. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +7 -7
  311. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +2 -2
  312. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -1
  313. package/f-draggable/connections/i-create-reassign-connection-drag-data.d.ts +7 -0
  314. package/f-draggable/connections/index.d.ts +1 -1
  315. package/f-draggable/connections/providers.d.ts +2 -3
  316. package/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.d.ts +1 -0
  317. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +3 -1
  318. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +17 -17
  319. package/f-draggable/f-draggable-base.d.ts +4 -1
  320. package/f-draggable/f-draggable-data-context.d.ts +2 -2
  321. package/f-draggable/f-draggable.directive.d.ts +16 -3
  322. package/f-draggable/f-injector.d.ts +8 -0
  323. package/f-draggable/i-draggable-item.d.ts +2 -1
  324. package/f-draggable/index.d.ts +1 -0
  325. package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
  326. package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
  327. package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
  328. package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
  329. package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
  330. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
  331. 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
  332. 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
  333. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
  334. 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
  335. 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
  336. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
  337. 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
  338. 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
  339. 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
  340. 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
  341. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
  342. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
  343. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
  344. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
  345. package/f-draggable/node/index.d.ts +3 -5
  346. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
  347. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
  348. package/f-draggable/node/line-alignment.drag-handler.d.ts +2 -3
  349. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  350. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
  351. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  352. package/f-draggable/node/node.drag-handler.d.ts +6 -9
  353. package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
  354. package/f-draggable/node/providers.d.ts +2 -1
  355. package/f-draggable/node/summary-node.drag-handler.d.ts +14 -0
  356. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
  357. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
  358. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
  359. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
  360. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  361. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
  362. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +16 -12
  363. package/f-draggable/node-resize/providers.d.ts +2 -1
  364. package/f-draggable/node-resize/resize-direction.d.ts +16 -0
  365. package/f-draggable/providers.d.ts +1 -1
  366. package/f-draggable/single-select/single-select.execution.d.ts +54 -20
  367. package/f-draggable/single-select/single-select.request.d.ts +3 -1
  368. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +7 -11
  369. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -1
  370. package/f-external-item/domain/external-item-preparation/providers.d.ts +1 -2
  371. package/f-external-item/domain/external-item.drag-handler.d.ts +2 -3
  372. package/f-external-item/domain/providers.d.ts +1 -1
  373. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
  374. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
  375. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
  376. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
  377. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
  378. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
  379. package/f-minimap/domain/providers.d.ts +1 -1
  380. package/f-minimap/providers.d.ts +1 -1
  381. package/f-node/f-group.directive.d.ts +4 -0
  382. package/f-node/f-node-base.d.ts +3 -3
  383. package/f-node/f-node.directive.d.ts +4 -0
  384. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
  385. package/f-node/providers.d.ts +1 -1
  386. package/f-selection-area/domain/providers.d.ts +3 -1
  387. package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
  388. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
  389. package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
  390. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
  391. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
  392. package/f-selection-area/domain/selection-area.drag-handle.d.ts +7 -6
  393. package/f-selection-area/f-selection-area.component.d.ts +3 -1
  394. package/f-storage/f-components-store.d.ts +2 -0
  395. package/f-zoom/e-f-zoom-action.d.ts +4 -0
  396. package/f-zoom/e-f-zoom-direction.d.ts +4 -0
  397. package/f-zoom/f-zoom-base.d.ts +0 -17
  398. package/f-zoom/f-zoom.directive.d.ts +40 -5
  399. package/f-zoom/index.d.ts +2 -0
  400. package/fesm2022/foblex-flow.mjs +2232 -1991
  401. package/fesm2022/foblex-flow.mjs.map +1 -1
  402. package/mixins/change-selection/change-selection.d.ts +2 -2
  403. package/mixins/change-selection/i-selectable.d.ts +10 -0
  404. package/mixins/change-selection/index.d.ts +1 -1
  405. package/package.json +2 -2
  406. package/domain/f-connection/find-closest-input/find-closest-input.execution.d.ts +0 -11
  407. package/domain/f-connection/find-closest-input/find-closest-input.request.d.ts +0 -7
  408. package/domain/f-connection/find-closest-input/index.d.ts +0 -3
  409. package/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.d.ts +0 -21
  410. package/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.d.ts +0 -4
  411. package/domain/f-connection/get-all-can-be-connected-input-positions/index.d.ts +0 -2
  412. package/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.d.ts +0 -5
  413. package/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.d.ts +0 -10
  414. package/domain/f-connection/get-connector-with-rect/index.d.ts +0 -3
  415. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
  416. package/esm2022/domain/f-connection/find-closest-input/find-closest-input.execution.mjs +0 -42
  417. package/esm2022/domain/f-connection/find-closest-input/find-closest-input.request.mjs +0 -9
  418. package/esm2022/domain/f-connection/find-closest-input/i-closest-input.mjs +0 -2
  419. package/esm2022/domain/f-connection/find-closest-input/index.mjs +0 -4
  420. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +0 -57
  421. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.mjs +0 -7
  422. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/index.mjs +0 -3
  423. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +0 -7
  424. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +0 -25
  425. package/esm2022/domain/f-connection/get-connector-with-rect/i-connector-with-rect.mjs +0 -2
  426. package/esm2022/domain/f-connection/get-connector-with-rect/index.mjs +0 -4
  427. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
  428. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +0 -9
  429. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +0 -38
  430. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs +0 -3
  431. package/esm2022/f-connectors/domain/index.mjs +0 -2
  432. package/esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs +0 -5
  433. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +0 -46
  434. package/esm2022/f-draggable/canvas/canvas-move-preparation/providers.mjs +0 -7
  435. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
  436. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
  437. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
  438. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
  439. 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
  440. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +0 -88
  441. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +0 -9
  442. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +0 -36
  443. package/esm2022/f-draggable/connections/get-input-under-pointer/index.mjs +0 -4
  444. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
  445. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
  446. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
  447. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
  448. 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
  449. 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
  450. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
  451. 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
  452. 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
  453. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
  454. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
  455. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
  456. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
  457. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
  458. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
  459. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
  460. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  461. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  462. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  463. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
  464. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  465. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
  466. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
  467. package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
  468. package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.d.ts +0 -6
  469. package/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.d.ts +0 -7
  470. package/f-connectors/domain/calculate-connector-connectable-side/index.d.ts +0 -2
  471. package/f-connectors/domain/index.d.ts +0 -1
  472. package/f-draggable/canvas/canvas-move-finalize/providers.d.ts +0 -2
  473. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +0 -17
  474. package/f-draggable/canvas/canvas-move-preparation/providers.d.ts +0 -3
  475. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
  476. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
  477. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
  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/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +0 -12
  480. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +0 -27
  481. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.d.ts +0 -8
  482. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.d.ts +0 -13
  483. package/f-draggable/connections/get-input-under-pointer/index.d.ts +0 -3
  484. package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
  485. package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
  486. package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
  487. package/f-draggable/node/connection.drag-handler.d.ts +0 -14
  488. 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
  489. 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
  490. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
  491. 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
  492. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
  493. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
  494. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
  495. package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
  496. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
  497. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
  498. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
  499. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
  500. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
  501. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
  502. package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
  503. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
  504. package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
  505. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
  506. package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
@@ -3,8 +3,8 @@ import { Injectable } from '@angular/core';
3
3
  import { NodeDragToParentFinalizeRequest } from './node-drag-to-parent-finalize.request';
4
4
  import { FExecutionRegister } from '@foblex/mediator';
5
5
  import { NodeDragToParentDragHandler } from '../node-drag-to-parent.drag-handler';
6
- import { NodeDragHandler } from '../node.drag-handler';
7
6
  import { FDropToGroupEvent } from '../f-drop-to-group.event';
7
+ import { SummaryNodeDragHandler } from '../summary-node.drag-handler';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../../../f-storage";
10
10
  import * as i2 from "../../f-draggable-data-context";
@@ -45,7 +45,7 @@ let NodeDragToParentFinalizeExecution = class NodeDragToParentFinalizeExecution
45
45
  }
46
46
  getDraggedNodeIds() {
47
47
  return this.fDraggableDataContext.draggableItems
48
- .filter((x) => x instanceof NodeDragHandler)
48
+ .find((x) => x instanceof SummaryNodeDragHandler).fHandlers
49
49
  .map((x) => x.fNode.fId);
50
50
  }
51
51
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentFinalizeExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -58,4 +58,4 @@ export { NodeDragToParentFinalizeExecution };
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentFinalizeExecution, decorators: [{
59
59
  type: Injectable
60
60
  }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kcmFnLXRvLXBhcmVudC1maW5hbGl6ZS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1kcmFnLXRvLXBhcmVudC1maW5hbGl6ZS9ub2RlLWRyYWctdG8tcGFyZW50LWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFNdEQsSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFJbEM7SUFDQTtJQUZWLFlBQ1UsZ0JBQWtDLEVBQ2xDLHFCQUE0QztRQUQ1QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFFdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF3QztRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN0QyxJQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFFBQVE7UUFDZCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjO2FBQzdDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLDJCQUEyQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLHdCQUF3QixDQUFDLFNBQWlCLEVBQUUsS0FBb0I7UUFDdEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUNqRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDaEYsQ0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekMsSUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWM7YUFDN0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksMkJBQTJCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWM7YUFDN0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksZUFBZSxDQUFDO2FBQzNDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO3VHQWhEVSxpQ0FBaUM7MkdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQWlEN0M7OzJGQWpEWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVSZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgTm9kZURyYWdUb1BhcmVudERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1kcmFnLXRvLXBhcmVudC5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgTm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkRyb3BUb0dyb3VwRXZlbnQgfSBmcm9tICcuLi9mLWRyb3AtdG8tZ3JvdXAuZXZlbnQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZURyYWdUb1BhcmVudEZpbmFsaXplRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVSZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0RHJhZ0hhbmRsZUl0ZW0oKTtcbiAgICBpZihpdGVtLmZOb2RlV2l0aFJlY3QpIHtcbiAgICAgIHRoaXMuZW1pdERyb3BwZWRDaGlsZHJlbkV2ZW50KGl0ZW0uZk5vZGVXaXRoUmVjdC5ub2RlLmZJZCwgcmVxdWVzdC5ldmVudCk7XG4gICAgfVxuICAgIGl0ZW0ub25Qb2ludGVyVXA/LigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5zb21lKCh4KSA9PiB4IGluc3RhbmNlb2YgTm9kZURyYWdUb1BhcmVudERyYWdIYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdERyb3BwZWRDaGlsZHJlbkV2ZW50KGZUYXJnZXRJZDogc3RyaW5nLCBldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlPy5mRHJvcFRvR3JvdXAuZW1pdChcbiAgICAgIG5ldyBGRHJvcFRvR3JvdXBFdmVudChmVGFyZ2V0SWQsIHRoaXMuZ2V0RHJhZ2dlZE5vZGVJZHMoKSwgZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnSGFuZGxlSXRlbSgpOiBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmluZERyYWdIYW5kbGVJdGVtKCk7XG4gICAgaWYoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIgbm90IGZvdW5kJyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGZpbmREcmFnSGFuZGxlSXRlbSgpOiBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcmFnZ2VkTm9kZUlkcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4IGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyKVxuICAgICAgLm1hcCgoeCkgPT4geC5mTm9kZS5mSWQpO1xuICB9XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kcmFnLXRvLXBhcmVudC1maW5hbGl6ZS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1kcmFnLXRvLXBhcmVudC1maW5hbGl6ZS9ub2RlLWRyYWctdG8tcGFyZW50LWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUkvRCxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUlsQztJQUNBO0lBRlYsWUFDVSxnQkFBa0MsRUFDbEMscUJBQTRDO1FBRDVDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXdDO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUNyQixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RDLElBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWM7YUFDN0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksMkJBQTJCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsU0FBaUIsRUFBRSxLQUFvQjtRQUN0RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQ2pELElBQUksaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUNoRixDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN6QyxJQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYzthQUM3QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSwyQkFBMkIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYzthQUM3QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxzQkFBc0IsQ0FBRSxDQUFDLFNBQVM7YUFDM0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7dUdBaERVLGlDQUFpQzsyR0FBakMsaUNBQWlDOztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsK0JBQStCLENBQUM7R0FDdkMsaUNBQWlDLENBaUQ3Qzs7MkZBakRZLGlDQUFpQztrQkFGN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QgfSBmcm9tICcuL25vZGUtZHJhZy10by1wYXJlbnQtZmluYWxpemUucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9ub2RlLWRyYWctdG8tcGFyZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGRHJvcFRvR3JvdXBFdmVudCB9IGZyb20gJy4uL2YtZHJvcC10by1ncm91cC5ldmVudCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBTdW1tYXJ5Tm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vc3VtbWFyeS1ub2RlLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZURyYWdUb1BhcmVudEZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXREcmFnSGFuZGxlSXRlbSgpO1xuICAgIGlmKGl0ZW0uZk5vZGVXaXRoUmVjdCkge1xuICAgICAgdGhpcy5lbWl0RHJvcHBlZENoaWxkcmVuRXZlbnQoaXRlbS5mTm9kZVdpdGhSZWN0Lm5vZGUuZklkLCByZXF1ZXN0LmV2ZW50KTtcbiAgICB9XG4gICAgaXRlbS5vblBvaW50ZXJVcD8uKCk7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RHJvcHBlZENoaWxkcmVuRXZlbnQoZlRhcmdldElkOiBzdHJpbmcsIGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGU/LmZEcm9wVG9Hcm91cC5lbWl0KFxuICAgICAgbmV3IEZEcm9wVG9Hcm91cEV2ZW50KGZUYXJnZXRJZCwgdGhpcy5nZXREcmFnZ2VkTm9kZUlkcygpLCBldmVudC5nZXRQb3NpdGlvbigpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldERyYWdIYW5kbGVJdGVtKCk6IE5vZGVEcmFnVG9QYXJlbnREcmFnSGFuZGxlciB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5maW5kRHJhZ0hhbmRsZUl0ZW0oKTtcbiAgICBpZighcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vZGVEcmFnVG9QYXJlbnREcmFnSGFuZGxlciBub3QgZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZERyYWdIYW5kbGVJdGVtKCk6IE5vZGVEcmFnVG9QYXJlbnREcmFnSGFuZGxlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmluZCgoeCkgPT4geCBpbnN0YW5jZW9mIE5vZGVEcmFnVG9QYXJlbnREcmFnSGFuZGxlcik7XG4gIH1cblxuICBwcml2YXRlIGdldERyYWdnZWROb2RlSWRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maW5kKCh4KSA9PiB4IGluc3RhbmNlb2YgU3VtbWFyeU5vZGVEcmFnSGFuZGxlcikhLmZIYW5kbGVyc1xuICAgICAgLm1hcCgoeCkgPT4geC5mTm9kZS5mSWQpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,3 @@
1
- export * from './providers';
2
1
  export * from './node-drag-to-parent-preparation.execution';
3
2
  export * from './node-drag-to-parent-preparation.request';
4
- export * from './node-drag-to-parent-preparation.validator';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyw2Q0FBNkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uLnZhbGlkYXRvcic7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25vZGUtZHJhZy10by1wYXJlbnQtcHJlcGFyYXRpb24uZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuIl19
@@ -5,7 +5,7 @@ import { FExecutionRegister } from '@foblex/mediator';
5
5
  import { PointExtensions, RectExtensions } from '@foblex/2d';
6
6
  import { GetNormalizedElementRectRequest, GetParentNodesRequest } from '../../../domain';
7
7
  import { NodeDragToParentDragHandler } from '../node-drag-to-parent.drag-handler';
8
- import { NodeDragHandler } from '../node.drag-handler';
8
+ import { SummaryNodeDragHandler } from '../summary-node.drag-handler';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@foblex/mediator";
11
11
  import * as i2 from "../../f-draggable-data-context";
@@ -29,6 +29,9 @@ let NodeDragToParentPreparationExecution = class NodeDragToParentPreparationExec
29
29
  this.fComponentsStore = fComponentsStore;
30
30
  }
31
31
  handle(request) {
32
+ if (!this._isValid()) {
33
+ return;
34
+ }
32
35
  const fNode = this.fComponentsStore
33
36
  .fNodes.find(n => n.isContains(request.event.targetElement));
34
37
  if (!fNode) {
@@ -36,10 +39,14 @@ let NodeDragToParentPreparationExecution = class NodeDragToParentPreparationExec
36
39
  }
37
40
  this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this._getNotDraggedNodesRects()));
38
41
  }
42
+ _isValid() {
43
+ return this.fDraggableDataContext.draggableItems
44
+ .some((x) => x instanceof SummaryNodeDragHandler);
45
+ }
39
46
  _getNotDraggedNodesRects() {
40
47
  const draggedNodes = this._addParentNodes(this._getNodesBeingDragged());
41
48
  return this._getNotDraggedNodes(draggedNodes).map((x) => {
42
- const rect = this.fMediator.send(new GetNormalizedElementRectRequest(x.hostElement, false));
49
+ const rect = this.fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
43
50
  return {
44
51
  node: x,
45
52
  rect: RectExtensions.initialize(rect.x + this.fCanvasPosition.x, rect.y + this.fCanvasPosition.y, rect.width * this.transform.scale, rect.height * this.transform.scale)
@@ -48,12 +55,12 @@ let NodeDragToParentPreparationExecution = class NodeDragToParentPreparationExec
48
55
  }
49
56
  _getNodesBeingDragged() {
50
57
  return this.fDraggableDataContext.draggableItems
51
- .filter((x) => x instanceof NodeDragHandler)
52
- .map((x) => x.fNode);
58
+ .find((x) => x instanceof SummaryNodeDragHandler)
59
+ .fHandlers.map((x) => x.fNode);
53
60
  }
54
61
  _addParentNodes(fNodes) {
55
62
  return fNodes.reduce((result, x) => {
56
- result.push(x, ...this.fMediator.send(new GetParentNodesRequest(x)));
63
+ result.push(x, ...this.fMediator.execute(new GetParentNodesRequest(x)));
57
64
  return result;
58
65
  }, []);
59
66
  }
@@ -70,4 +77,4 @@ export { NodeDragToParentPreparationExecution };
70
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentPreparationExecution, decorators: [{
71
78
  type: Injectable
72
79
  }], ctorParameters: () => [{ type: i1.FMediator }, { type: i2.FDraggableDataContext }, { type: i3.FComponentsStore }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFHN0UsT0FBTyxFQUFrQyxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFJaEQsSUFBTSxvQ0FBb0MsR0FBMUMsTUFBTSxvQ0FBb0M7SUFnQnJDO0lBQ0E7SUFDQTtJQWZWLElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFZLGVBQWU7UUFDekIsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUE7SUFD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LENBQUM7R0FDMUMsb0NBQW9DLENBcUVoRDs7MkZBckVZLG9DQUFvQztrQkFGaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVEcmFnVG9QYXJlbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL25vZGUtZHJhZy10by1wYXJlbnQtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJTm9kZVdpdGhSZWN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCwgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgTm9kZURyYWdUb1BhcmVudERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1kcmFnLXRvLXBhcmVudC5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgTm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS5kcmFnLWhhbmRsZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKE5vZGVEcmFnVG9QYXJlbnRQcmVwYXJhdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZkNhbnZhc1Bvc2l0aW9uKCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy50cmFuc2Zvcm0ucG9zaXRpb24sIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZVxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGZOb2RlID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlXG4gICAgICAuZk5vZGVzLmZpbmQobiA9PiBuLmlzQ29udGFpbnMocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KSk7XG4gICAgaWYgKCFmTm9kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb2RlIG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnB1c2goXG4gICAgICBuZXcgTm9kZURyYWdUb1BhcmVudERyYWdIYW5kbGVyKFxuICAgICAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUsXG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LCB0aGlzLl9nZXROb3REcmFnZ2VkTm9kZXNSZWN0cygpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vdERyYWdnZWROb2Rlc1JlY3RzKCk6IElOb2RlV2l0aFJlY3RbXSB7XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVzID0gdGhpcy5fYWRkUGFyZW50Tm9kZXModGhpcy5fZ2V0Tm9kZXNCZWluZ0RyYWdnZWQoKSk7XG4gICAgcmV0dXJuIHRoaXMuX2dldE5vdERyYWdnZWROb2RlcyhkcmFnZ2VkTm9kZXMpLm1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub2RlOiB4LFxuICAgICAgICByZWN0OiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgICAgIHJlY3QueCArIHRoaXMuZkNhbnZhc1Bvc2l0aW9uLngsXG4gICAgICAgICAgcmVjdC55ICsgdGhpcy5mQ2FudmFzUG9zaXRpb24ueSxcbiAgICAgICAgICByZWN0LndpZHRoICogdGhpcy50cmFuc2Zvcm0uc2NhbGUsXG4gICAgICAgICAgcmVjdC5oZWlnaHQgKiB0aGlzLnRyYW5zZm9ybS5zY2FsZVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0JlaW5nRHJhZ2dlZCgpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiB4IGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyKVxuICAgICAgLm1hcCgoeCkgPT4geC5mTm9kZSk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRQYXJlbnROb2RlcyhmTm9kZXM6IEZOb2RlQmFzZVtdKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiBmTm9kZXMucmVkdWNlKChyZXN1bHQ6IEZOb2RlQmFzZVtdLCB4OiBGTm9kZUJhc2UpID0+IHtcbiAgICAgIHJlc3VsdC5wdXNoKHgsIC4uLnRoaXMuZk1lZGlhdG9yLnNlbmQ8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoeCkpKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm90RHJhZ2dlZE5vZGVzKGRyYWdnZWROb2RlczogRk5vZGVCYXNlW10pOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZk5vZGVzLmZpbHRlcigoeCkgPT4gIWRyYWdnZWROb2Rlcy5pbmNsdWRlcyh4KSk7XG4gIH1cbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFHN0UsT0FBTyxFQUFrQyxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdGLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQUkvRCxJQUFNLG9DQUFvQyxHQUExQyxNQUFNLG9DQUFvQztJQWdCckM7SUFDQTtJQUNBO0lBZlYsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksZUFBZTtRQUN6QixPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJ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bUJBQW1CLENBQUMsWUFBeUI7UUFDbkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQzt1R0E1RVUsb0NBQW9DOzJHQUFwQyxvQ0FBb0M7O0FBQXBDLG9DQUFvQztJQURoRCxrQkFBa0IsQ0FBQyxrQ0FBa0MsQ0FBQztHQUMxQyxvQ0FBb0MsQ0E2RWhEOzsyRkE3RVksb0NBQW9DO2tCQUZoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElOb2RlV2l0aFJlY3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludEV4dGVuc2lvbnMsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0LCBHZXRQYXJlbnROb2Rlc1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9ub2RlLWRyYWctdG8tcGFyZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBTdW1tYXJ5Tm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vc3VtbWFyeS1ub2RlLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25FeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPE5vZGVEcmFnVG9QYXJlbnRQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmQ2FudmFzUG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnRFeHRlbnNpb25zLnN1bSh0aGlzLnRyYW5zZm9ybS5wb3NpdGlvbiwgdGhpcy50cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24pXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYoIXRoaXMuX2lzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmTm9kZSA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZVxuICAgICAgLmZOb2Rlcy5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKHJlcXVlc3QuZXZlbnQudGFyZ2V0RWxlbWVudCkpO1xuICAgIGlmICghZk5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm9kZSBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5wdXNoKFxuICAgICAgbmV3IE5vZGVEcmFnVG9QYXJlbnREcmFnSGFuZGxlcihcbiAgICAgICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLFxuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dCwgdGhpcy5fZ2V0Tm90RHJhZ2dlZE5vZGVzUmVjdHMoKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBTdW1tYXJ5Tm9kZURyYWdIYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vdERyYWdnZWROb2Rlc1JlY3RzKCk6IElOb2RlV2l0aFJlY3RbXSB7XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVzID0gdGhpcy5fYWRkUGFyZW50Tm9kZXModGhpcy5fZ2V0Tm9kZXNCZWluZ0RyYWdnZWQoKSk7XG4gICAgcmV0dXJuIHRoaXMuX2dldE5vdERyYWdnZWROb2RlcyhkcmFnZ2VkTm9kZXMpLm1hcCgoeCkgPT4ge1xuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub2RlOiB4LFxuICAgICAgICByZWN0OiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgICAgIHJlY3QueCArIHRoaXMuZkNhbnZhc1Bvc2l0aW9uLngsXG4gICAgICAgICAgcmVjdC55ICsgdGhpcy5mQ2FudmFzUG9zaXRpb24ueSxcbiAgICAgICAgICByZWN0LndpZHRoICogdGhpcy50cmFuc2Zvcm0uc2NhbGUsXG4gICAgICAgICAgcmVjdC5oZWlnaHQgKiB0aGlzLnRyYW5zZm9ybS5zY2FsZVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2Rlc0JlaW5nRHJhZ2dlZCgpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmluZCgoeCkgPT4geCBpbnN0YW5jZW9mIFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIpIVxuICAgICAgLmZIYW5kbGVycy5tYXAoKHgpID0+IHguZk5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkUGFyZW50Tm9kZXMoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gZk5vZGVzLnJlZHVjZSgocmVzdWx0OiBGTm9kZUJhc2VbXSwgeDogRk5vZGVCYXNlKSA9PiB7XG4gICAgICByZXN1bHQucHVzaCh4LCAuLi50aGlzLmZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0KHgpKSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vdERyYWdnZWROb2RlcyhkcmFnZ2VkTm9kZXM6IEZOb2RlQmFzZVtdKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZOb2Rlcy5maWx0ZXIoKHgpID0+ICFkcmFnZ2VkTm9kZXMuaW5jbHVkZXMoeCkpO1xuICB9XG59XG4iXX0=
@@ -7,8 +7,8 @@ import { FComponentsStore } from '../../../f-storage';
7
7
  import { FDraggableDataContext } from '../../f-draggable-data-context';
8
8
  import { IsConnectionUnderNodeRequest } from '../../domain';
9
9
  import { NodeDragToParentDragHandler } from '../node-drag-to-parent.drag-handler';
10
- import { NodeDragHandler } from '../node.drag-handler';
11
10
  import { LineAlignmentDragHandler } from '../line-alignment.drag-handler';
11
+ import { SummaryNodeDragHandler } from '../summary-node.drag-handler';
12
12
  import * as i0 from "@angular/core";
13
13
  let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
14
14
  _fMediator = inject(FMediator);
@@ -23,13 +23,12 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
23
23
  }
24
24
  const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
25
25
  const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
26
- .find((x) => x instanceof NodeDragHandler);
27
- const differenceWithCellSize = firstNodeOrGroup.getDifferenceWithCellSize(difference);
28
- this._finalizeMove(differenceWithCellSize);
26
+ .find((x) => x instanceof SummaryNodeDragHandler);
27
+ this._finalizeMove(firstNodeOrGroup.calculateRestrictedDifference(difference));
29
28
  this._applyConnectionUnderDroppedNode();
30
29
  }
31
30
  _isValid() {
32
- return this._fDraggableDataContext.draggableItems.some((x) => x instanceof NodeDragHandler);
31
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof SummaryNodeDragHandler);
33
32
  }
34
33
  _finalizeMove(difference) {
35
34
  this._getItems().forEach((x) => {
@@ -62,12 +61,17 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
62
61
  return difference;
63
62
  }
64
63
  _applyConnectionUnderDroppedNode() {
65
- const isDraggedJustOneNode = this._fDraggableDataContext.draggableItems[0] instanceof NodeDragHandler;
66
- if (isDraggedJustOneNode && this._fComponentsStore.fDraggable?.emitWhenNodeIntersectedWithConnection) {
67
- const fNode = this._fDraggableDataContext.draggableItems[0].fNode;
64
+ if (this._isDraggedJustOneNode() && this._fComponentsStore.fDraggable?.fEmitOnNodeIntersect) {
65
+ const fNode = this._getFirstNodeOrGroup();
68
66
  setTimeout(() => this._fMediator.execute(new IsConnectionUnderNodeRequest(fNode)));
69
67
  }
70
68
  }
69
+ _isDraggedJustOneNode() {
70
+ return this._fDraggableDataContext.draggableItems[0].fHandlers.length === 1;
71
+ }
72
+ _getFirstNodeOrGroup() {
73
+ return this._fDraggableDataContext.draggableItems[0].fHandlers[0].fNode;
74
+ }
71
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
76
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution });
73
77
  };
@@ -78,4 +82,4 @@ export { NodeMoveFinalizeExecution };
78
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, decorators: [{
79
83
  type: Injectable
80
84
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtZmluYWxpemUvbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBSW5FLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBRTVCLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0Msc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFL0QsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQU0sQ0FBQyxX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Q0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM3RyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLGdDQUFnQztRQUN0QyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFFLFlBQVksZUFBZSxDQUFDO1FBQ3hHLElBQUksb0JBQW9CLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxxQ0FBcUMsRUFBRSxDQUFDO1lBQ3JHLE1BQU0sS0FBSyxHQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFzQixDQUFDLEtBQUssQ0FBQztZQUN6RixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQztJQUNILENBQUM7dUdBN0VVLHlCQUF5QjsyR0FBekIseUJBQXlCOztBQUF6Qix5QkFBeUI7SUFEckMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7R0FDL0IseUJBQXlCLENBOEVyQzs7MkZBOUVZLHlCQUF5QjtrQkFGckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QgfSBmcm9tICcuL25vZGUtbW92ZS1maW5hbGl6ZS5yZXF1ZXN0JztcbmltcG9ydCB7IElQb2ludCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQge1xuICBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0XG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgTm9kZURyYWdUb1BhcmVudERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1kcmFnLXRvLXBhcmVudC5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSUxpbmVBbGlnbm1lbnRSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9mLWxpbmUtYWxpZ25tZW50JztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnREcmFnSGFuZGxlciB9IGZyb20gJy4uL2xpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Tm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRoaXMuX2dldERpZmZlcmVuY2VXaXRoTGluZUFsaWdubWVudChcbiAgICAgIHRoaXMuX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgKTtcblxuICAgIGNvbnN0IGZpcnN0Tm9kZU9yR3JvdXA6IE5vZGVEcmFnSGFuZGxlciA9IHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBOb2RlRHJhZ0hhbmRsZXIpITtcblxuICAgIGNvbnN0IGRpZmZlcmVuY2VXaXRoQ2VsbFNpemUgPSBmaXJzdE5vZGVPckdyb3VwLmdldERpZmZlcmVuY2VXaXRoQ2VsbFNpemUoZGlmZmVyZW5jZSk7XG5cbiAgICB0aGlzLl9maW5hbGl6ZU1vdmUoZGlmZmVyZW5jZVdpdGhDZWxsU2l6ZSk7XG5cbiAgICB0aGlzLl9hcHBseUNvbm5lY3Rpb25VbmRlckRyb3BwZWROb2RlKCk7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuc29tZSgoeCkgPT4geCBpbnN0YW5jZW9mIE5vZGVEcmFnSGFuZGxlcik7XG4gIH1cblxuICBwcml2YXRlIF9maW5hbGl6ZU1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0SXRlbXMoKS5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICB4Lm9uUG9pbnRlck1vdmUoeyAuLi5kaWZmZXJlbmNlIH0pO1xuICAgICAgeC5vblBvaW50ZXJVcD8uKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJdGVtcygpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiAhKHggaW5zdGFuY2VvZiBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShwb3NpdGlvbjogSVBvaW50KTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpXG4gICAgICAuZGl2KHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2FwcGx5TGluZUFsaWdubWVudERpZmZlcmVuY2UoXG4gICAgICBkaWZmZXJlbmNlLFxuICAgICAgdGhpcy5fZ2V0TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maW5kKCh4KSA9PiB4IGluc3RhbmNlb2YgTGluZUFsaWdubWVudERyYWdIYW5kbGVyKVxuICAgICAgPy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUxpbmVBbGlnbm1lbnREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCwgaW50ZXJzZWN0aW9uOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCk6IElQb2ludCB7XG4gICAgaWYgKGludGVyc2VjdGlvbikge1xuICAgICAgZGlmZmVyZW5jZS54ID0gaW50ZXJzZWN0aW9uLnhSZXN1bHQudmFsdWUgPyAoZGlmZmVyZW5jZS54IC0gaW50ZXJzZWN0aW9uLnhSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueDtcbiAgICAgIGRpZmZlcmVuY2UueSA9IGludGVyc2VjdGlvbi55UmVzdWx0LnZhbHVlID8gKGRpZmZlcmVuY2UueSAtIGludGVyc2VjdGlvbi55UmVzdWx0LmRpc3RhbmNlISkgOiBkaWZmZXJlbmNlLnk7XG4gICAgfVxuICAgIHJldHVybiBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlDb25uZWN0aW9uVW5kZXJEcm9wcGVkTm9kZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0RyYWdnZWRKdXN0T25lTm9kZSA9IHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyO1xuICAgIGlmIChpc0RyYWdnZWRKdXN0T25lTm9kZSAmJiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGU/LmVtaXRXaGVuTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb24pIHtcbiAgICAgIGNvbnN0IGZOb2RlID0gKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGFzIE5vZGVEcmFnSGFuZGxlcikuZk5vZGU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0KGZOb2RlKSkpO1xuICAgIH1cbiAgfVxufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtZmluYWxpemUvbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFLL0QsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBeUI7SUFFNUIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBTSxDQUFD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LENBQUM7UUFDN0csQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxnQ0FBZ0M7UUFDdEMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLG9CQUFvQixFQUFFLENBQUM7WUFFNUYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE9BQVEsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQTZCLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFRLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUE2QixDQUFDLFNBQVMsQ0FBRSxDQUFDLENBQUUsQ0FBQyxLQUFLLENBQUM7SUFDMUcsQ0FBQzt1R0FuRlUseUJBQXlCOzJHQUF6Qix5QkFBeUI7O0FBQXpCLHlCQUF5QjtJQURyQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQztHQUMvQix5QkFBeUIsQ0FvRnJDOzsyRkFwRlkseUJBQXlCO2tCQUZyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1tb3ZlLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVBvaW50LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7XG4gIElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9ub2RlLWRyYWctdG8tcGFyZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJTGluZUFsaWdubWVudFJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgTGluZUFsaWdubWVudERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbGluZS1hbGlnbm1lbnQuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9zdW1tYXJ5LW5vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Tm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRoaXMuX2dldERpZmZlcmVuY2VXaXRoTGluZUFsaWdubWVudChcbiAgICAgIHRoaXMuX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgKTtcblxuICAgIGNvbnN0IGZpcnN0Tm9kZU9yR3JvdXA6IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIgPSB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maW5kKCh4KSA9PiB4IGluc3RhbmNlb2YgU3VtbWFyeU5vZGVEcmFnSGFuZGxlcikhO1xuXG4gICAgdGhpcy5fZmluYWxpemVNb3ZlKGZpcnN0Tm9kZU9yR3JvdXAuY2FsY3VsYXRlUmVzdHJpY3RlZERpZmZlcmVuY2UoZGlmZmVyZW5jZSkpO1xuXG4gICAgdGhpcy5fYXBwbHlDb25uZWN0aW9uVW5kZXJEcm9wcGVkTm9kZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBTdW1tYXJ5Tm9kZURyYWdIYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmFsaXplTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9nZXRJdGVtcygpLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgub25Qb2ludGVyTW92ZSh7IC4uLmRpZmZlcmVuY2UgfSk7XG4gICAgICB4Lm9uUG9pbnRlclVwPy4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEl0ZW1zKCk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maWx0ZXIoKHgpID0+ICEoeCBpbnN0YW5jZW9mIE5vZGVEcmFnVG9QYXJlbnREcmFnSGFuZGxlcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZUJldHdlZW5QcmVwYXJhdGlvbkFuZEZpbmFsaXplKHBvc2l0aW9uOiBJUG9pbnQpOiBQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludChwb3NpdGlvbikuZWxlbWVudFRyYW5zZm9ybSh0aGlzLl9mSG9zdClcbiAgICAgIC5kaXYodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSlcbiAgICAgIC5zdWIodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9nZXREaWZmZXJlbmNlV2l0aExpbmVBbGlnbm1lbnQoZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fYXBwbHlMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShcbiAgICAgIGRpZmZlcmVuY2UsXG4gICAgICB0aGlzLl9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIpXG4gICAgICA/LmZpbmROZWFyZXN0Q29vcmRpbmF0ZShkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50LCBpbnRlcnNlY3Rpb246IElMaW5lQWxpZ25tZW50UmVzdWx0IHwgdW5kZWZpbmVkKTogSVBvaW50IHtcbiAgICBpZiAoaW50ZXJzZWN0aW9uKSB7XG4gICAgICBkaWZmZXJlbmNlLnggPSBpbnRlcnNlY3Rpb24ueFJlc3VsdC52YWx1ZSA/IChkaWZmZXJlbmNlLnggLSBpbnRlcnNlY3Rpb24ueFJlc3VsdC5kaXN0YW5jZSEpIDogZGlmZmVyZW5jZS54O1xuICAgICAgZGlmZmVyZW5jZS55ID0gaW50ZXJzZWN0aW9uLnlSZXN1bHQudmFsdWUgPyAoZGlmZmVyZW5jZS55IC0gaW50ZXJzZWN0aW9uLnlSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueTtcbiAgICB9XG4gICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUNvbm5lY3Rpb25VbmRlckRyb3BwZWROb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0RyYWdnZWRKdXN0T25lTm9kZSgpICYmIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZT8uZkVtaXRPbk5vZGVJbnRlcnNlY3QpIHtcblxuICAgICAgY29uc3QgZk5vZGUgPSB0aGlzLl9nZXRGaXJzdE5vZGVPckdyb3VwKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0KGZOb2RlKSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ2dlZEp1c3RPbmVOb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgU3VtbWFyeU5vZGVEcmFnSGFuZGxlcikuZkhhbmRsZXJzLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZpcnN0Tm9kZU9yR3JvdXAoKTogRk5vZGVCYXNlIHtcbiAgICByZXR1cm4gKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGFzIFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIpLmZIYW5kbGVyc1sgMCBdLmZOb2RlO1xuICB9XG59XG4iXX0=
@@ -25,12 +25,13 @@ let NodeMovePreparationExecution = class NodeMovePreparationExecution {
25
25
  if (!this._isValid(request)) {
26
26
  return;
27
27
  }
28
+ const summaryDragHandler = this._calculateDraggedItems(this._fNode);
28
29
  this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
29
30
  this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
30
31
  .elementTransform(this._fHost).div(this._transform.scale);
31
- this._fDraggableDataContext.draggableItems = this._calculateDraggedItems(this._fNode);
32
+ this._fDraggableDataContext.draggableItems = [summaryDragHandler];
32
33
  if (this._fComponentsStore.fLineAlignment) {
33
- this._fMediator.execute(new LineAlignmentPreparationRequest());
34
+ this._fMediator.execute(new LineAlignmentPreparationRequest(summaryDragHandler.fHandlers.map((x) => x.fNode), summaryDragHandler.commonRect));
34
35
  }
35
36
  }
36
37
  _isValid(request) {
@@ -48,7 +49,7 @@ let NodeMovePreparationExecution = class NodeMovePreparationExecution {
48
49
  }
49
50
  //We drag nodes from selection model
50
51
  _calculateDraggedItems(fNode) {
51
- let result = [];
52
+ let result;
52
53
  if (!fNode.fSelectionDisabled) {
53
54
  // Need to select node before drag
54
55
  this._fMediator.execute(new SelectAndUpdateNodeLayerRequest(fNode));
@@ -73,4 +74,4 @@ export { NodeMovePreparationExecution };
73
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution, decorators: [{
74
75
  type: Injectable
75
76
  }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtcHJlcGFyYXRpb24vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3ZFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJekUsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFFL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMs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QUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcbmltcG9ydCB7IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5pbXBvcnQgeyBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIE5vZGVNb3ZlUHJlcGFyYXRpb25FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZOb2RlOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IHRoaXMuX3RyYW5zZm9ybS5zY2FsZTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnQuZnJvbVBvaW50KHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICAgIC5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2ZIb3N0KS5kaXYodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSB0aGlzLl9jYWxjdWxhdGVEcmFnZ2VkSXRlbXModGhpcy5fZk5vZGUhKTtcblxuICAgIGlmKHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkxpbmVBbGlnbm1lbnQpIHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25SZXF1ZXN0KCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQocmVxdWVzdDogTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzRW1wdHkoKVxuICAgICAgJiYgdGhpcy5faXNEcmFnSGFuZGxlRWxlbWVudChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpXG4gICAgICAmJiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzKGVsZW1lbnQsICcuZi1kcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5fZk5vZGUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQoeCA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkgJiYgIXguZkRyYWdnaW5nRGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzLl9mTm9kZTtcbiAgfVxuXG4gIC8vV2UgZHJhZyBub2RlcyBmcm9tIHNlbGVjdGlvbiBtb2RlbFxuICBwcml2YXRlIF9jYWxjdWxhdGVEcmFnZ2VkSXRlbXMoZk5vZGU6IEZOb2RlQmFzZSk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGxldCByZXN1bHQ6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcbiAgICBpZiAoIWZOb2RlLmZTZWxlY3Rpb25EaXNhYmxlZCkge1xuICAgICAgLy8gTmVlZCB0byBzZWxlY3Qgbm9kZSBiZWZvcmUgZHJhZ1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QoZk5vZGUpKTtcblxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVc2VyIGNhbiBkcmFnIG5vZGUgdGhhdCBjYW4ndCBiZSBzZWxlY3RlZFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbihmTm9kZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9kcmFnTW9kZWxGcm9tU2VsZWN0aW9uKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3Qobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbilcbiAgICApO1xuICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtcHJlcGFyYXRpb24vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLekUsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFFL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMs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Q0FBQyxDQUM1RSxDQUFDO0lBQ0osQ0FBQzt1R0F4RVUsNEJBQTRCOzJHQUE1Qiw0QkFBNEI7O0FBQTVCLDRCQUE0QjtJQUR4QyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQztHQUNsQyw0QkFBNEIsQ0F5RXhDOzsyRkF6RVksNEJBQTRCO2tCQUZ4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuLi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBTdW1tYXJ5Tm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vc3VtbWFyeS1ub2RlLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZU1vdmVQcmVwYXJhdGlvbkV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Tm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfZk5vZGU6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYoIXRoaXMuX2lzVmFsaWQocmVxdWVzdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdW1tYXJ5RHJhZ0hhbmRsZXIgPSB0aGlzLl9jYWxjdWxhdGVEcmFnZ2VkSXRlbXModGhpcy5fZk5vZGUhKTtcblxuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUgPSB0aGlzLl90cmFuc2Zvcm0uc2NhbGU7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IFBvaW50LmZyb21Qb2ludChyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgICAuZWxlbWVudFRyYW5zZm9ybSh0aGlzLl9mSG9zdCkuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zID0gW3N1bW1hcnlEcmFnSGFuZGxlcl07XG5cbiAgICBpZih0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZMaW5lQWxpZ25tZW50KSB7XG4gICAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgICAgbmV3IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QoXG4gICAgICAgICAgc3VtbWFyeURyYWdIYW5kbGVyLmZIYW5kbGVycy5tYXAoKHgpID0+IHguZk5vZGUpLCBzdW1tYXJ5RHJhZ0hhbmRsZXIuY29tbW9uUmVjdFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQocmVxdWVzdDogTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzRW1wdHkoKVxuICAgICAgJiYgdGhpcy5faXNEcmFnSGFuZGxlRWxlbWVudChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpXG4gICAgICAmJiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzKGVsZW1lbnQsICcuZi1kcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5fZk5vZGUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQoeCA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkgJiYgIXguZkRyYWdnaW5nRGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzLl9mTm9kZTtcbiAgfVxuXG4gIC8vV2UgZHJhZyBub2RlcyBmcm9tIHNlbGVjdGlvbiBtb2RlbFxuICBwcml2YXRlIF9jYWxjdWxhdGVEcmFnZ2VkSXRlbXMoZk5vZGU6IEZOb2RlQmFzZSk6IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXI7XG4gICAgaWYgKCFmTm9kZS5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgIC8vIE5lZWQgdG8gc2VsZWN0IG5vZGUgYmVmb3JlIGRyYWdcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0KGZOb2RlKSk7XG5cbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RyYWdNb2RlbEZyb21TZWxlY3Rpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXNlciBjYW4gZHJhZyBub2RlIHRoYXQgY2FuJ3QgYmUgc2VsZWN0ZWRcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RyYWdNb2RlbEZyb21TZWxlY3Rpb24oZk5vZGUpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhZ01vZGVsRnJvbVNlbGVjdGlvbihub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uPzogRk5vZGVCYXNlKTogU3VtbWFyeU5vZGVEcmFnSGFuZGxlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,27 +1,22 @@
1
- import { Point, PointExtensions } from '@foblex/2d';
1
+ import { PointExtensions } from '@foblex/2d';
2
2
  export class NodeDragHandler {
3
- _fComponentsStore;
4
3
  fNode;
5
- restrictions;
4
+ fSourceHandlers;
5
+ fTargetHandlers;
6
6
  _onPointerDownPosition = PointExtensions.initialize();
7
- constructor(_fComponentsStore, fNode, restrictions) {
8
- this._fComponentsStore = _fComponentsStore;
7
+ constructor(fNode, fSourceHandlers = [], fTargetHandlers = []) {
9
8
  this.fNode = fNode;
10
- this.restrictions = restrictions;
9
+ this.fSourceHandlers = fSourceHandlers;
10
+ this.fTargetHandlers = fTargetHandlers;
11
11
  this._onPointerDownPosition = { ...fNode.position };
12
12
  }
13
13
  onPointerMove(difference) {
14
- const restrictedDifference = this._getDifference(difference);
15
- this._redraw(this._getPosition(restrictedDifference));
14
+ this._redraw(this._calculateNewPosition(difference));
15
+ this.fSourceHandlers.forEach((x) => x.setSourceDifference(difference));
16
+ this.fTargetHandlers.forEach((x) => x.setTargetDifference(difference));
16
17
  }
17
- _getPosition(difference) {
18
- return Point.fromPoint(this._onPointerDownPosition).add(difference);
19
- }
20
- _getDifference(difference) {
21
- return {
22
- x: Math.min(Math.max(difference.x, this.restrictions.min.x), this.restrictions.max.x),
23
- y: Math.min(Math.max(difference.y, this.restrictions.min.y), this.restrictions.max.y)
24
- };
18
+ _calculateNewPosition(difference) {
19
+ return PointExtensions.sum(this._onPointerDownPosition, difference);
25
20
  }
26
21
  _redraw(position) {
27
22
  this.fNode.updatePosition(position);
@@ -30,17 +25,5 @@ export class NodeDragHandler {
30
25
  onPointerUp() {
31
26
  this.fNode.positionChange.emit(this.fNode.position);
32
27
  }
33
- getDifferenceWithCellSize(difference) {
34
- const position = this._getPosition(this._getDifference(difference));
35
- return Point.fromPoint(this._applyCellSize(position)).sub(this._onPointerDownPosition);
36
- }
37
- _applyCellSize(position) {
38
- const hCellSize = this._fComponentsStore.fDraggable.hCellSize;
39
- const vCellSize = this._fComponentsStore.fDraggable.vCellSize;
40
- return {
41
- x: Math.round(position.x / hCellSize) * hCellSize,
42
- y: Math.round(position.y / vCellSize) * vCellSize
43
- };
44
- }
45
28
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzFFLE1BQU0sT0FBTyxlQUFlO0lBS2hCO0lBQ0Q7SUFDQTtJQUxRLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUV2RSxZQUNVLGlCQUFtQyxFQUNwQyxLQUFnQixFQUNoQixZQUEwQjtRQUZ6QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFFakMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sWUFBWSxDQUFDLFVBQWtCO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxVQUFrQjtRQUN2QyxPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyRixDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RGLENBQUE7SUFDSCxDQUFDO0lBRU8sT0FBTyxDQUFDLFFBQWdCO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLHlCQUF5QixDQUFDLFVBQWtCO1FBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXBFLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBZ0I7UUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVcsQ0FBQyxTQUFTLENBQUM7UUFDL0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVcsQ0FBQyxTQUFTLENBQUM7UUFDL0QsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUztZQUNqRCxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLFNBQVM7U0FDbEQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCwgSVBvaW50LCBQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgTm9kZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uUG9pbnRlckRvd25Qb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwdWJsaWMgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgcmVzdHJpY3Rpb25zOiBJTWluTWF4UG9pbnQsXG4gICkge1xuICAgIHRoaXMuX29uUG9pbnRlckRvd25Qb3NpdGlvbiA9IHsgLi4uZk5vZGUucG9zaXRpb24gfTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc3RyaWN0ZWREaWZmZXJlbmNlID0gdGhpcy5fZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX3JlZHJhdyh0aGlzLl9nZXRQb3NpdGlvbihyZXN0cmljdGVkRGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UG9zaXRpb24oZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHRoaXMuX29uUG9pbnRlckRvd25Qb3NpdGlvbikuYWRkKGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiB7XG4gICAgICB4OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLngsIHRoaXMucmVzdHJpY3Rpb25zLm1pbi54KSwgdGhpcy5yZXN0cmljdGlvbnMubWF4LngpLFxuICAgICAgeTogTWF0aC5taW4oTWF0aC5tYXgoZGlmZmVyZW5jZS55LCB0aGlzLnJlc3RyaWN0aW9ucy5taW4ueSksIHRoaXMucmVzdHJpY3Rpb25zLm1heC55KVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdyhwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgdGhpcy5mTm9kZS5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLnBvc2l0aW9uQ2hhbmdlLmVtaXQodGhpcy5mTm9kZS5wb3NpdGlvbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGlmZmVyZW5jZVdpdGhDZWxsU2l6ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5fZ2V0UG9zaXRpb24odGhpcy5fZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlKSk7XG5cbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHRoaXMuX2FwcGx5Q2VsbFNpemUocG9zaXRpb24pKS5zdWIodGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5Q2VsbFNpemUocG9zaXRpb246IElQb2ludCk6IElQb2ludCB7XG4gICAgY29uc3QgaENlbGxTaXplID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlIS5oQ2VsbFNpemU7XG4gICAgY29uc3QgdkNlbGxTaXplID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlIS52Q2VsbFNpemU7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGgucm91bmQocG9zaXRpb24ueCAvIGhDZWxsU2l6ZSkgKiBoQ2VsbFNpemUsXG4gICAgICB5OiBNYXRoLnJvdW5kKHBvc2l0aW9uLnkgLyB2Q2VsbFNpemUpICogdkNlbGxTaXplXG4gICAgfTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUtyRCxNQUFNLE9BQU8sZUFBZTtJQUtqQjtJQUNBO0lBQ0E7SUFMUSxzQkFBc0IsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFdkUsWUFDUyxLQUFnQixFQUNoQixrQkFBK0MsRUFBRSxFQUNqRCxrQkFBK0MsRUFBRTtRQUZqRCxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQztRQUNqRCxvQkFBZSxHQUFmLGVBQWUsQ0FBa0M7UUFFeEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFVBQWtCO1FBQzlDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLE9BQU8sQ0FBQyxRQUFnQjtRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5cbmV4cG9ydCBjbGFzcyBOb2RlRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgZlNvdXJjZUhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgICBwdWJsaWMgZlRhcmdldEhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgKSB7XG4gICAgdGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uID0geyAuLi5mTm9kZS5wb3NpdGlvbiB9O1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fcmVkcmF3KHRoaXMuX2NhbGN1bGF0ZU5ld1Bvc2l0aW9uKGRpZmZlcmVuY2UpKTtcblxuICAgIHRoaXMuZlNvdXJjZUhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlKSk7XG4gICAgdGhpcy5mVGFyZ2V0SGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5ld1Bvc2l0aW9uKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uLCBkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdyhwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgdGhpcy5mTm9kZS5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLnBvc2l0aW9uQ2hhbmdlLmVtaXQodGhpcy5mTm9kZS5wb3NpdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { fInject } from '../f-injector';
2
+ import { FComponentsStore } from '../../f-storage';
3
+ export class PointBoundsLimiter {
4
+ _onPointerDown;
5
+ _limit;
6
+ _fComponentsStore = fInject(FComponentsStore);
7
+ _vCellSize = this._fComponentsStore.fDraggable.vCellSize;
8
+ _hCellSize = this._fComponentsStore.fDraggable.hCellSize;
9
+ constructor(_onPointerDown, _limit) {
10
+ this._onPointerDown = _onPointerDown;
11
+ this._limit = _limit;
12
+ }
13
+ limit(difference, adjustCellSize) {
14
+ const { min, max } = this._limit;
15
+ const { x, y } = this._cellSizeStrategies[+adjustCellSize](difference);
16
+ return {
17
+ x: this._clamp(x, min.x, max.x),
18
+ y: this._clamp(y, min.y, max.y),
19
+ };
20
+ }
21
+ _cellSizeStrategies = {
22
+ 0: this._skipCellSize.bind(this),
23
+ 1: this._applyCellSize.bind(this)
24
+ };
25
+ _applyCellSize(difference) {
26
+ return {
27
+ x: this._snapToGrid(this._onPointerDown.x + difference.x, this._hCellSize) - this._onPointerDown.x,
28
+ y: this._snapToGrid(this._onPointerDown.y + difference.y, this._vCellSize) - this._onPointerDown.y
29
+ };
30
+ }
31
+ _skipCellSize(difference) {
32
+ return difference;
33
+ }
34
+ _clamp(value, min, max) {
35
+ return Math.min(Math.max(value, min), max);
36
+ }
37
+ _snapToGrid(value, cellSize) {
38
+ return Math.round(value / cellSize) * cellSize;
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtYm91bmRzLWxpbWl0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvcG9pbnQtYm91bmRzLWxpbWl0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxNQUFNLE9BQU8sa0JBQWtCO0lBUW5CO0lBQ1M7SUFQWCxpQkFBaUIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU5QyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVcsQ0FBQyxTQUFTLENBQUM7SUFDMUQsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFXLENBQUMsU0FBUyxDQUFDO0lBRWxFLFlBQ1UsY0FBc0IsRUFDYixNQUFvQjtRQUQ3QixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQWM7SUFFdkMsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFrQixFQUFFLGNBQXVCO1FBQ3RELE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVqQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZFLE9BQU87WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUIsR0FBbUQ7UUFDNUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ2xDLENBQUM7SUFFTSxjQUFjLENBQUMsVUFBa0I7UUFDdkMsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDbkcsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsVUFBa0I7UUFDdEMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVc7UUFDcEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCwgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBmSW5qZWN0IH0gZnJvbSAnLi4vZi1pbmplY3Rvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIFBvaW50Qm91bmRzTGltaXRlciB7XG5cbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGZJbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHJpdmF0ZSBfdkNlbGxTaXplID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlIS52Q2VsbFNpemU7XG4gIHByaXZhdGUgX2hDZWxsU2l6ZSA9IHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSEuaENlbGxTaXplO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX29uUG9pbnRlckRvd246IElQb2ludCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9saW1pdDogSU1pbk1heFBvaW50XG4gICkge1xuICB9XG5cbiAgcHVibGljIGxpbWl0KGRpZmZlcmVuY2U6IElQb2ludCwgYWRqdXN0Q2VsbFNpemU6IGJvb2xlYW4pOiBJUG9pbnQge1xuICAgIGNvbnN0IHsgbWluLCBtYXggfSA9IHRoaXMuX2xpbWl0O1xuXG4gICAgY29uc3QgeyB4LCB5IH0gPSB0aGlzLl9jZWxsU2l6ZVN0cmF0ZWdpZXNbK2FkanVzdENlbGxTaXplXShkaWZmZXJlbmNlKTtcblxuICAgIHJldHVybiB7XG4gICAgICB4OiB0aGlzLl9jbGFtcCh4LCBtaW4ueCwgbWF4LngpLFxuICAgICAgeTogdGhpcy5fY2xhbXAoeSwgbWluLnksIG1heC55KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfY2VsbFNpemVTdHJhdGVnaWVzOiBSZWNvcmQ8bnVtYmVyLCAoZGlmZmVyZW5jZTogSVBvaW50KSA9PiBJUG9pbnQ+ID0ge1xuICAgIDA6IHRoaXMuX3NraXBDZWxsU2l6ZS5iaW5kKHRoaXMpLFxuICAgIDE6IHRoaXMuX2FwcGx5Q2VsbFNpemUuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgX2FwcGx5Q2VsbFNpemUoZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogdGhpcy5fc25hcFRvR3JpZCh0aGlzLl9vblBvaW50ZXJEb3duLnggKyBkaWZmZXJlbmNlLngsIHRoaXMuX2hDZWxsU2l6ZSkgLSB0aGlzLl9vblBvaW50ZXJEb3duLngsXG4gICAgICB5OiB0aGlzLl9zbmFwVG9HcmlkKHRoaXMuX29uUG9pbnRlckRvd24ueSArIGRpZmZlcmVuY2UueSwgdGhpcy5fdkNlbGxTaXplKSAtIHRoaXMuX29uUG9pbnRlckRvd24ueVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9za2lwQ2VsbFNpemUoZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gZGlmZmVyZW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsYW1wKHZhbHVlOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbHVlLCBtaW4pLCBtYXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc25hcFRvR3JpZCh2YWx1ZTogbnVtYmVyLCBjZWxsU2l6ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAvIGNlbGxTaXplKSAqIGNlbGxTaXplO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS } from './create-move-nodes-drag-model-from-selection';
2
2
  import { NodeMoveFinalizeExecution } from './node-move-finalize';
3
3
  import { NODE_MOVE_PREPARATION_PROVIDERS } from './node-move-preparation';
4
- import { NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS } from './node-drag-to-parent-preparation';
4
+ import { NodeDragToParentPreparationExecution } from './node-drag-to-parent-preparation';
5
5
  import { NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS } from './node-drag-to-parent-finalize';
6
6
  import { LineAlignmentPreparationExecution } from './line-alignment-preparation';
7
7
  export const NODE_PROVIDERS = [
@@ -9,7 +9,7 @@ export const NODE_PROVIDERS = [
9
9
  LineAlignmentPreparationExecution,
10
10
  NodeMoveFinalizeExecution,
11
11
  ...NODE_MOVE_PREPARATION_PROVIDERS,
12
- ...NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS,
12
+ NodeDragToParentPreparationExecution,
13
13
  ...NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS
14
14
  ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNySCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFFNUIsR0FBRyxvREFBb0Q7SUFFdkQsaUNBQWlDO0lBRWpDLHlCQUF5QjtJQUV6QixHQUFHLCtCQUErQjtJQUVsQyxHQUFHLHlDQUF5QztJQUU1QyxHQUFHLHNDQUFzQztDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBOb2RlTW92ZUZpbmFsaXplRXhlY3V0aW9uIH0gZnJvbSAnLi9ub2RlLW1vdmUtZmluYWxpemUnO1xuaW1wb3J0IHsgTk9ERV9NT1ZFX1BSRVBBUkFUSU9OX1BST1ZJREVSUyB9IGZyb20gJy4vbm9kZS1tb3ZlLXByZXBhcmF0aW9uJztcbmltcG9ydCB7IE5PREVfRFJBR19UT19QQVJFTlRfUFJFUEFSQVRJT05fUFJPVklERVJTIH0gZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uJztcbmltcG9ydCB7IE5PREVfRFJBR19UT19QQVJFTlRfRklOQUxJWkVfUFJPVklERVJTIH0gZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LWZpbmFsaXplJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgY29uc3QgTk9ERV9QUk9WSURFUlMgPSBbXG5cbiAgLi4uQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyxcblxuICBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24sXG5cbiAgTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbixcblxuICAuLi5OT0RFX01PVkVfUFJFUEFSQVRJT05fUFJPVklERVJTLFxuXG4gIC4uLk5PREVfRFJBR19UT19QQVJFTlRfUFJFUEFSQVRJT05fUFJPVklERVJTLFxuXG4gIC4uLk5PREVfRFJBR19UT19QQVJFTlRfRklOQUxJWkVfUFJPVklERVJTXG5dO1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNySCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsb0NBQW9DLEVBQ3JDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBRTVCLEdBQUcsb0RBQW9EO0lBRXZELGlDQUFpQztJQUVqQyx5QkFBeUI7SUFFekIsR0FBRywrQkFBK0I7SUFFbEMsb0NBQW9DO0lBRXBDLEdBQUcsc0NBQXNDO0NBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDUkVBVEVfTU9WRV9OT0RFX0RSQUdfTU9ERUxfRlJPTV9TRUxFQ1RJT05fUFJPVklERVJTIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcbmltcG9ydCB7IE5vZGVNb3ZlRmluYWxpemVFeGVjdXRpb24gfSBmcm9tICcuL25vZGUtbW92ZS1maW5hbGl6ZSc7XG5pbXBvcnQgeyBOT0RFX01PVkVfUFJFUEFSQVRJT05fUFJPVklERVJTIH0gZnJvbSAnLi9ub2RlLW1vdmUtcHJlcGFyYXRpb24nO1xuaW1wb3J0IHtcbiAgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uRXhlY3V0aW9uXG59IGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBOT0RFX0RSQUdfVE9fUEFSRU5UX0ZJTkFMSVpFX1BST1ZJREVSUyB9IGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC1maW5hbGl6ZSc7XG5pbXBvcnQgeyBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24gfSBmcm9tICcuL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uJztcblxuZXhwb3J0IGNvbnN0IE5PREVfUFJPVklERVJTID0gW1xuXG4gIC4uLkNSRUFURV9NT1ZFX05PREVfRFJBR19NT0RFTF9GUk9NX1NFTEVDVElPTl9QUk9WSURFUlMsXG5cbiAgTGluZUFsaWdubWVudFByZXBhcmF0aW9uRXhlY3V0aW9uLFxuXG4gIE5vZGVNb3ZlRmluYWxpemVFeGVjdXRpb24sXG5cbiAgLi4uTk9ERV9NT1ZFX1BSRVBBUkFUSU9OX1BST1ZJREVSUyxcblxuICBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25FeGVjdXRpb24sXG5cbiAgLi4uTk9ERV9EUkFHX1RPX1BBUkVOVF9GSU5BTElaRV9QUk9WSURFUlNcbl07XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { FComponentsStore } from '../../f-storage';
2
+ import { fInject } from '../f-injector';
3
+ import { PointBoundsLimiter } from './point-bounds-limiter';
4
+ // import { FMediator } from '@foblex/mediator';
5
+ export class SummaryNodeDragHandler {
6
+ limits;
7
+ fHandlers;
8
+ commonRect;
9
+ // private _fMediator = fInject(FMediator);
10
+ _fComponentStore = fInject(FComponentsStore);
11
+ _fBoundsLimiter;
12
+ constructor(limits, fHandlers, commonRect) {
13
+ this.limits = limits;
14
+ this.fHandlers = fHandlers;
15
+ this.commonRect = commonRect;
16
+ //this._onPointerDownPosition = this._getDraggedNodesBoundingRect();
17
+ this._fBoundsLimiter = new PointBoundsLimiter(this.commonRect, limits);
18
+ }
19
+ // private _getDraggedNodesBoundingRect(): IRect {
20
+ // return RectExtensions.union(this.fHandlers.map((x) => {
21
+ // return this._fMediator.execute<IRect>(new GetNormalizedElementRectRequest(x.fNode.hostElement, false));
22
+ // })) || RectExtensions.initialize();
23
+ // }
24
+ onPointerMove(difference) {
25
+ const adjustCellSize = this._fComponentStore.fDraggable.fCellSizeWhileDragging;
26
+ const differenceWithRestrictions = this._fBoundsLimiter.limit(difference, adjustCellSize);
27
+ this.fHandlers.forEach((x) => x.onPointerMove(differenceWithRestrictions));
28
+ }
29
+ onPointerUp() {
30
+ this.fHandlers.forEach((x) => x.onPointerUp());
31
+ }
32
+ calculateRestrictedDifference(difference) {
33
+ return this._fBoundsLimiter.limit(difference, true);
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1ub2RlLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9zdW1tYXJ5LW5vZGUuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsZ0RBQWdEO0FBRWhELE1BQU0sT0FBTyxzQkFBc0I7SUFReEI7SUFDQTtJQUNBO0lBUlYsMkNBQTJDO0lBQ2xDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXBDLGVBQWUsQ0FBcUI7SUFFckQsWUFDUyxNQUFvQixFQUNwQixTQUE0QixFQUM1QixVQUFpQjtRQUZqQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQU87UUFFeEIsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsNERBQTREO0lBQzVELDhHQUE4RztJQUM5Ryx3Q0FBd0M7SUFDeEMsSUFBSTtJQUVHLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVyxDQUFDLHNCQUFzQixDQUFDO1FBQ2hGLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRTFGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLDZCQUE2QixDQUFDLFVBQWtCO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCwgSVBvaW50LCBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgZkluamVjdCB9IGZyb20gJy4uL2YtaW5qZWN0b3InO1xuaW1wb3J0IHsgUG9pbnRCb3VuZHNMaW1pdGVyIH0gZnJvbSAnLi9wb2ludC1ib3VuZHMtbGltaXRlcic7XG5pbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL25vZGUuZHJhZy1oYW5kbGVyJztcbi8vIGltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuXG5leHBvcnQgY2xhc3MgU3VtbWFyeU5vZGVEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuIC8vIHByaXZhdGUgX2ZNZWRpYXRvciA9IGZJbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudFN0b3JlID0gZkluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mQm91bmRzTGltaXRlcjogUG9pbnRCb3VuZHNMaW1pdGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsaW1pdHM6IElNaW5NYXhQb2ludCxcbiAgICBwdWJsaWMgZkhhbmRsZXJzOiBOb2RlRHJhZ0hhbmRsZXJbXSxcbiAgICBwdWJsaWMgY29tbW9uUmVjdDogSVJlY3RcbiAgKSB7XG4gICAgLy90aGlzLl9vblBvaW50ZXJEb3duUG9zaXRpb24gPSB0aGlzLl9nZXREcmFnZ2VkTm9kZXNCb3VuZGluZ1JlY3QoKTtcbiAgICB0aGlzLl9mQm91bmRzTGltaXRlciA9IG5ldyBQb2ludEJvdW5kc0xpbWl0ZXIodGhpcy5jb21tb25SZWN0LCBsaW1pdHMpO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBfZ2V0RHJhZ2dlZE5vZGVzQm91bmRpbmdSZWN0KCk6IElSZWN0IHtcbiAgLy8gICByZXR1cm4gUmVjdEV4dGVuc2lvbnMudW5pb24odGhpcy5mSGFuZGxlcnMubWFwKCh4KSA9PiB7XG4gIC8vICAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguZk5vZGUuaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gIC8vICAgfSkpIHx8IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgLy8gfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGFkanVzdENlbGxTaXplID0gdGhpcy5fZkNvbXBvbmVudFN0b3JlLmZEcmFnZ2FibGUhLmZDZWxsU2l6ZVdoaWxlRHJhZ2dpbmc7XG4gICAgY29uc3QgZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMgPSB0aGlzLl9mQm91bmRzTGltaXRlci5saW1pdChkaWZmZXJlbmNlLCBhZGp1c3RDZWxsU2l6ZSk7XG5cbiAgICB0aGlzLmZIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwKCkpO1xuICB9XG5cbiAgcHVibGljIGNhbGN1bGF0ZVJlc3RyaWN0ZWREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZCb3VuZHNMaW1pdGVyLmxpbWl0KGRpZmZlcmVuY2UsIHRydWUpO1xuICB9XG59XG4iXX0=
@@ -3,37 +3,41 @@ import { Injectable } from '@angular/core';
3
3
  import { ApplyChildResizeRestrictionsRequest } from './apply-child-resize-restrictions.request';
4
4
  import { FExecutionRegister } from '@foblex/mediator';
5
5
  import * as i0 from "@angular/core";
6
- const OFFSET = 0;
6
+ const CHILD_RESIZE_OFFSET = 0;
7
7
  let ApplyChildResizeRestrictionsExecution = class ApplyChildResizeRestrictionsExecution {
8
8
  handle(request) {
9
- this.applyRestrictions(request.rect, request.restrictionsRect);
9
+ this._apply(request.rect, request.restrictionsRect);
10
10
  }
11
- applyRestrictions(rect, restrictionsRect) {
12
- this.left(rect, restrictionsRect);
13
- this.top(rect, restrictionsRect);
14
- this.right(rect, restrictionsRect);
15
- this.bottom(rect, restrictionsRect);
11
+ _apply(rect, restrictionsRect) {
12
+ this._restrictLeft(rect, restrictionsRect);
13
+ this._restrictTop(rect, restrictionsRect);
14
+ this._restrictRight(rect, restrictionsRect);
15
+ this._restrictBottom(rect, restrictionsRect);
16
16
  }
17
- left(rect, restrictionsRect) {
18
- if (rect.x > restrictionsRect.x - OFFSET) {
19
- rect.width += rect.x - restrictionsRect.x - OFFSET;
20
- rect.x = restrictionsRect.x - OFFSET;
17
+ _restrictLeft(rect, restrictions) {
18
+ const delta = rect.x - (restrictions.x - CHILD_RESIZE_OFFSET);
19
+ if (delta > 0) {
20
+ rect.x -= delta;
21
+ rect.width += delta;
21
22
  }
22
23
  }
23
- top(rect, restrictionsRect) {
24
- if (rect.y > restrictionsRect.y - OFFSET) {
25
- rect.height += rect.y - restrictionsRect.y - OFFSET;
26
- rect.y = restrictionsRect.y - OFFSET;
24
+ _restrictTop(rect, restrictions) {
25
+ const delta = rect.y - (restrictions.y - CHILD_RESIZE_OFFSET);
26
+ if (delta > 0) {
27
+ rect.y -= delta;
28
+ rect.height += delta;
27
29
  }
28
30
  }
29
- right(rect, restrictionsRect) {
30
- if (rect.x + rect.width <= restrictionsRect.x + restrictionsRect.width + OFFSET) {
31
- rect.width = restrictionsRect.x + restrictionsRect.width - rect.x + OFFSET;
31
+ _restrictRight(rect, restrictions) {
32
+ const maxRight = restrictions.x + restrictions.width + CHILD_RESIZE_OFFSET;
33
+ if (rect.x + rect.width <= maxRight) {
34
+ rect.width = maxRight - rect.x;
32
35
  }
33
36
  }
34
- bottom(rect, restrictionsRect) {
35
- if (rect.y + rect.height <= restrictionsRect.y + restrictionsRect.height + OFFSET) {
36
- rect.height = restrictionsRect.y + restrictionsRect.height - rect.y + OFFSET;
37
+ _restrictBottom(rect, restrictions) {
38
+ const maxBottom = restrictions.y + restrictions.height + CHILD_RESIZE_OFFSET;
39
+ if (rect.y + rect.height <= maxBottom) {
40
+ rect.height = maxBottom - rect.y;
37
41
  }
38
42
  }
39
43
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApplyChildResizeRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -46,4 +50,4 @@ export { ApplyChildResizeRestrictionsExecution };
46
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApplyChildResizeRestrictionsExecution, decorators: [{
47
51
  type: Injectable
48
52
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2FwcGx5LWNoaWxkLXJlc2l6ZS1yZXN0cmljdGlvbnMvYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUlWLElBQU0scUNBQXFDLEdBQTNDLE1BQU0scUNBQXFDO0lBR3pDLE1BQU0sQ0FBQyxPQUE0QztRQUN4RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBVyxFQUFFLGdCQUF1QjtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxJQUFJLENBQUMsSUFBVyxFQUFFLGdCQUF1QjtRQUMvQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQ25ELElBQUksQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVPLEdBQUcsQ0FBQyxJQUFXLEVBQUUsZ0JBQXVCO1FBQzlDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDcEQsSUFBSSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLElBQVcsRUFBRSxnQkFBdUI7UUFDaEQsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQztZQUNoRixJQUFJLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsSUFBVyxFQUFFLGdCQUF1QjtRQUNqRCxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUMvRSxDQUFDO0lBQ0gsQ0FBQzt1R0F0Q1UscUNBQXFDOzJHQUFyQyxxQ0FBcUM7O0FBQXJDLHFDQUFxQztJQURqRCxrQkFBa0IsQ0FBQyxtQ0FBbUMsQ0FBQztHQUMzQyxxQ0FBcUMsQ0F1Q2pEOzsyRkF2Q1kscUNBQXFDO2tCQUZqRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL2FwcGx5LWNoaWxkLXJlc2l6ZS1yZXN0cmljdGlvbnMucmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbmNvbnN0IE9GRlNFVCA9IDA7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc0V4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248QXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5hcHBseVJlc3RyaWN0aW9ucyhyZXF1ZXN0LnJlY3QsIHJlcXVlc3QucmVzdHJpY3Rpb25zUmVjdCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UmVzdHJpY3Rpb25zKHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIHRoaXMubGVmdChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLnRvcChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLnJpZ2h0KHJlY3QsIHJlc3RyaWN0aW9uc1JlY3QpO1xuICAgIHRoaXMuYm90dG9tKHJlY3QsIHJlc3RyaWN0aW9uc1JlY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBsZWZ0KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmIChyZWN0LnggPiByZXN0cmljdGlvbnNSZWN0LnggLSBPRkZTRVQpIHtcbiAgICAgIHJlY3Qud2lkdGggKz0gcmVjdC54IC0gcmVzdHJpY3Rpb25zUmVjdC54IC0gT0ZGU0VUO1xuICAgICAgcmVjdC54ID0gcmVzdHJpY3Rpb25zUmVjdC54IC0gT0ZGU0VUO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG9wKHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmIChyZWN0LnkgPiByZXN0cmljdGlvbnNSZWN0LnkgLSBPRkZTRVQpIHtcbiAgICAgIHJlY3QuaGVpZ2h0ICs9IHJlY3QueSAtIHJlc3RyaWN0aW9uc1JlY3QueSAtIE9GRlNFVDtcbiAgICAgIHJlY3QueSA9IHJlc3RyaWN0aW9uc1JlY3QueSAtIE9GRlNFVDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJpZ2h0KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmIChyZWN0LnggKyByZWN0LndpZHRoIDw9IHJlc3RyaWN0aW9uc1JlY3QueCArIHJlc3RyaWN0aW9uc1JlY3Qud2lkdGggKyBPRkZTRVQpIHtcbiAgICAgIHJlY3Qud2lkdGggPSByZXN0cmljdGlvbnNSZWN0LnggKyByZXN0cmljdGlvbnNSZWN0LndpZHRoIC0gcmVjdC54ICsgT0ZGU0VUO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYm90dG9tKHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmIChyZWN0LnkgKyByZWN0LmhlaWdodCA8PSByZXN0cmljdGlvbnNSZWN0LnkgKyByZXN0cmljdGlvbnNSZWN0LmhlaWdodCArIE9GRlNFVCkge1xuICAgICAgcmVjdC5oZWlnaHQgPSByZXN0cmljdGlvbnNSZWN0LnkgKyByZXN0cmljdGlvbnNSZWN0LmhlaWdodCAtIHJlY3QueSArIE9GRlNFVDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2FwcGx5LWNoaWxkLXJlc2l6ZS1yZXN0cmljdGlvbnMvYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBSXZCLElBQU0scUNBQXFDLEdBQTNDLE1BQU0scUNBQXFDO0lBR3pDLE1BQU0sQ0FBQyxPQUE0QztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFXLEVBQUUsZ0JBQXVCO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFXLEVBQUUsWUFBbUI7UUFDcEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVcsRUFBRSxZQUFtQjtRQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsSUFBVyxFQUFFLFlBQW1CO1FBQ3JELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssR0FBRyxtQkFBbUIsQ0FBQztRQUMzRSxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVcsRUFBRSxZQUFtQjtRQUN0RCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEdBQUcsbUJBQW1CLENBQUM7UUFDN0UsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzt1R0ExQ1UscUNBQXFDOzJHQUFyQyxxQ0FBcUM7O0FBQXJDLHFDQUFxQztJQURqRCxrQkFBa0IsQ0FBQyxtQ0FBbUMsQ0FBQztHQUMzQyxxQ0FBcUMsQ0EyQ2pEOzsyRkEzQ1kscUNBQXFDO2tCQUZqRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL2FwcGx5LWNoaWxkLXJlc2l6ZS1yZXN0cmljdGlvbnMucmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbmNvbnN0IENISUxEX1JFU0laRV9PRkZTRVQgPSAwO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBBcHBseUNoaWxkUmVzaXplUmVzdHJpY3Rpb25zUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2FwcGx5KHJlcXVlc3QucmVjdCwgcmVxdWVzdC5yZXN0cmljdGlvbnNSZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc3RyaWN0TGVmdChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLl9yZXN0cmljdFRvcChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLl9yZXN0cmljdFJpZ2h0KHJlY3QsIHJlc3RyaWN0aW9uc1JlY3QpO1xuICAgIHRoaXMuX3Jlc3RyaWN0Qm90dG9tKHJlY3QsIHJlc3RyaWN0aW9uc1JlY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzdHJpY3RMZWZ0KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnM6IElSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgZGVsdGEgPSByZWN0LnggLSAocmVzdHJpY3Rpb25zLnggLSBDSElMRF9SRVNJWkVfT0ZGU0VUKTtcbiAgICBpZiAoZGVsdGEgPiAwKSB7XG4gICAgICByZWN0LnggLT0gZGVsdGE7XG4gICAgICByZWN0LndpZHRoICs9IGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Jlc3RyaWN0VG9wKHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnM6IElSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgZGVsdGEgPSByZWN0LnkgLSAocmVzdHJpY3Rpb25zLnkgLSBDSElMRF9SRVNJWkVfT0ZGU0VUKTtcbiAgICBpZiAoZGVsdGEgPiAwKSB7XG4gICAgICByZWN0LnkgLT0gZGVsdGE7XG4gICAgICByZWN0LmhlaWdodCArPSBkZWx0YTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXN0cmljdFJpZ2h0KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnM6IElSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgbWF4UmlnaHQgPSByZXN0cmljdGlvbnMueCArIHJlc3RyaWN0aW9ucy53aWR0aCArIENISUxEX1JFU0laRV9PRkZTRVQ7XG4gICAgaWYgKHJlY3QueCArIHJlY3Qud2lkdGggPD0gbWF4UmlnaHQpIHtcbiAgICAgIHJlY3Qud2lkdGggPSBtYXhSaWdodCAtIHJlY3QueDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXN0cmljdEJvdHRvbShyZWN0OiBJUmVjdCwgcmVzdHJpY3Rpb25zOiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IG1heEJvdHRvbSA9IHJlc3RyaWN0aW9ucy55ICsgcmVzdHJpY3Rpb25zLmhlaWdodCArIENISUxEX1JFU0laRV9PRkZTRVQ7XG4gICAgaWYgKHJlY3QueSArIHJlY3QuaGVpZ2h0IDw9IG1heEJvdHRvbSkge1xuICAgICAgcmVjdC5oZWlnaHQgPSBtYXhCb3R0b20gLSByZWN0Lnk7XG4gICAgfVxuICB9XG59XG4iXX0=