@foblex/flow 17.2.2 → 17.4.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 (313) hide show
  1. package/domain/f-event-trigger.d.ts +4 -4
  2. package/domain/index.d.ts +0 -1
  3. package/esm2022/domain/f-event-trigger.mjs +1 -1
  4. package/esm2022/domain/index.mjs +1 -2
  5. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +6 -2
  6. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +4 -2
  7. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +6 -2
  8. package/esm2022/f-draggable/f-connection/f-reassign-connection/index.mjs +3 -3
  9. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +63 -0
  10. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.request.mjs +7 -0
  11. package/esm2022/f-draggable/f-connection/f-reassign-connection/{reassign-connection-finalize → reassign-finalize}/index.mjs +1 -1
  12. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +75 -0
  13. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.request.mjs +9 -0
  14. package/esm2022/f-draggable/f-connection/f-reassign-connection/{reassign-connection-preparation → reassign-preparation}/index.mjs +1 -1
  15. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  16. package/esm2022/f-draggable/f-draggable.directive.mjs +39 -20
  17. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.mjs +57 -0
  18. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.request.mjs +7 -0
  19. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/index.mjs +3 -0
  20. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.mjs +74 -0
  21. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.mjs +7 -0
  22. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/index.mjs +3 -0
  23. package/esm2022/f-draggable/f-drop-to-group/f-drop-to-group.event.mjs +11 -0
  24. package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +66 -0
  25. package/esm2022/f-draggable/f-drop-to-group/index.mjs +6 -0
  26. package/esm2022/f-draggable/f-drop-to-group/providers.mjs +7 -0
  27. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  28. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/index.mjs +5 -0
  29. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  30. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  31. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  32. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +109 -0
  33. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +7 -0
  34. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +69 -0
  35. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +7 -0
  36. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  37. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +49 -0
  38. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +9 -0
  39. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  40. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +3 -0
  41. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +59 -0
  42. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +11 -0
  43. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +3 -0
  44. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +59 -0
  45. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +11 -0
  46. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  47. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  48. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.mjs +10 -0
  49. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.mjs +13 -0
  50. package/esm2022/f-draggable/f-node-move/f-line-alignment.drag-handler.mjs +63 -0
  51. package/esm2022/f-draggable/f-node-move/f-node-move.drag-handler.mjs +30 -0
  52. package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +33 -0
  53. package/esm2022/f-draggable/f-node-move/index.mjs +11 -0
  54. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/index.mjs +3 -0
  55. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.mjs +56 -0
  56. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.mjs +9 -0
  57. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +88 -0
  58. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.request.mjs +7 -0
  59. package/esm2022/f-draggable/f-node-move/move-finalize/index.mjs +3 -0
  60. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +80 -0
  61. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +9 -0
  62. package/esm2022/f-draggable/f-node-move/move-preparation/index.mjs +3 -0
  63. package/esm2022/f-draggable/f-node-move/point-bounds-limiter.mjs +41 -0
  64. package/esm2022/f-draggable/f-node-move/providers.mjs +11 -0
  65. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +53 -0
  66. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +9 -0
  67. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/index.mjs +3 -0
  68. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +49 -0
  69. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +9 -0
  70. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.mjs +3 -0
  71. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +25 -0
  72. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.mjs +13 -0
  73. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/index.mjs +3 -0
  74. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +34 -0
  75. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.mjs +11 -0
  76. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/index.mjs +3 -0
  77. package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +72 -0
  78. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +39 -0
  79. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +9 -0
  80. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +2 -0
  81. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/index.mjs +4 -0
  82. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +38 -0
  83. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +9 -0
  84. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.mjs +3 -0
  85. package/esm2022/f-draggable/f-node-resize/index.mjs +12 -0
  86. package/esm2022/f-draggable/f-node-resize/providers.mjs +19 -0
  87. package/esm2022/f-draggable/f-node-resize/resize-direction.mjs +12 -0
  88. package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.mjs +31 -0
  89. package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.request.mjs +7 -0
  90. package/esm2022/f-draggable/f-node-resize/resize-finalize/index.mjs +3 -0
  91. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.mjs +72 -0
  92. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.request.mjs +9 -0
  93. package/esm2022/f-draggable/f-node-resize/resize-preparation/index.mjs +3 -0
  94. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +1 -1
  95. package/esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs +3 -2
  96. package/esm2022/f-draggable/index.mjs +6 -5
  97. package/esm2022/f-draggable/providers.mjs +5 -3
  98. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +6 -2
  99. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +4 -2
  100. package/esm2022/f-flow.module.mjs +27 -31
  101. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  102. package/esm2022/f-selection-area/f-selection-area.component.mjs +4 -4
  103. package/esm2022/f-zoom/f-zoom.directive.mjs +19 -52
  104. package/esm2022/f-zoom/index.mjs +1 -3
  105. package/f-connection/providers.d.ts +1 -1
  106. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +1 -0
  107. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.d.ts +3 -1
  108. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +1 -0
  109. package/f-draggable/f-connection/f-reassign-connection/index.d.ts +2 -2
  110. package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-preparation → reassign-preparation}/f-reassign-connection-preparation.execution.d.ts +1 -0
  111. package/f-draggable/f-connection/providers.d.ts +1 -1
  112. package/f-draggable/f-draggable-base.d.ts +1 -1
  113. package/f-draggable/f-draggable.directive.d.ts +8 -3
  114. package/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.d.ts +15 -0
  115. package/f-draggable/{node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.request.d.ts → f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.request.d.ts} +1 -1
  116. package/f-draggable/f-drop-to-group/drop-to-group-finalize/index.d.ts +2 -0
  117. package/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.d.ts +19 -0
  118. package/f-draggable/{node-resize/node-resize-finalize/node-resize-finalize.request.d.ts → f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.d.ts} +1 -1
  119. package/f-draggable/f-drop-to-group/drop-to-group-preparation/index.d.ts +2 -0
  120. package/f-draggable/{node/node-drag-to-parent.drag-handler.d.ts → f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts} +7 -9
  121. package/f-draggable/f-drop-to-group/index.d.ts +5 -0
  122. package/f-draggable/f-drop-to-group/providers.d.ts +3 -0
  123. package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +3 -3
  124. package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +3 -3
  125. package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +3 -3
  126. package/f-draggable/{node/line-alignment.drag-handler.d.ts → f-node-move/f-line-alignment.drag-handler.d.ts} +1 -1
  127. package/f-draggable/{node/node.drag-handler.d.ts → f-node-move/f-node-move.drag-handler.d.ts} +1 -1
  128. package/f-draggable/{node/summary-node.drag-handler.d.ts → f-node-move/f-summary-node-move.drag-handler.d.ts} +4 -4
  129. package/f-draggable/f-node-move/index.d.ts +10 -0
  130. package/f-draggable/{node/node-move-finalize/node-move-finalize.execution.d.ts → f-node-move/move-finalize/f-node-move-finalize.execution.d.ts} +5 -5
  131. package/f-draggable/{node/node-move-finalize/node-move-finalize.request.d.ts → f-node-move/move-finalize/f-node-move-finalize.request.d.ts} +1 -1
  132. package/f-draggable/f-node-move/move-finalize/index.d.ts +2 -0
  133. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +20 -0
  134. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.d.ts +7 -0
  135. package/f-draggable/f-node-move/move-preparation/index.d.ts +2 -0
  136. package/f-draggable/f-node-move/providers.d.ts +4 -0
  137. package/f-draggable/{node-resize/node-resize.drag-handler.d.ts → f-node-resize/f-node-resize.drag-handler.d.ts} +2 -2
  138. package/f-draggable/{node-resize → f-node-resize}/index.d.ts +3 -3
  139. package/f-draggable/{node-resize → f-node-resize}/providers.d.ts +3 -2
  140. package/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.d.ts +10 -0
  141. package/f-draggable/{node/node-move-preparation/node-move-preparation.request.d.ts → f-node-resize/resize-finalize/f-node-resize-finalize.request.d.ts} +1 -1
  142. package/f-draggable/f-node-resize/resize-finalize/index.d.ts +2 -0
  143. package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.d.ts +21 -0
  144. package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.request.d.ts +7 -0
  145. package/f-draggable/f-node-resize/resize-preparation/index.d.ts +2 -0
  146. package/f-draggable/i-f-drag-and-drop-plugin.d.ts +2 -1
  147. package/f-draggable/index.d.ts +5 -4
  148. package/f-draggable/providers.d.ts +1 -1
  149. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +1 -0
  150. package/f-external-item/domain/preparation/f-external-item-preparation.request.d.ts +3 -1
  151. package/f-flow.module.d.ts +28 -29
  152. package/f-storage/providers.d.ts +1 -1
  153. package/f-zoom/f-zoom.directive.d.ts +6 -12
  154. package/f-zoom/index.d.ts +0 -2
  155. package/fesm2022/foblex-flow.mjs +594 -631
  156. package/fesm2022/foblex-flow.mjs.map +1 -1
  157. package/package.json +1 -1
  158. package/domain/i-f-action-trigger.d.ts +0 -14
  159. package/esm2022/domain/i-f-action-trigger.mjs +0 -11
  160. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.execution.mjs +0 -63
  161. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-finalize/f-reassign-connection-finalize.request.mjs +0 -7
  162. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.execution.mjs +0 -72
  163. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-connection-preparation/f-reassign-connection-preparation.request.mjs +0 -9
  164. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +0 -56
  165. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +0 -5
  166. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +0 -11
  167. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +0 -22
  168. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +0 -11
  169. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -109
  170. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +0 -7
  171. 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 +0 -69
  172. 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 +0 -7
  173. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +0 -3
  174. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +0 -49
  175. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +0 -9
  176. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +0 -3
  177. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +0 -3
  178. 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 +0 -59
  179. 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 +0 -11
  180. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +0 -3
  181. 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 +0 -59
  182. 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 +0 -11
  183. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +0 -2
  184. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +0 -2
  185. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +0 -10
  186. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +0 -13
  187. package/esm2022/f-draggable/node/f-drop-to-group.event.mjs +0 -11
  188. package/esm2022/f-draggable/node/index.mjs +0 -15
  189. package/esm2022/f-draggable/node/line-alignment-preparation/index.mjs +0 -3
  190. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +0 -56
  191. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +0 -9
  192. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +0 -63
  193. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/index.mjs +0 -4
  194. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +0 -61
  195. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.request.mjs +0 -7
  196. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/providers.mjs +0 -5
  197. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +0 -3
  198. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +0 -80
  199. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.request.mjs +0 -7
  200. package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +0 -67
  201. package/esm2022/f-draggable/node/node-move-finalize/index.mjs +0 -3
  202. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +0 -88
  203. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs +0 -7
  204. package/esm2022/f-draggable/node/node-move-preparation/index.mjs +0 -4
  205. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +0 -77
  206. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs +0 -7
  207. package/esm2022/f-draggable/node/node-move-preparation/providers.mjs +0 -5
  208. package/esm2022/f-draggable/node/node.drag-handler.mjs +0 -30
  209. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +0 -41
  210. package/esm2022/f-draggable/node/providers.mjs +0 -15
  211. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +0 -41
  212. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -53
  213. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +0 -9
  214. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs +0 -3
  215. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
  216. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +0 -9
  217. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs +0 -3
  218. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
  219. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -13
  220. package/esm2022/f-draggable/node-resize/calculate-changed-position/index.mjs +0 -3
  221. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
  222. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -11
  223. package/esm2022/f-draggable/node-resize/calculate-changed-size/index.mjs +0 -3
  224. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -39
  225. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +0 -9
  226. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +0 -2
  227. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/index.mjs +0 -4
  228. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -38
  229. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -9
  230. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs +0 -3
  231. package/esm2022/f-draggable/node-resize/index.mjs +0 -12
  232. package/esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs +0 -4
  233. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +0 -31
  234. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs +0 -7
  235. package/esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs +0 -5
  236. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +0 -3
  237. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +0 -69
  238. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs +0 -7
  239. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +0 -72
  240. package/esm2022/f-draggable/node-resize/providers.mjs +0 -19
  241. package/esm2022/f-draggable/node-resize/resize-direction.mjs +0 -12
  242. package/esm2022/f-zoom/e-f-zoom-action.mjs +0 -6
  243. package/esm2022/f-zoom/providers.mjs +0 -5
  244. package/f-draggable/node/index.d.ts +0 -14
  245. package/f-draggable/node/node-drag-to-parent-finalize/index.d.ts +0 -3
  246. package/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.d.ts +0 -18
  247. package/f-draggable/node/node-drag-to-parent-finalize/providers.d.ts +0 -2
  248. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  249. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +0 -22
  250. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.request.d.ts +0 -5
  251. package/f-draggable/node/node-move-finalize/index.d.ts +0 -2
  252. package/f-draggable/node/node-move-preparation/index.d.ts +0 -3
  253. package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +0 -19
  254. package/f-draggable/node/node-move-preparation/providers.d.ts +0 -2
  255. package/f-draggable/node/providers.d.ts +0 -4
  256. package/f-draggable/node-resize/node-resize-finalize/index.d.ts +0 -3
  257. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +0 -10
  258. package/f-draggable/node-resize/node-resize-finalize/providers.d.ts +0 -2
  259. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  260. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +0 -20
  261. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.d.ts +0 -5
  262. package/f-zoom/e-f-zoom-action.d.ts +0 -4
  263. package/f-zoom/providers.d.ts +0 -2
  264. /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-finalize → reassign-finalize}/f-reassign-connection-finalize.execution.d.ts +0 -0
  265. /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-finalize → reassign-finalize}/f-reassign-connection-finalize.request.d.ts +0 -0
  266. /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-finalize → reassign-finalize}/index.d.ts +0 -0
  267. /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-preparation → reassign-preparation}/f-reassign-connection-preparation.request.d.ts +0 -0
  268. /package/f-draggable/f-connection/f-reassign-connection/{reassign-connection-preparation → reassign-preparation}/index.d.ts +0 -0
  269. /package/f-draggable/{node → f-drop-to-group}/f-drop-to-group.event.d.ts +0 -0
  270. /package/f-draggable/{node → f-node-move}/connection-drag-handlers/base-connection.drag-handler.d.ts +0 -0
  271. /package/f-draggable/{node → f-node-move}/connection-drag-handlers/index.d.ts +0 -0
  272. /package/f-draggable/{node → f-node-move}/connection-drag-handlers/source-connection.drag-handler.d.ts +0 -0
  273. /package/f-draggable/{node → f-node-move}/connection-drag-handlers/source-target-connection.drag-handler.d.ts +0 -0
  274. /package/f-draggable/{node → f-node-move}/connection-drag-handlers/target-connection.drag-handler.d.ts +0 -0
  275. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.d.ts +0 -0
  276. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +0 -0
  277. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +0 -0
  278. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +0 -0
  279. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +0 -0
  280. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.d.ts +0 -0
  281. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +0 -0
  282. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.d.ts +0 -0
  283. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +0 -0
  284. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.d.ts +0 -0
  285. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +0 -0
  286. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +0 -0
  287. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +0 -0
  288. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/index.d.ts +0 -0
  289. /package/f-draggable/{node → f-node-move}/create-move-nodes-drag-model-from-selection/providers.d.ts +0 -0
  290. /package/f-draggable/{node → f-node-move}/line-alignment-preparation/index.d.ts +0 -0
  291. /package/f-draggable/{node → f-node-move}/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -0
  292. /package/f-draggable/{node → f-node-move}/line-alignment-preparation/line-alignment-preparation.request.d.ts +0 -0
  293. /package/f-draggable/{node → f-node-move}/point-bounds-limiter.d.ts +0 -0
  294. /package/f-draggable/{node-resize → f-node-resize}/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +0 -0
  295. /package/f-draggable/{node-resize → f-node-resize}/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +0 -0
  296. /package/f-draggable/{node-resize → f-node-resize}/apply-child-resize-restrictions/index.d.ts +0 -0
  297. /package/f-draggable/{node-resize → f-node-resize}/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +0 -0
  298. /package/f-draggable/{node-resize → f-node-resize}/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +0 -0
  299. /package/f-draggable/{node-resize → f-node-resize}/apply-parent-resize-restrictions/index.d.ts +0 -0
  300. /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-position/calculate-changed-position.execution.d.ts +0 -0
  301. /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-position/calculate-changed-position.request.d.ts +0 -0
  302. /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-position/index.d.ts +0 -0
  303. /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-size/calculate-changed-size.execution.d.ts +0 -0
  304. /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-size/calculate-changed-size.request.d.ts +0 -0
  305. /package/f-draggable/{node-resize → f-node-resize}/calculate-changed-size/index.d.ts +0 -0
  306. /package/f-draggable/{node-resize → f-node-resize}/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +0 -0
  307. /package/f-draggable/{node-resize → f-node-resize}/get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts +0 -0
  308. /package/f-draggable/{node-resize → f-node-resize}/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +0 -0
  309. /package/f-draggable/{node-resize → f-node-resize}/get-node-resize-restrictions/index.d.ts +0 -0
  310. /package/f-draggable/{node-resize → f-node-resize}/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -0
  311. /package/f-draggable/{node-resize → f-node-resize}/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +0 -0
  312. /package/f-draggable/{node-resize → f-node-resize}/get-normalized-children-nodes-rect/index.d.ts +0 -0
  313. /package/f-draggable/{node-resize → f-node-resize}/resize-direction.d.ts +0 -0
@@ -0,0 +1,13 @@
1
+ import { CreateMoveNodesDragModelFromSelectionExecution } from './create-move-nodes-drag-model-from-selection.execution';
2
+ import { CalculateNodeMoveLimitsExecution } from './domain/calculate-node-move-limits';
3
+ import { PutInputConnectionHandlersToArrayExecution } from './domain/put-input-connection-handlers-to-array';
4
+ import { PutOutputConnectionHandlersToArrayExecution } from './domain/put-output-connection-handlers-to-array';
5
+ import { CalculateCommonNodeMoveLimitsExecution } from './domain/calculate-common-node-move-limits';
6
+ export const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS = [
7
+ CalculateCommonNodeMoveLimitsExecution,
8
+ CalculateNodeMoveLimitsExecution,
9
+ PutInputConnectionHandlersToArrayExecution,
10
+ PutOutputConnectionHandlersToArrayExecution,
11
+ CreateMoveNodesDragModelFromSelectionExecution,
12
+ ];
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN6SCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVwRyxNQUFNLENBQUMsTUFBTSxvREFBb0QsR0FBRztJQUVsRSxzQ0FBc0M7SUFFdEMsZ0NBQWdDO0lBRWhDLDBDQUEwQztJQUUxQywyQ0FBMkM7SUFFM0MsOENBQThDO0NBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbic7XG5pbXBvcnQgeyBDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c0V4ZWN1dGlvbiB9IGZyb20gJy4vZG9tYWluL2NhbGN1bGF0ZS1ub2RlLW1vdmUtbGltaXRzJztcbmltcG9ydCB7IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheUV4ZWN1dGlvbiB9IGZyb20gJy4vZG9tYWluL3B1dC1pbnB1dC1jb25uZWN0aW9uLWhhbmRsZXJzLXRvLWFycmF5JztcbmltcG9ydCB7IFB1dE91dHB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb24gfSBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29tbW9uTm9kZU1vdmVMaW1pdHNFeGVjdXRpb24gfSBmcm9tICcuL2RvbWFpbi9jYWxjdWxhdGUtY29tbW9uLW5vZGUtbW92ZS1saW1pdHMnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyA9IFtcblxuICBDYWxjdWxhdGVDb21tb25Ob2RlTW92ZUxpbWl0c0V4ZWN1dGlvbixcblxuICBDYWxjdWxhdGVOb2RlTW92ZUxpbWl0c0V4ZWN1dGlvbixcblxuICBQdXRJbnB1dENvbm5lY3Rpb25IYW5kbGVyc1RvQXJyYXlFeGVjdXRpb24sXG5cbiAgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheUV4ZWN1dGlvbixcblxuICBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uRXhlY3V0aW9uLFxuXTtcbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { findClosestAlignment, RectExtensions } from '@foblex/2d';
2
+ import { fInject } from '../index';
3
+ import { FComponentsStore } from '../../f-storage';
4
+ export class FLineAlignmentDragHandler {
5
+ _lineService;
6
+ _size;
7
+ _draggedNodeRect;
8
+ _rects;
9
+ _restrictions;
10
+ fEventType = 'line-alignment';
11
+ _fComponentsStore = fInject(FComponentsStore);
12
+ _debounceTimer = null;
13
+ _transform;
14
+ constructor(_lineService, _size, _draggedNodeRect, _rects, _restrictions) {
15
+ this._lineService = _lineService;
16
+ this._size = _size;
17
+ this._draggedNodeRect = _draggedNodeRect;
18
+ this._rects = _rects;
19
+ this._restrictions = _restrictions;
20
+ this._transform = this._fComponentsStore.fCanvas?.transform;
21
+ }
22
+ onPointerMove(difference) {
23
+ const restrictedDifference = this._getDifference(difference);
24
+ if (this._debounceTimer) {
25
+ clearTimeout(this._debounceTimer);
26
+ }
27
+ this._debounceTimer = setTimeout(() => this._drawIntersectingLines(restrictedDifference), 15);
28
+ }
29
+ _drawIntersectingLines(difference) {
30
+ const intersect = this.findNearestCoordinate(difference);
31
+ if (intersect.xResult.value !== undefined) {
32
+ this._lineService.drawVerticalLine(intersect.xResult.value, this._size, this._transform);
33
+ }
34
+ else {
35
+ this._lineService.hideVerticalLine();
36
+ }
37
+ if (intersect.yResult.value !== undefined) {
38
+ this._lineService.drawHorizontalLine(intersect.yResult.value, this._size, this._transform);
39
+ }
40
+ else {
41
+ this._lineService.hideHorizontalLine();
42
+ }
43
+ }
44
+ _getDifference(difference) {
45
+ return {
46
+ x: Math.min(Math.max(difference.x, this._restrictions.min.x), this._restrictions.max.x),
47
+ y: Math.min(Math.max(difference.y, this._restrictions.min.y), this._restrictions.max.y)
48
+ };
49
+ }
50
+ findNearestCoordinate(difference) {
51
+ const rect = RectExtensions.addPoint(this._draggedNodeRect, difference);
52
+ return findClosestAlignment(this._rects, rect, this._fComponentsStore.fLineAlignment.fAlignThreshold);
53
+ }
54
+ onPointerUp() {
55
+ this._lineService.hideVerticalLine();
56
+ this._lineService.hideHorizontalLine();
57
+ if (this._debounceTimer) {
58
+ clearTimeout(this._debounceTimer);
59
+ this._debounceTimer = null;
60
+ }
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2YtbGluZS1hbGlnbm1lbnQuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUQsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxPQUFPLEVBQXFDLE1BQU0sVUFBVSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR25ELE1BQU0sT0FBTyx5QkFBeUI7SUFXMUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQWJILFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztJQUU3QixpQkFBaUIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU5QyxjQUFjLEdBQVEsSUFBSSxDQUFDO0lBRWxCLFVBQVUsQ0FBa0I7SUFFN0MsWUFDVSxZQUF5QixFQUN6QixLQUFZLEVBQ1osZ0JBQXVCLEVBQ3ZCLE1BQWUsRUFDZixhQUEyQjtRQUozQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1oscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFPO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUVuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsU0FBVSxDQUFDO0lBQy9ELENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxVQUFrQjtRQUMvQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0YsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsVUFBa0I7UUFDdkMsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkYsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN4RixDQUFBO0lBQ0gsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFVBQWtCO1FBQzdDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRXZDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbmRDbG9zZXN0QWxpZ25tZW50LCBJTWluTWF4UG9pbnQsIElQb2ludCwgSVJlY3QsIElTaXplLCBJVHJhbnNmb3JtTW9kZWwsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBmSW5qZWN0LCBJRkRyYWdIYW5kbGVyLCBQb2ludEJvdW5kc0xpbWl0ZXIgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElMaW5lQWxpZ25tZW50UmVzdWx0LCBMaW5lU2VydmljZSB9IGZyb20gJy4uLy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuXG5leHBvcnQgY2xhc3MgRkxpbmVBbGlnbm1lbnREcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuXG4gIHB1YmxpYyBmRXZlbnRUeXBlID0gJ2xpbmUtYWxpZ25tZW50JztcblxuICBwcml2YXRlIF9mQ29tcG9uZW50c1N0b3JlID0gZkluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIF9kZWJvdW5jZVRpbWVyOiBhbnkgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2xpbmVTZXJ2aWNlOiBMaW5lU2VydmljZSxcbiAgICBwcml2YXRlIF9zaXplOiBJU2l6ZSxcbiAgICBwcml2YXRlIF9kcmFnZ2VkTm9kZVJlY3Q6IElSZWN0LFxuICAgIHByaXZhdGUgX3JlY3RzOiBJUmVjdFtdLFxuICAgIHByaXZhdGUgX3Jlc3RyaWN0aW9uczogSU1pbk1heFBvaW50LFxuICApIHtcbiAgICB0aGlzLl90cmFuc2Zvcm0gPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXM/LnRyYW5zZm9ybSE7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZXN0cmljdGVkRGlmZmVyZW5jZSA9IHRoaXMuX2dldERpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgaWYgKHRoaXMuX2RlYm91bmNlVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZWJvdW5jZVRpbWVyKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLl9kcmF3SW50ZXJzZWN0aW5nTGluZXMocmVzdHJpY3RlZERpZmZlcmVuY2UpLCAxNSk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3SW50ZXJzZWN0aW5nTGluZXMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmRyYXdWZXJ0aWNhbExpbmUoaW50ZXJzZWN0LnhSZXN1bHQudmFsdWUsIHRoaXMuX3NpemUsIHRoaXMuX3RyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmhpZGVWZXJ0aWNhbExpbmUoKTtcbiAgICB9XG4gICAgaWYgKGludGVyc2VjdC55UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmRyYXdIb3Jpem9udGFsTGluZShpbnRlcnNlY3QueVJlc3VsdC52YWx1ZSwgdGhpcy5fc2l6ZSwgdGhpcy5fdHJhbnNmb3JtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbGluZVNlcnZpY2UuaGlkZUhvcml6b250YWxMaW5lKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiB7XG4gICAgICB4OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLngsIHRoaXMuX3Jlc3RyaWN0aW9ucy5taW4ueCksIHRoaXMuX3Jlc3RyaWN0aW9ucy5tYXgueCksXG4gICAgICB5OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLnksIHRoaXMuX3Jlc3RyaWN0aW9ucy5taW4ueSksIHRoaXMuX3Jlc3RyaWN0aW9ucy5tYXgueSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmluZE5lYXJlc3RDb29yZGluYXRlKGRpZmZlcmVuY2U6IElQb2ludCk6IElMaW5lQWxpZ25tZW50UmVzdWx0IHtcbiAgICBjb25zdCByZWN0ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQodGhpcy5fZHJhZ2dlZE5vZGVSZWN0LCBkaWZmZXJlbmNlKTtcbiAgICByZXR1cm4gZmluZENsb3Nlc3RBbGlnbm1lbnQodGhpcy5fcmVjdHMsIHJlY3QsIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkxpbmVBbGlnbm1lbnQhLmZBbGlnblRocmVzaG9sZCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fbGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIHRoaXMuX2xpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuXG4gICAgaWYgKHRoaXMuX2RlYm91bmNlVGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZWJvdW5jZVRpbWVyKTtcbiAgICAgIHRoaXMuX2RlYm91bmNlVGltZXIgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,30 @@
1
+ import { PointExtensions } from '@foblex/2d';
2
+ export class FNodeMoveDragHandler {
3
+ fNode;
4
+ fSourceHandlers;
5
+ fTargetHandlers;
6
+ fEventType = 'move-node';
7
+ _onPointerDownPosition = PointExtensions.initialize();
8
+ constructor(fNode, fSourceHandlers = [], fTargetHandlers = []) {
9
+ this.fNode = fNode;
10
+ this.fSourceHandlers = fSourceHandlers;
11
+ this.fTargetHandlers = fTargetHandlers;
12
+ this._onPointerDownPosition = { ...fNode.position };
13
+ }
14
+ onPointerMove(difference) {
15
+ this._redraw(this._calculateNewPosition(difference));
16
+ this.fSourceHandlers.forEach((x) => x.setSourceDifference(difference));
17
+ this.fTargetHandlers.forEach((x) => x.setTargetDifference(difference));
18
+ }
19
+ _calculateNewPosition(difference) {
20
+ return PointExtensions.sum(this._onPointerDownPosition, difference);
21
+ }
22
+ _redraw(position) {
23
+ this.fNode.updatePosition(position);
24
+ this.fNode.redraw();
25
+ }
26
+ onPointerUp() {
27
+ this.fNode.positionChange.emit(this.fNode.position);
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9mLW5vZGUtbW92ZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUtyRCxNQUFNLE9BQU8sb0JBQW9CO0lBT3RCO0lBQ0E7SUFDQTtJQVBGLFVBQVUsR0FBRyxXQUFXLENBQUM7SUFFZixzQkFBc0IsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFdkUsWUFDUyxLQUFnQixFQUNoQixrQkFBK0MsRUFBRSxFQUNqRCxrQkFBK0MsRUFBRTtRQUZqRCxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQztRQUNqRCxvQkFBZSxHQUFmLGVBQWUsQ0FBa0M7UUFFeEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFVBQWtCO1FBQzlDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLE9BQU8sQ0FBQyxRQUFnQjtRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJRkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5cbmV4cG9ydCBjbGFzcyBGTm9kZU1vdmVEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuXG4gIHB1YmxpYyBmRXZlbnRUeXBlID0gJ21vdmUtbm9kZSc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgZlNvdXJjZUhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgICBwdWJsaWMgZlRhcmdldEhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgKSB7XG4gICAgdGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uID0geyAuLi5mTm9kZS5wb3NpdGlvbiB9O1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fcmVkcmF3KHRoaXMuX2NhbGN1bGF0ZU5ld1Bvc2l0aW9uKGRpZmZlcmVuY2UpKTtcblxuICAgIHRoaXMuZlNvdXJjZUhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlKSk7XG4gICAgdGhpcy5mVGFyZ2V0SGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5ld1Bvc2l0aW9uKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uLCBkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdyhwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgdGhpcy5mTm9kZS5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLnBvc2l0aW9uQ2hhbmdlLmVtaXQodGhpcy5mTm9kZS5wb3NpdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { FComponentsStore } from '../../f-storage';
2
+ import { fInject } from '../f-injector';
3
+ import { PointBoundsLimiter } from './point-bounds-limiter';
4
+ export class FSummaryNodeMoveDragHandler {
5
+ limits;
6
+ fHandlers;
7
+ commonRect;
8
+ fEventType = 'move-node';
9
+ fData;
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._fBoundsLimiter = new PointBoundsLimiter(this.commonRect, limits);
17
+ this.fData = {
18
+ fNodeIds: this.fHandlers.map((x) => x.fNode.fId)
19
+ };
20
+ }
21
+ onPointerMove(difference) {
22
+ const adjustCellSize = this._fComponentStore.fDraggable.fCellSizeWhileDragging;
23
+ const differenceWithRestrictions = this._fBoundsLimiter.limit(difference, adjustCellSize);
24
+ this.fHandlers.forEach((x) => x.onPointerMove(differenceWithRestrictions));
25
+ }
26
+ onPointerUp() {
27
+ this.fHandlers.forEach((x) => x.onPointerUp());
28
+ }
29
+ calculateRestrictedDifference(difference) {
30
+ return this._fBoundsLimiter.limit(difference, true);
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zdW1tYXJ5LW5vZGUtbW92ZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2Ytc3VtbWFyeS1ub2RlLW1vdmUuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHNUQsTUFBTSxPQUFPLDJCQUEyQjtJQVU3QjtJQUNBO0lBQ0E7SUFWRixVQUFVLEdBQUcsV0FBVyxDQUFDO0lBQ3pCLEtBQUssQ0FBTTtJQUVWLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXBDLGVBQWUsQ0FBcUI7SUFFckQsWUFDUyxNQUFvQixFQUNwQixTQUFpQyxFQUNqQyxVQUFpQjtRQUZqQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQXdCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQU87UUFFeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDakQsQ0FBQztJQUNKLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUNoRixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSw2QkFBNkIsQ0FBQyxVQUFrQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWluTWF4UG9pbnQsIElQb2ludCwgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGZJbmplY3QgfSBmcm9tICcuLi9mLWluamVjdG9yJztcbmltcG9ydCB7IFBvaW50Qm91bmRzTGltaXRlciB9IGZyb20gJy4vcG9pbnQtYm91bmRzLWxpbWl0ZXInO1xuaW1wb3J0IHsgRk5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Ytbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCBjbGFzcyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRkRyYWdIYW5kbGVyIHtcblxuICBwdWJsaWMgZkV2ZW50VHlwZSA9ICdtb3ZlLW5vZGUnO1xuICBwdWJsaWMgZkRhdGE6IGFueTtcblxuICBwcml2YXRlIF9mQ29tcG9uZW50U3RvcmUgPSBmSW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZCb3VuZHNMaW1pdGVyOiBQb2ludEJvdW5kc0xpbWl0ZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxpbWl0czogSU1pbk1heFBvaW50LFxuICAgIHB1YmxpYyBmSGFuZGxlcnM6IEZOb2RlTW92ZURyYWdIYW5kbGVyW10sXG4gICAgcHVibGljIGNvbW1vblJlY3Q6IElSZWN0XG4gICkge1xuICAgIHRoaXMuX2ZCb3VuZHNMaW1pdGVyID0gbmV3IFBvaW50Qm91bmRzTGltaXRlcih0aGlzLmNvbW1vblJlY3QsIGxpbWl0cyk7XG4gICAgdGhpcy5mRGF0YSA9IHtcbiAgICAgIGZOb2RlSWRzOiB0aGlzLmZIYW5kbGVycy5tYXAoKHgpID0+IHguZk5vZGUuZklkKVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhZGp1c3RDZWxsU2l6ZSA9IHRoaXMuX2ZDb21wb25lbnRTdG9yZS5mRHJhZ2dhYmxlIS5mQ2VsbFNpemVXaGlsZURyYWdnaW5nO1xuICAgIGNvbnN0IGRpZmZlcmVuY2VXaXRoUmVzdHJpY3Rpb25zID0gdGhpcy5fZkJvdW5kc0xpbWl0ZXIubGltaXQoZGlmZmVyZW5jZSwgYWRqdXN0Q2VsbFNpemUpO1xuXG4gICAgdGhpcy5mSGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2VXaXRoUmVzdHJpY3Rpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5mSGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxjdWxhdGVSZXN0cmljdGVkRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLl9mQm91bmRzTGltaXRlci5saW1pdChkaWZmZXJlbmNlLCB0cnVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ export * from './connection-drag-handlers';
2
+ export * from './create-move-nodes-drag-model-from-selection';
3
+ export * from './line-alignment-preparation';
4
+ export * from './move-preparation';
5
+ export * from './move-finalize';
6
+ export * from './f-line-alignment.drag-handler';
7
+ export * from './f-node-move.drag-handler';
8
+ export * from './point-bounds-limiter';
9
+ export * from './providers';
10
+ export * from './f-summary-node-move.drag-handler';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLWZpbmFsaXplJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1ub2RlLW1vdmUuZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9wb2ludC1ib3VuZHMtbGltaXRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './line-alignment-preparation.execution';
2
+ export * from './line-alignment-preparation.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24uZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { LineAlignmentPreparationRequest } from './line-alignment-preparation.request';
4
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
+ import { GetFlowHostElementRequest } from '../../../domain';
6
+ import { GetNormalizedElementRectRequest } from '../../../domain';
7
+ import { FComponentsStore } from '../../../f-storage';
8
+ import { FDraggableDataContext, FSummaryNodeMoveDragHandler } from '../../index';
9
+ import { FLineAlignmentDragHandler } from '../f-line-alignment.drag-handler';
10
+ import { LineService } from '../../../f-line-alignment';
11
+ import { BrowserService } from '@foblex/platform';
12
+ import * as i0 from "@angular/core";
13
+ let LineAlignmentPreparationExecution = class LineAlignmentPreparationExecution {
14
+ _fMediator = inject(FMediator);
15
+ _fComponentsStore = inject(FComponentsStore);
16
+ _fDraggableDataContext = inject(FDraggableDataContext);
17
+ _fBrowser = inject(BrowserService);
18
+ _lineService;
19
+ handle(request) {
20
+ this._addLineAlignmentDragHandler(request.fNodes, request.commonRect);
21
+ }
22
+ _addLineAlignmentDragHandler(fNodes, commonRect) {
23
+ this._fDraggableDataContext.draggableItems.push(new FLineAlignmentDragHandler(this._lineService || this._createLineService(), this._getFlowHostSize(), commonRect, this._getStaticNodeRects(fNodes), this._getCommonRestrictions()));
24
+ }
25
+ _getFlowHostSize() {
26
+ return this._fMediator.execute(new GetFlowHostElementRequest())
27
+ .getBoundingClientRect();
28
+ }
29
+ _createLineService() {
30
+ this._lineService = new LineService(this._fBrowser, this._fComponentsStore.fLineAlignment.hostElement);
31
+ return this._lineService;
32
+ }
33
+ _getStaticNodeRects(fNodes) {
34
+ return this._getStaticNodes(fNodes).map((x) => {
35
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
36
+ });
37
+ }
38
+ _getStaticNodes(fNodes) {
39
+ return this._fComponentsStore.fNodes
40
+ .filter((x) => !fNodes.includes(x));
41
+ }
42
+ _getCommonRestrictions() {
43
+ return this._fDraggableDataContext.draggableItems
44
+ .filter((x) => x instanceof FSummaryNodeMoveDragHandler)[0].limits;
45
+ }
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineAlignmentPreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineAlignmentPreparationExecution });
48
+ };
49
+ LineAlignmentPreparationExecution = __decorate([
50
+ FExecutionRegister(LineAlignmentPreparationRequest)
51
+ ], LineAlignmentPreparationExecution);
52
+ export { LineAlignmentPreparationExecution };
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineAlignmentPreparationExecution, decorators: [{
54
+ type: Injectable
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbi5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFJM0MsSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFFcEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV2RCxTQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRW5DLFlBQVksQ0FBMEI7SUFFdkMsTUFBTSxDQUFDLE9BQXdDO1FBQ3BELElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU8sNEJBQTRCLENBQUMsTUFBbUIsRUFBRSxVQUFpQjtRQUN6RSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDN0MsSUFBSSx5QkFBeUIsQ0FDM0IsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFDOUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQ3ZCLFVBQVUsRUFDVixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQ2hDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUM5QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQWMsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO2FBQ3pFLHFCQUFxQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksV0FBVyxDQUNqQyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFlLENBQUMsV0FBVyxDQUNuRCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxNQUFtQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBUSxJQUFJLCtCQUErQixDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsTUFBbUI7UUFDekMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTTthQUNqQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYzthQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN2RSxDQUFDO3VHQXJEVSxpQ0FBaUM7MkdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQXNEN0M7OzJGQXREWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSU1pbk1heFBvaW50LCBJUmVjdCwgSVNpemUgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBHZXRGbG93SG9zdEVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2luZGV4JztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWxpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgTGluZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9mLWxpbmUtYWxpZ25tZW50JztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTGluZUFsaWdubWVudFByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX2xpbmVTZXJ2aWNlOiBMaW5lU2VydmljZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl9hZGRMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIocmVxdWVzdC5mTm9kZXMsIHJlcXVlc3QuY29tbW9uUmVjdCk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIoZk5vZGVzOiBGTm9kZUJhc2VbXSwgY29tbW9uUmVjdDogSVJlY3QpOiB2b2lkIHtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMucHVzaChcbiAgICAgIG5ldyBGTGluZUFsaWdubWVudERyYWdIYW5kbGVyKFxuICAgICAgICB0aGlzLl9saW5lU2VydmljZSB8fCB0aGlzLl9jcmVhdGVMaW5lU2VydmljZSgpLFxuICAgICAgICB0aGlzLl9nZXRGbG93SG9zdFNpemUoKSxcbiAgICAgICAgY29tbW9uUmVjdCxcbiAgICAgICAgdGhpcy5fZ2V0U3RhdGljTm9kZVJlY3RzKGZOb2RlcyksXG4gICAgICAgIHRoaXMuX2dldENvbW1vblJlc3RyaWN0aW9ucygpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZsb3dIb3N0U2l6ZSgpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPEhUTUxFbGVtZW50PihuZXcgR2V0Rmxvd0hvc3RFbGVtZW50UmVxdWVzdCgpKVxuICAgICAgLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTGluZVNlcnZpY2UoKTogTGluZVNlcnZpY2Uge1xuICAgIHRoaXMuX2xpbmVTZXJ2aWNlID0gbmV3IExpbmVTZXJ2aWNlKFxuICAgICAgdGhpcy5fZkJyb3dzZXIsXG4gICAgICB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZMaW5lQWxpZ25tZW50IS5ob3N0RWxlbWVudFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuX2xpbmVTZXJ2aWNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3RhdGljTm9kZVJlY3RzKGZOb2RlczogRk5vZGVCYXNlW10pOiBJUmVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0U3RhdGljTm9kZXMoZk5vZGVzKS5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoeC5ob3N0RWxlbWVudCwgZmFsc2UpKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3RhdGljTm9kZXMoZk5vZGVzOiBGTm9kZUJhc2VbXSk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXNcbiAgICAgIC5maWx0ZXIoKHgpID0+ICFmTm9kZXMuaW5jbHVkZXMoeCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29tbW9uUmVzdHJpY3Rpb25zKCk6IElNaW5NYXhQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbHRlcigoeCkgPT4geCBpbnN0YW5jZW9mIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcilbMF0ubGltaXRzO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export class LineAlignmentPreparationRequest {
2
+ fNodes;
3
+ commonRect;
4
+ constructor(fNodes, commonRect) {
5
+ this.fNodes = fNodes;
6
+ this.commonRect = commonRect;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24ucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sK0JBQStCO0lBR2pDO0lBQ0E7SUFGVCxZQUNTLE1BQW1CLEVBQ25CLFVBQWlCO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBTztJQUUxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuZXhwb3J0IGNsYXNzIExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmTm9kZXM6IEZOb2RlQmFzZVtdLFxuICAgIHB1YmxpYyBjb21tb25SZWN0OiBJUmVjdFxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,88 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FNodeMoveFinalizeRequest } from './f-node-move-finalize.request';
4
+ import { Point } from '@foblex/2d';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { FComponentsStore } from '../../../f-storage';
7
+ import { FDraggableDataContext } from '../../f-draggable-data-context';
8
+ import { IsConnectionUnderNodeRequest } from '../../domain';
9
+ import { FNodeDropToGroupDragHandler } from '../../f-drop-to-group';
10
+ import { FLineAlignmentDragHandler } from '../f-line-alignment.drag-handler';
11
+ import { FSummaryNodeMoveDragHandler } from '../f-summary-node-move.drag-handler';
12
+ import * as i0 from "@angular/core";
13
+ let FNodeMoveFinalizeExecution = class FNodeMoveFinalizeExecution {
14
+ _fMediator = inject(FMediator);
15
+ _fComponentsStore = inject(FComponentsStore);
16
+ _fDraggableDataContext = inject(FDraggableDataContext);
17
+ get _fHost() {
18
+ return this._fComponentsStore.fFlow.hostElement;
19
+ }
20
+ handle(request) {
21
+ if (!this._isValid()) {
22
+ return;
23
+ }
24
+ const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
25
+ const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
26
+ .find((x) => x instanceof FSummaryNodeMoveDragHandler);
27
+ this._finalizeMove(firstNodeOrGroup.calculateRestrictedDifference(difference));
28
+ this._applyConnectionUnderDroppedNode();
29
+ }
30
+ _isValid() {
31
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof FSummaryNodeMoveDragHandler);
32
+ }
33
+ _finalizeMove(difference) {
34
+ this._getItems().forEach((x) => {
35
+ x.onPointerMove({ ...difference });
36
+ x.onPointerUp?.();
37
+ });
38
+ }
39
+ _getItems() {
40
+ return this._fDraggableDataContext.draggableItems
41
+ .filter((x) => !(x instanceof FNodeDropToGroupDragHandler));
42
+ }
43
+ _getDifferenceBetweenPreparationAndFinalize(position) {
44
+ return Point.fromPoint(position).elementTransform(this._fHost)
45
+ .div(this._fDraggableDataContext.onPointerDownScale)
46
+ .sub(this._fDraggableDataContext.onPointerDownPosition);
47
+ }
48
+ _getDifferenceWithLineAlignment(difference) {
49
+ return this._applyLineAlignmentDifference(difference, this._getLineAlignmentDifference(difference));
50
+ }
51
+ _getLineAlignmentDifference(difference) {
52
+ return this._fDraggableDataContext.draggableItems
53
+ .find((x) => x instanceof FLineAlignmentDragHandler)
54
+ ?.findNearestCoordinate(difference);
55
+ }
56
+ _applyLineAlignmentDifference(difference, intersection) {
57
+ if (intersection) {
58
+ difference.x = this._isIntersectValue(intersection.xResult) ? (difference.x - intersection.xResult.distance) : difference.x;
59
+ difference.y = this._isIntersectValue(intersection.yResult) ? (difference.y - intersection.yResult.distance) : difference.y;
60
+ }
61
+ return difference;
62
+ }
63
+ _isIntersectValue(result) {
64
+ return result.value !== undefined && result.value !== null;
65
+ }
66
+ _applyConnectionUnderDroppedNode() {
67
+ if (this._isDraggedJustOneNode() && this._fComponentsStore.fDraggable?.fEmitOnNodeIntersect) {
68
+ const fNode = this._getFirstNodeOrGroup();
69
+ setTimeout(() => this._fMediator.execute(new IsConnectionUnderNodeRequest(fNode)));
70
+ }
71
+ }
72
+ _isDraggedJustOneNode() {
73
+ return this._fDraggableDataContext.draggableItems[0].fHandlers.length === 1;
74
+ }
75
+ _getFirstNodeOrGroup() {
76
+ return this._fDraggableDataContext.draggableItems[0].fHandlers[0].fNode;
77
+ }
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
79
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMoveFinalizeExecution });
80
+ };
81
+ FNodeMoveFinalizeExecution = __decorate([
82
+ FExecutionRegister(FNodeMoveFinalizeRequest)
83
+ ], FNodeMoveFinalizeExecution);
84
+ export { FNodeMoveFinalizeExecution };
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMoveFinalizeExecution, decorators: [{
86
+ type: Injectable
87
+ }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtZmluYWxpemUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9tb3ZlLWZpbmFsaXplL2Ytbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFLM0UsSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMEI7SUFFN0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FB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LFFBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9ILENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBZ0M7UUFDeEQsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztJQUM3RCxDQUFDO0lBRU8sZ0NBQWdDO1FBQ3RDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1lBRTVGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRixDQUFDO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixPQUFRLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFrQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBUSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFFLENBQUMsQ0FBa0MsQ0FBQyxTQUFTLENBQUUsQ0FBQyxDQUFFLENBQUMsS0FBSyxDQUFDO0lBQy9HLENBQUM7dUdBeEZVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOztBQUExQiwwQkFBMEI7SUFEdEMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsMEJBQTBCLENBeUZ0Qzs7MkZBekZZLDBCQUEwQjtrQkFGdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0IH0gZnJvbSAnLi9mLW5vZGUtbW92ZS1maW5hbGl6ZS5yZXF1ZXN0JztcbmltcG9ydCB7IElQb2ludCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQge1xuICBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0XG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJRkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRk5vZGVEcm9wVG9Hcm91cERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZi1kcm9wLXRvLWdyb3VwJztcbmltcG9ydCB7IElMaW5lQWxpZ25tZW50UmVzdWx0LCBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9mLWxpbmUtYWxpZ25tZW50JztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLWxpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Rk5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkaWZmZXJlbmNlID0gdGhpcy5fZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KFxuICAgICAgdGhpcy5fZ2V0RGlmZmVyZW5jZUJldHdlZW5QcmVwYXJhdGlvbkFuZEZpbmFsaXplKHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICApO1xuXG4gICAgY29uc3QgZmlyc3ROb2RlT3JHcm91cDogRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyID0gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmluZCgoeCkgPT4geCBpbnN0YW5jZW9mIEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcikhO1xuXG4gICAgdGhpcy5fZmluYWxpemVNb3ZlKGZpcnN0Tm9kZU9yR3JvdXAuY2FsY3VsYXRlUmVzdHJpY3RlZERpZmZlcmVuY2UoZGlmZmVyZW5jZSkpO1xuXG4gICAgdGhpcy5fYXBwbHlDb25uZWN0aW9uVW5kZXJEcm9wcGVkTm9kZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluYWxpemVNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEl0ZW1zKCkuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC5vblBvaW50ZXJNb3ZlKHsgLi4uZGlmZmVyZW5jZSB9KTtcbiAgICAgIHgub25Qb2ludGVyVXA/LigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0SXRlbXMoKTogSUZEcmFnSGFuZGxlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiAhKHggaW5zdGFuY2VvZiBGTm9kZURyb3BUb0dyb3VwRHJhZ0hhbmRsZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShwb3NpdGlvbjogSVBvaW50KTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpXG4gICAgICAuZGl2KHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG5cbiAgICByZXR1cm4gdGhpcy5fYXBwbHlMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShcbiAgICAgIGRpZmZlcmVuY2UsXG4gICAgICB0aGlzLl9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBGTGluZUFsaWdubWVudERyYWdIYW5kbGVyKVxuICAgICAgPy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUxpbmVBbGlnbm1lbnREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCwgaW50ZXJzZWN0aW9uOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCk6IElQb2ludCB7XG4gICAgaWYgKGludGVyc2VjdGlvbikge1xuICAgICAgZGlmZmVyZW5jZS54ID0gdGhpcy5faXNJbnRlcnNlY3RWYWx1ZShpbnRlcnNlY3Rpb24ueFJlc3VsdCkgPyAoZGlmZmVyZW5jZS54IC0gaW50ZXJzZWN0aW9uLnhSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueDtcbiAgICAgIGRpZmZlcmVuY2UueSA9IHRoaXMuX2lzSW50ZXJzZWN0VmFsdWUoaW50ZXJzZWN0aW9uLnlSZXN1bHQpID8gKGRpZmZlcmVuY2UueSAtIGludGVyc2VjdGlvbi55UmVzdWx0LmRpc3RhbmNlISkgOiBkaWZmZXJlbmNlLnk7XG4gICAgfVxuICAgIHJldHVybiBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNJbnRlcnNlY3RWYWx1ZShyZXN1bHQ6IElOZWFyZXN0Q29vcmRpbmF0ZVJlc3VsdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXN1bHQudmFsdWUgIT09IHVuZGVmaW5lZCAmJiByZXN1bHQudmFsdWUgIT09IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUNvbm5lY3Rpb25VbmRlckRyb3BwZWROb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0RyYWdnZWRKdXN0T25lTm9kZSgpICYmIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZT8uZkVtaXRPbk5vZGVJbnRlcnNlY3QpIHtcblxuICAgICAgY29uc3QgZk5vZGUgPSB0aGlzLl9nZXRGaXJzdE5vZGVPckdyb3VwKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0KGZOb2RlKSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ2dlZEp1c3RPbmVOb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyKS5mSGFuZGxlcnMubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Rmlyc3ROb2RlT3JHcm91cCgpOiBGTm9kZUJhc2Uge1xuICAgIHJldHVybiAodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgRlN1bW1hcnlOb2RlTW92ZURyYWdIYW5kbGVyKS5mSGFuZGxlcnNbIDAgXS5mTm9kZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ export class FNodeMoveFinalizeRequest {
2
+ event;
3
+ constructor(event) {
4
+ this.event = event;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtZmluYWxpemUucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbW92ZS1maW5hbGl6ZS9mLW5vZGUtbW92ZS1maW5hbGl6ZS5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyx3QkFBd0I7SUFHMUI7SUFEVCxZQUNTLEtBQW9CO1FBQXBCLFVBQUssR0FBTCxLQUFLLENBQWU7SUFFN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcblxuZXhwb3J0IGNsYXNzIEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV2ZW50OiBJUG9pbnRlckV2ZW50XG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './f-node-move-finalize.execution';
2
+ export * from './f-node-move-finalize.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL21vdmUtZmluYWxpemUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtbW92ZS1maW5hbGl6ZS5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1tb3ZlLWZpbmFsaXplLnJlcXVlc3QnO1xuIl19
@@ -0,0 +1,80 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FNodeMovePreparationRequest } from './f-node-move-preparation.request';
4
+ import { Point } from '@foblex/2d';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { FComponentsStore } from '../../../f-storage';
7
+ import { FDraggableDataContext } from '../../f-draggable-data-context';
8
+ import { CreateMoveNodesDragModelFromSelectionRequest } from '../create-move-nodes-drag-model-from-selection';
9
+ import { isValidEventTrigger, SelectAndUpdateNodeLayerRequest } from '../../../domain';
10
+ import { isClosestElementHasClass } from '@foblex/utils';
11
+ import { LineAlignmentPreparationRequest } from '../line-alignment-preparation';
12
+ import * as i0 from "@angular/core";
13
+ let FNodeMovePreparationExecution = class FNodeMovePreparationExecution {
14
+ _fMediator = inject(FMediator);
15
+ _fComponentsStore = inject(FComponentsStore);
16
+ _fDraggableDataContext = inject(FDraggableDataContext);
17
+ get _transform() {
18
+ return this._fComponentsStore.fCanvas.transform;
19
+ }
20
+ get _fHost() {
21
+ return this._fComponentsStore.fFlow.hostElement;
22
+ }
23
+ _fNode;
24
+ handle(request) {
25
+ if (!this._isValid(request) || !this._isValidTrigger(request)) {
26
+ return;
27
+ }
28
+ const summaryDragHandler = this._calculateDraggedItems(this._fNode);
29
+ this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
30
+ this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
31
+ .elementTransform(this._fHost).div(this._transform.scale);
32
+ this._fDraggableDataContext.draggableItems = [summaryDragHandler];
33
+ if (this._fComponentsStore.fLineAlignment) {
34
+ this._fMediator.execute(new LineAlignmentPreparationRequest(summaryDragHandler.fHandlers.map((x) => x.fNode), summaryDragHandler.commonRect));
35
+ }
36
+ }
37
+ _isValid(request) {
38
+ return this._fDraggableDataContext.isEmpty()
39
+ && this._isDragHandleElement(request.event.targetElement)
40
+ && !!this._getNode(request.event.targetElement);
41
+ }
42
+ _isDragHandleElement(element) {
43
+ return isClosestElementHasClass(element, '.f-drag-handle');
44
+ }
45
+ _getNode(element) {
46
+ this._fNode = this._fComponentsStore.fNodes
47
+ .find(x => x.isContains(element) && !x.fDraggingDisabled);
48
+ return this._fNode;
49
+ }
50
+ _isValidTrigger(request) {
51
+ return isValidEventTrigger(request.event.originalEvent, request.fTrigger);
52
+ }
53
+ //We drag nodes from selection model
54
+ _calculateDraggedItems(fNode) {
55
+ let result;
56
+ if (!fNode.fSelectionDisabled) {
57
+ // Need to select node before drag
58
+ this._fMediator.execute(new SelectAndUpdateNodeLayerRequest(fNode));
59
+ result = this._dragModelFromSelection();
60
+ }
61
+ else {
62
+ // User can drag node that can't be selected
63
+ result = this._dragModelFromSelection(fNode);
64
+ }
65
+ return result;
66
+ }
67
+ _dragModelFromSelection(nodeWithDisabledSelection) {
68
+ return this._fMediator.execute(new CreateMoveNodesDragModelFromSelectionRequest(nodeWithDisabledSelection));
69
+ }
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMovePreparationExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
71
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMovePreparationExecution });
72
+ };
73
+ FNodeMovePreparationExecution = __decorate([
74
+ FExecutionRegister(FNodeMovePreparationRequest)
75
+ ], FNodeMovePreparationExecution);
76
+ export { FNodeMovePreparationExecution };
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FNodeMovePreparationExecution, decorators: [{
78
+ type: Injectable
79
+ }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24uZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9tb3ZlLXByZXBhcmF0aW9uL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEYsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLekUsSUFBTSw2QkFBNkIsR0FBbkMsTUFBTSw2QkFBNkI7SUFFaEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJ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QUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyx5QkFBcUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FDNUIsSUFBSSw0Q0FBNEMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUM1RSxDQUFDO0lBQ0osQ0FBQzt1R0E1RVUsNkJBQTZCOzJHQUE3Qiw2QkFBNkI7O0FBQTdCLDZCQUE2QjtJQUR6QyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQztHQUNuQyw2QkFBNkIsQ0E2RXpDOzsyRkE3RVksNkJBQTZCO2tCQUZ6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEV2ZW50VHJpZ2dlciwgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuLi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9mLXN1bW1hcnktbm9kZS1tb3ZlLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRk5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZOb2RlTW92ZVByZXBhcmF0aW9uRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfZk5vZGU6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpIHx8ICF0aGlzLl9pc1ZhbGlkVHJpZ2dlcihyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN1bW1hcnlEcmFnSGFuZGxlciA9IHRoaXMuX2NhbGN1bGF0ZURyYWdnZWRJdGVtcyh0aGlzLl9mTm9kZSEpO1xuXG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IHRoaXMuX3RyYW5zZm9ybS5zY2FsZTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnQuZnJvbVBvaW50KHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICAgIC5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2ZIb3N0KS5kaXYodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSBbc3VtbWFyeURyYWdIYW5kbGVyXTtcblxuICAgIGlmKHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkxpbmVBbGlnbm1lbnQpIHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgICBuZXcgTGluZUFsaWdubWVudFByZXBhcmF0aW9uUmVxdWVzdChcbiAgICAgICAgICBzdW1tYXJ5RHJhZ0hhbmRsZXIuZkhhbmRsZXJzLm1hcCgoeCkgPT4geC5mTm9kZSksIHN1bW1hcnlEcmFnSGFuZGxlci5jb21tb25SZWN0XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBGTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzRW1wdHkoKVxuICAgICAgJiYgdGhpcy5faXNEcmFnSGFuZGxlRWxlbWVudChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpXG4gICAgICAmJiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzKGVsZW1lbnQsICcuZi1kcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5fZk5vZGUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQoeCA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkgJiYgIXguZkRyYWdnaW5nRGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzLl9mTm9kZTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWRUcmlnZ2VyKHJlcXVlc3Q6IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1ZhbGlkRXZlbnRUcmlnZ2VyKHJlcXVlc3QuZXZlbnQub3JpZ2luYWxFdmVudCwgcmVxdWVzdC5mVHJpZ2dlcik7XG4gIH1cblxuICAvL1dlIGRyYWcgbm9kZXMgZnJvbSBzZWxlY3Rpb24gbW9kZWxcbiAgcHJpdmF0ZSBfY2FsY3VsYXRlRHJhZ2dlZEl0ZW1zKGZOb2RlOiBGTm9kZUJhc2UpOiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IEZTdW1tYXJ5Tm9kZU1vdmVEcmFnSGFuZGxlcjtcbiAgICBpZiAoIWZOb2RlLmZTZWxlY3Rpb25EaXNhYmxlZCkge1xuICAgICAgLy8gTmVlZCB0byBzZWxlY3Qgbm9kZSBiZWZvcmUgZHJhZ1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QoZk5vZGUpKTtcblxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVc2VyIGNhbiBkcmFnIG5vZGUgdGhhdCBjYW4ndCBiZSBzZWxlY3RlZFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbihmTm9kZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9kcmFnTW9kZWxGcm9tU2VsZWN0aW9uKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBGU3VtbWFyeU5vZGVNb3ZlRHJhZ0hhbmRsZXIge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdChub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export class FNodeMovePreparationRequest {
2
+ event;
3
+ fTrigger;
4
+ constructor(event, fTrigger) {
5
+ this.event = event;
6
+ this.fTrigger = fTrigger;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW1vdmUtcHJlcGFyYXRpb24ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvbW92ZS1wcmVwYXJhdGlvbi9mLW5vZGUtbW92ZS1wcmVwYXJhdGlvbi5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywyQkFBMkI7SUFHN0I7SUFDQTtJQUZULFlBQ1MsS0FBb0IsRUFDcEIsUUFBdUI7UUFEdkIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFlO0lBRWhDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBGRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcblxuZXhwb3J0IGNsYXNzIEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV2ZW50OiBJUG9pbnRlckV2ZW50LFxuICAgIHB1YmxpYyBmVHJpZ2dlcjogRkV2ZW50VHJpZ2dlclxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './f-node-move-preparation.execution';
2
+ export * from './f-node-move-preparation.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL21vdmUtcHJlcGFyYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUtbW92ZS1wcmVwYXJhdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtYm91bmRzLWxpbWl0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Ytbm9kZS1tb3ZlL3BvaW50LWJvdW5kcy1saW1pdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsTUFBTSxPQUFPLGtCQUFrQjtJQVFuQjtJQUNTO0lBUFgsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFXLENBQUMsU0FBUyxDQUFDO0lBQzFELFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVyxDQUFDLFNBQVMsQ0FBQztJQUVsRSxZQUNVLGNBQXNCLEVBQ2IsTUFBb0I7UUFEN0IsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDYixXQUFNLEdBQU4sTUFBTSxDQUFjO0lBRXZDLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBa0IsRUFBRSxjQUF1QjtRQUN0RCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFakMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2RSxPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQixDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2hDLENBQUM7SUFDSixDQUFDO0lBRU8sbUJBQW1CLEdBQW1EO1FBQzVFLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDaEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztLQUNsQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFVBQWtCO1FBQ3ZDLE9BQU87WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbEcsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ25HLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLFVBQWtCO1FBQ3RDLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxNQUFNLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO1FBQ3BELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUNqRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWluTWF4UG9pbnQsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgZkluamVjdCB9IGZyb20gJy4uL2YtaW5qZWN0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5cbmV4cG9ydCBjbGFzcyBQb2ludEJvdW5kc0xpbWl0ZXIge1xuXG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBmSW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgX3ZDZWxsU2l6ZSA9IHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSEudkNlbGxTaXplO1xuICBwcml2YXRlIF9oQ2VsbFNpemUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGUhLmhDZWxsU2l6ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9vblBvaW50ZXJEb3duOiBJUG9pbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbGltaXQ6IElNaW5NYXhQb2ludFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBsaW1pdChkaWZmZXJlbmNlOiBJUG9pbnQsIGFkanVzdENlbGxTaXplOiBib29sZWFuKTogSVBvaW50IHtcbiAgICBjb25zdCB7IG1pbiwgbWF4IH0gPSB0aGlzLl9saW1pdDtcblxuICAgIGNvbnN0IHsgeCwgeSB9ID0gdGhpcy5fY2VsbFNpemVTdHJhdGVnaWVzWythZGp1c3RDZWxsU2l6ZV0oZGlmZmVyZW5jZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgeDogdGhpcy5fY2xhbXAoeCwgbWluLngsIG1heC54KSxcbiAgICAgIHk6IHRoaXMuX2NsYW1wKHksIG1pbi55LCBtYXgueSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2NlbGxTaXplU3RyYXRlZ2llczogUmVjb3JkPG51bWJlciwgKGRpZmZlcmVuY2U6IElQb2ludCkgPT4gSVBvaW50PiA9IHtcbiAgICAwOiB0aGlzLl9za2lwQ2VsbFNpemUuYmluZCh0aGlzKSxcbiAgICAxOiB0aGlzLl9hcHBseUNlbGxTaXplLmJpbmQodGhpcylcbiAgfTtcblxuICBwcml2YXRlIF9hcHBseUNlbGxTaXplKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IHRoaXMuX3NuYXBUb0dyaWQodGhpcy5fb25Qb2ludGVyRG93bi54ICsgZGlmZmVyZW5jZS54LCB0aGlzLl9oQ2VsbFNpemUpIC0gdGhpcy5fb25Qb2ludGVyRG93bi54LFxuICAgICAgeTogdGhpcy5fc25hcFRvR3JpZCh0aGlzLl9vblBvaW50ZXJEb3duLnkgKyBkaWZmZXJlbmNlLnksIHRoaXMuX3ZDZWxsU2l6ZSkgLSB0aGlzLl9vblBvaW50ZXJEb3duLnlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfc2tpcENlbGxTaXplKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcml2YXRlIF9jbGFtcCh2YWx1ZTogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCh2YWx1ZSwgbWluKSwgbWF4KTtcbiAgfVxuXG4gIHByaXZhdGUgX3NuYXBUb0dyaWQodmFsdWU6IG51bWJlciwgY2VsbFNpemU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgLyBjZWxsU2l6ZSkgKiBjZWxsU2l6ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS } from './create-move-nodes-drag-model-from-selection';
2
+ import { FNodeMoveFinalizeExecution } from './move-finalize';
3
+ import { FNodeMovePreparationExecution } from './move-preparation';
4
+ import { LineAlignmentPreparationExecution } from './line-alignment-preparation';
5
+ export const NODE_PROVIDERS = [
6
+ ...CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS,
7
+ LineAlignmentPreparationExecution,
8
+ FNodeMoveFinalizeExecution,
9
+ FNodeMovePreparationExecution,
10
+ ];
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLW5vZGUtbW92ZS9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBRTVCLEdBQUcsb0RBQW9EO0lBRXZELGlDQUFpQztJQUVqQywwQkFBMEI7SUFFMUIsNkJBQTZCO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDUkVBVEVfTU9WRV9OT0RFX0RSQUdfTU9ERUxfRlJPTV9TRUxFQ1RJT05fUFJPVklERVJTIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcbmltcG9ydCB7IEZOb2RlTW92ZUZpbmFsaXplRXhlY3V0aW9uIH0gZnJvbSAnLi9tb3ZlLWZpbmFsaXplJztcbmltcG9ydCB7IEZOb2RlTW92ZVByZXBhcmF0aW9uRXhlY3V0aW9uIH0gZnJvbSAnLi9tb3ZlLXByZXBhcmF0aW9uJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgY29uc3QgTk9ERV9QUk9WSURFUlMgPSBbXG5cbiAgLi4uQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyxcblxuICBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24sXG5cbiAgRk5vZGVNb3ZlRmluYWxpemVFeGVjdXRpb24sXG5cbiAgRk5vZGVNb3ZlUHJlcGFyYXRpb25FeGVjdXRpb24sXG5dO1xuIl19