@foblex/flow 17.1.1 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +3 -3
  2. package/domain/f-connectors/providers.d.ts +1 -1
  3. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
  4. package/domain/f-draggable/providers.d.ts +1 -1
  5. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -0
  6. package/domain/f-event-trigger.d.ts +4 -0
  7. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
  8. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
  9. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
  10. package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
  11. package/domain/f-selection/providers.d.ts +1 -1
  12. package/domain/index.d.ts +1 -0
  13. package/domain/providers.d.ts +1 -1
  14. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
  15. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  16. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  17. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
  18. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
  19. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +3 -3
  20. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +2 -2
  21. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +9 -9
  22. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +4 -4
  23. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
  24. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +3 -3
  25. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +5 -1
  26. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
  27. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +6 -2
  28. package/esm2022/domain/f-event-trigger.mjs +7 -0
  29. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
  30. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +2 -2
  31. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
  32. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
  33. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
  34. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
  35. package/esm2022/domain/f-selection/select/select.execution.mjs +4 -4
  36. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +4 -4
  37. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
  38. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  39. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  40. package/esm2022/domain/index.mjs +2 -1
  41. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
  42. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
  43. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
  44. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
  45. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
  46. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  47. package/esm2022/f-canvas/f-canvas.component.mjs +13 -13
  48. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  49. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
  50. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
  51. package/esm2022/f-connection/f-connection/f-connection.component.mjs +4 -4
  52. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +4 -4
  53. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  54. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +4 -4
  55. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  56. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
  57. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  58. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
  59. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  60. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +3 -3
  61. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +40 -0
  62. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +9 -0
  63. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +3 -0
  64. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +36 -38
  65. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +4 -2
  66. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +31 -23
  67. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +4 -2
  68. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +1 -2
  69. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +8 -12
  70. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +4 -2
  71. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +2 -2
  72. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +15 -14
  73. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +27 -24
  74. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +4 -4
  75. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +1 -2
  76. package/esm2022/f-draggable/connections/providers.mjs +3 -5
  77. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +2 -2
  78. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +2 -2
  79. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +4 -2
  80. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -7
  81. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
  82. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  83. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  84. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  85. package/esm2022/f-draggable/f-draggable.directive.mjs +55 -24
  86. package/esm2022/f-draggable/f-injector.mjs +19 -0
  87. package/esm2022/f-draggable/index.mjs +2 -1
  88. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  89. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
  90. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  91. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  92. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  93. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
  94. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +69 -0
  95. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +7 -0
  96. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  97. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +49 -0
  98. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +9 -0
  99. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  100. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +27 -35
  101. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +4 -4
  102. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +33 -46
  103. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +4 -4
  104. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  105. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  106. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
  107. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
  108. package/esm2022/f-draggable/node/index.mjs +4 -6
  109. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
  110. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
  111. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +5 -4
  112. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
  113. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
  114. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
  115. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
  116. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
  117. package/esm2022/f-draggable/node/node.drag-handler.mjs +12 -29
  118. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
  119. package/esm2022/f-draggable/node/providers.mjs +3 -3
  120. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +36 -0
  121. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
  122. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  123. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
  124. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  125. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
  126. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
  127. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
  128. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
  129. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +47 -34
  130. package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
  131. package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
  132. package/esm2022/f-draggable/single-select/single-select.execution.mjs +101 -70
  133. package/esm2022/f-draggable/single-select/single-select.request.mjs +4 -2
  134. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
  135. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +27 -27
  136. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +1 -2
  137. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +1 -3
  138. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +9 -8
  139. package/esm2022/f-flow/f-flow.component.mjs +15 -15
  140. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -2
  141. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  142. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
  143. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
  144. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
  145. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
  146. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
  147. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
  148. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  149. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
  150. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  151. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  152. package/esm2022/f-node/f-group.directive.mjs +16 -10
  153. package/esm2022/f-node/f-node-base.mjs +1 -1
  154. package/esm2022/f-node/f-node.directive.mjs +16 -10
  155. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
  156. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  157. package/esm2022/f-selection-area/domain/providers.mjs +5 -5
  158. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
  159. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
  160. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
  161. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
  162. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
  163. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +32 -29
  164. package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
  165. package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
  166. package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
  167. package/esm2022/mixins/change-selection/index.mjs +2 -2
  168. package/f-connection/common/f-connection-base.d.ts +5 -5
  169. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
  170. package/f-connection/providers.d.ts +1 -1
  171. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
  172. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  173. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +12 -0
  174. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.d.ts +7 -0
  175. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +2 -0
  176. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +6 -6
  177. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +3 -1
  178. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +6 -6
  179. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +3 -1
  180. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -1
  181. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +1 -2
  182. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +3 -1
  183. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +1 -1
  184. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -5
  185. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +7 -7
  186. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +2 -2
  187. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -1
  188. package/f-draggable/connections/providers.d.ts +2 -2
  189. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +3 -1
  190. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -4
  191. package/f-draggable/f-draggable-base.d.ts +4 -1
  192. package/f-draggable/f-draggable-data-context.d.ts +2 -2
  193. package/f-draggable/f-draggable.directive.d.ts +16 -3
  194. package/f-draggable/f-injector.d.ts +8 -0
  195. package/f-draggable/index.d.ts +1 -0
  196. package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
  197. package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
  198. package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
  199. package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
  200. package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
  201. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
  202. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +19 -0
  203. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +5 -0
  204. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
  205. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +15 -0
  206. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts → calculate-node-move-limits/calculate-node-move-limits.request.d.ts} +1 -1
  207. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
  208. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +5 -10
  209. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +4 -4
  210. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +8 -13
  211. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +4 -4
  212. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
  213. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
  214. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
  215. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
  216. package/f-draggable/node/index.d.ts +3 -5
  217. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
  218. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
  219. package/f-draggable/node/line-alignment.drag-handler.d.ts +2 -3
  220. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  221. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
  222. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  223. package/f-draggable/node/node.drag-handler.d.ts +6 -9
  224. package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
  225. package/f-draggable/node/providers.d.ts +2 -1
  226. package/f-draggable/node/summary-node.drag-handler.d.ts +14 -0
  227. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
  228. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
  229. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
  230. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
  231. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  232. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
  233. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +16 -12
  234. package/f-draggable/node-resize/providers.d.ts +2 -1
  235. package/f-draggable/node-resize/resize-direction.d.ts +16 -0
  236. package/f-draggable/providers.d.ts +1 -1
  237. package/f-draggable/single-select/single-select.execution.d.ts +54 -20
  238. package/f-draggable/single-select/single-select.request.d.ts +3 -1
  239. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +7 -11
  240. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -1
  241. package/f-external-item/domain/external-item-preparation/providers.d.ts +1 -2
  242. package/f-external-item/domain/external-item.drag-handler.d.ts +2 -3
  243. package/f-external-item/domain/providers.d.ts +1 -1
  244. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
  245. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
  246. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
  247. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
  248. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
  249. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
  250. package/f-minimap/domain/providers.d.ts +1 -1
  251. package/f-node/f-node-base.d.ts +3 -3
  252. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
  253. package/f-node/providers.d.ts +1 -1
  254. package/f-selection-area/domain/providers.d.ts +3 -1
  255. package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
  256. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
  257. package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
  258. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
  259. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
  260. package/f-selection-area/domain/selection-area.drag-handle.d.ts +7 -6
  261. package/f-selection-area/f-selection-area.component.d.ts +3 -1
  262. package/f-storage/providers.d.ts +1 -1
  263. package/fesm2022/foblex-flow.mjs +1160 -1156
  264. package/fesm2022/foblex-flow.mjs.map +1 -1
  265. package/mixins/change-selection/change-selection.d.ts +2 -2
  266. package/mixins/change-selection/i-selectable.d.ts +10 -0
  267. package/mixins/change-selection/index.d.ts +1 -1
  268. package/package.json +2 -2
  269. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
  270. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
  271. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
  272. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
  273. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
  274. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
  275. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -28
  276. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
  277. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
  278. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
  279. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
  280. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +0 -40
  281. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +0 -7
  282. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
  283. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +0 -42
  284. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +0 -9
  285. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
  286. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
  287. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
  288. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
  289. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
  290. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
  291. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
  292. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  293. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  294. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  295. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
  296. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  297. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
  298. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
  299. package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
  300. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
  301. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
  302. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
  303. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +0 -14
  304. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +0 -12
  305. package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
  306. package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
  307. package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
  308. package/f-draggable/node/connection.drag-handler.d.ts +0 -14
  309. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +0 -13
  310. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +0 -5
  311. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
  312. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +0 -12
  313. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
  314. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
  315. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
  316. package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
  317. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
  318. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
  319. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
  320. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
  321. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
  322. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
  323. package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
  324. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
  325. package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
  326. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
  327. package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
@@ -7,8 +7,8 @@ import { FComponentsStore } from '../../../f-storage';
7
7
  import { FDraggableDataContext } from '../../f-draggable-data-context';
8
8
  import { IsConnectionUnderNodeRequest } from '../../domain';
9
9
  import { NodeDragToParentDragHandler } from '../node-drag-to-parent.drag-handler';
10
- import { NodeDragHandler } from '../node.drag-handler';
11
10
  import { LineAlignmentDragHandler } from '../line-alignment.drag-handler';
11
+ import { SummaryNodeDragHandler } from '../summary-node.drag-handler';
12
12
  import * as i0 from "@angular/core";
13
13
  let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
14
14
  _fMediator = inject(FMediator);
@@ -23,13 +23,12 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
23
23
  }
24
24
  const difference = this._getDifferenceWithLineAlignment(this._getDifferenceBetweenPreparationAndFinalize(request.event.getPosition()));
25
25
  const firstNodeOrGroup = this._fDraggableDataContext.draggableItems
26
- .find((x) => x instanceof NodeDragHandler);
27
- const differenceWithCellSize = firstNodeOrGroup.getDifferenceWithCellSize(difference);
28
- this._finalizeMove(differenceWithCellSize);
26
+ .find((x) => x instanceof SummaryNodeDragHandler);
27
+ this._finalizeMove(firstNodeOrGroup.calculateRestrictedDifference(difference));
29
28
  this._applyConnectionUnderDroppedNode();
30
29
  }
31
30
  _isValid() {
32
- return this._fDraggableDataContext.draggableItems.some((x) => x instanceof NodeDragHandler);
31
+ return this._fDraggableDataContext.draggableItems.some((x) => x instanceof SummaryNodeDragHandler);
33
32
  }
34
33
  _finalizeMove(difference) {
35
34
  this._getItems().forEach((x) => {
@@ -62,12 +61,17 @@ let NodeMoveFinalizeExecution = class NodeMoveFinalizeExecution {
62
61
  return difference;
63
62
  }
64
63
  _applyConnectionUnderDroppedNode() {
65
- const isDraggedJustOneNode = this._fDraggableDataContext.draggableItems[0] instanceof NodeDragHandler;
66
- if (isDraggedJustOneNode && this._fComponentsStore.fDraggable?.emitWhenNodeIntersectedWithConnection) {
67
- const fNode = this._fDraggableDataContext.draggableItems[0].fNode;
64
+ if (this._isDraggedJustOneNode() && this._fComponentsStore.fDraggable?.fEmitOnNodeIntersect) {
65
+ const fNode = this._getFirstNodeOrGroup();
68
66
  setTimeout(() => this._fMediator.execute(new IsConnectionUnderNodeRequest(fNode)));
69
67
  }
70
68
  }
69
+ _isDraggedJustOneNode() {
70
+ return this._fDraggableDataContext.draggableItems[0].fHandlers.length === 1;
71
+ }
72
+ _getFirstNodeOrGroup() {
73
+ return this._fDraggableDataContext.draggableItems[0].fHandlers[0].fNode;
74
+ }
71
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
76
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution });
73
77
  };
@@ -78,4 +82,4 @@ export { NodeMoveFinalizeExecution };
78
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMoveFinalizeExecution, decorators: [{
79
83
  type: Injectable
80
84
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtZmluYWxpemUvbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBSW5FLElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQXlCO0lBRTVCLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDN0Msc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFL0QsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQU0sQ0FBQyxX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Q0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM3RyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLGdDQUFnQztRQUN0QyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFFLFlBQVksZUFBZSxDQUFDO1FBQ3hHLElBQUksb0JBQW9CLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxxQ0FBcUMsRUFBRSxDQUFDO1lBQ3JHLE1BQU0sS0FBSyxHQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFzQixDQUFDLEtBQUssQ0FBQztZQUN6RixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQztJQUNILENBQUM7dUdBN0VVLHlCQUF5QjsyR0FBekIseUJBQXlCOztBQUF6Qix5QkFBeUI7SUFEckMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7R0FDL0IseUJBQXlCLENBOEVyQzs7MkZBOUVZLHlCQUF5QjtrQkFGckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QgfSBmcm9tICcuL25vZGUtbW92ZS1maW5hbGl6ZS5yZXF1ZXN0JztcbmltcG9ydCB7IElQb2ludCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQge1xuICBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0XG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgTm9kZURyYWdUb1BhcmVudERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1kcmFnLXRvLXBhcmVudC5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgSUxpbmVBbGlnbm1lbnRSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9mLWxpbmUtYWxpZ25tZW50JztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnREcmFnSGFuZGxlciB9IGZyb20gJy4uL2xpbmUtYWxpZ25tZW50LmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Tm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRoaXMuX2dldERpZmZlcmVuY2VXaXRoTGluZUFsaWdubWVudChcbiAgICAgIHRoaXMuX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgKTtcblxuICAgIGNvbnN0IGZpcnN0Tm9kZU9yR3JvdXA6IE5vZGVEcmFnSGFuZGxlciA9IHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBOb2RlRHJhZ0hhbmRsZXIpITtcblxuICAgIGNvbnN0IGRpZmZlcmVuY2VXaXRoQ2VsbFNpemUgPSBmaXJzdE5vZGVPckdyb3VwLmdldERpZmZlcmVuY2VXaXRoQ2VsbFNpemUoZGlmZmVyZW5jZSk7XG5cbiAgICB0aGlzLl9maW5hbGl6ZU1vdmUoZGlmZmVyZW5jZVdpdGhDZWxsU2l6ZSk7XG5cbiAgICB0aGlzLl9hcHBseUNvbm5lY3Rpb25VbmRlckRyb3BwZWROb2RlKCk7XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuc29tZSgoeCkgPT4geCBpbnN0YW5jZW9mIE5vZGVEcmFnSGFuZGxlcik7XG4gIH1cblxuICBwcml2YXRlIF9maW5hbGl6ZU1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0SXRlbXMoKS5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICB4Lm9uUG9pbnRlck1vdmUoeyAuLi5kaWZmZXJlbmNlIH0pO1xuICAgICAgeC5vblBvaW50ZXJVcD8uKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJdGVtcygpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zXG4gICAgICAuZmlsdGVyKCh4KSA9PiAhKHggaW5zdGFuY2VvZiBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShwb3NpdGlvbjogSVBvaW50KTogUG9pbnQge1xuICAgIHJldHVybiBQb2ludC5mcm9tUG9pbnQocG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkhvc3QpXG4gICAgICAuZGl2KHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpXG4gICAgICAuc3ViKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZVdpdGhMaW5lQWxpZ25tZW50KGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2FwcGx5TGluZUFsaWdubWVudERpZmZlcmVuY2UoXG4gICAgICBkaWZmZXJlbmNlLFxuICAgICAgdGhpcy5fZ2V0TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maW5kKCh4KSA9PiB4IGluc3RhbmNlb2YgTGluZUFsaWdubWVudERyYWdIYW5kbGVyKVxuICAgICAgPy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUxpbmVBbGlnbm1lbnREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCwgaW50ZXJzZWN0aW9uOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCk6IElQb2ludCB7XG4gICAgaWYgKGludGVyc2VjdGlvbikge1xuICAgICAgZGlmZmVyZW5jZS54ID0gaW50ZXJzZWN0aW9uLnhSZXN1bHQudmFsdWUgPyAoZGlmZmVyZW5jZS54IC0gaW50ZXJzZWN0aW9uLnhSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueDtcbiAgICAgIGRpZmZlcmVuY2UueSA9IGludGVyc2VjdGlvbi55UmVzdWx0LnZhbHVlID8gKGRpZmZlcmVuY2UueSAtIGludGVyc2VjdGlvbi55UmVzdWx0LmRpc3RhbmNlISkgOiBkaWZmZXJlbmNlLnk7XG4gICAgfVxuICAgIHJldHVybiBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlDb25uZWN0aW9uVW5kZXJEcm9wcGVkTm9kZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpc0RyYWdnZWRKdXN0T25lTm9kZSA9IHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyO1xuICAgIGlmIChpc0RyYWdnZWRKdXN0T25lTm9kZSAmJiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGU/LmVtaXRXaGVuTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb24pIHtcbiAgICAgIGNvbnN0IGZOb2RlID0gKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGFzIE5vZGVEcmFnSGFuZGxlcikuZk5vZGU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0KGZOb2RlKSkpO1xuICAgIH1cbiAgfVxufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtZmluYWxpemUvbm9kZS1tb3ZlLWZpbmFsaXplLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUNMLDRCQUE0QixFQUM3QixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFLL0QsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBeUI7SUFFNUIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBTSxDQUFD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LENBQUM7UUFDN0csQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxnQ0FBZ0M7UUFDdEMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLG9CQUFvQixFQUFFLENBQUM7WUFFNUYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE9BQVEsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQTZCLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFRLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUE2QixDQUFDLFNBQVMsQ0FBRSxDQUFDLENBQUUsQ0FBQyxLQUFLLENBQUM7SUFDMUcsQ0FBQzt1R0FuRlUseUJBQXlCOzJHQUF6Qix5QkFBeUI7O0FBQXpCLHlCQUF5QjtJQURyQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQztHQUMvQix5QkFBeUIsQ0FvRnJDOzsyRkFwRlkseUJBQXlCO2tCQUZyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1tb3ZlLWZpbmFsaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVBvaW50LCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7XG4gIElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBOb2RlRHJhZ1RvUGFyZW50RHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9ub2RlLWRyYWctdG8tcGFyZW50LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJTGluZUFsaWdubWVudFJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgTGluZUFsaWdubWVudERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbGluZS1hbGlnbm1lbnQuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi9zdW1tYXJ5LW5vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Tm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHRoaXMuX2dldERpZmZlcmVuY2VXaXRoTGluZUFsaWdubWVudChcbiAgICAgIHRoaXMuX2dldERpZmZlcmVuY2VCZXR3ZWVuUHJlcGFyYXRpb25BbmRGaW5hbGl6ZShyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgKTtcblxuICAgIGNvbnN0IGZpcnN0Tm9kZU9yR3JvdXA6IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIgPSB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maW5kKCh4KSA9PiB4IGluc3RhbmNlb2YgU3VtbWFyeU5vZGVEcmFnSGFuZGxlcikhO1xuXG4gICAgdGhpcy5fZmluYWxpemVNb3ZlKGZpcnN0Tm9kZU9yR3JvdXAuY2FsY3VsYXRlUmVzdHJpY3RlZERpZmZlcmVuY2UoZGlmZmVyZW5jZSkpO1xuXG4gICAgdGhpcy5fYXBwbHlDb25uZWN0aW9uVW5kZXJEcm9wcGVkTm9kZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLnNvbWUoKHgpID0+IHggaW5zdGFuY2VvZiBTdW1tYXJ5Tm9kZURyYWdIYW5kbGVyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmFsaXplTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9nZXRJdGVtcygpLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgub25Qb2ludGVyTW92ZSh7IC4uLmRpZmZlcmVuY2UgfSk7XG4gICAgICB4Lm9uUG9pbnRlclVwPy4oKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEl0ZW1zKCk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXNcbiAgICAgIC5maWx0ZXIoKHgpID0+ICEoeCBpbnN0YW5jZW9mIE5vZGVEcmFnVG9QYXJlbnREcmFnSGFuZGxlcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZUJldHdlZW5QcmVwYXJhdGlvbkFuZEZpbmFsaXplKHBvc2l0aW9uOiBJUG9pbnQpOiBQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludChwb3NpdGlvbikuZWxlbWVudFRyYW5zZm9ybSh0aGlzLl9mSG9zdClcbiAgICAgIC5kaXYodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSlcbiAgICAgIC5zdWIodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9nZXREaWZmZXJlbmNlV2l0aExpbmVBbGlnbm1lbnQoZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fYXBwbHlMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShcbiAgICAgIGRpZmZlcmVuY2UsXG4gICAgICB0aGlzLl9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRMaW5lQWxpZ25tZW50RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJTGluZUFsaWdubWVudFJlc3VsdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1xuICAgICAgLmZpbmQoKHgpID0+IHggaW5zdGFuY2VvZiBMaW5lQWxpZ25tZW50RHJhZ0hhbmRsZXIpXG4gICAgICA/LmZpbmROZWFyZXN0Q29vcmRpbmF0ZShkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5TGluZUFsaWdubWVudERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50LCBpbnRlcnNlY3Rpb246IElMaW5lQWxpZ25tZW50UmVzdWx0IHwgdW5kZWZpbmVkKTogSVBvaW50IHtcbiAgICBpZiAoaW50ZXJzZWN0aW9uKSB7XG4gICAgICBkaWZmZXJlbmNlLnggPSBpbnRlcnNlY3Rpb24ueFJlc3VsdC52YWx1ZSA/IChkaWZmZXJlbmNlLnggLSBpbnRlcnNlY3Rpb24ueFJlc3VsdC5kaXN0YW5jZSEpIDogZGlmZmVyZW5jZS54O1xuICAgICAgZGlmZmVyZW5jZS55ID0gaW50ZXJzZWN0aW9uLnlSZXN1bHQudmFsdWUgPyAoZGlmZmVyZW5jZS55IC0gaW50ZXJzZWN0aW9uLnlSZXN1bHQuZGlzdGFuY2UhKSA6IGRpZmZlcmVuY2UueTtcbiAgICB9XG4gICAgcmV0dXJuIGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcml2YXRlIF9hcHBseUNvbm5lY3Rpb25VbmRlckRyb3BwZWROb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc0RyYWdnZWRKdXN0T25lTm9kZSgpICYmIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZT8uZkVtaXRPbk5vZGVJbnRlcnNlY3QpIHtcblxuICAgICAgY29uc3QgZk5vZGUgPSB0aGlzLl9nZXRGaXJzdE5vZGVPckdyb3VwKCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0KGZOb2RlKSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ2dlZEp1c3RPbmVOb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgU3VtbWFyeU5vZGVEcmFnSGFuZGxlcikuZkhhbmRsZXJzLmxlbmd0aCA9PT0gMTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZpcnN0Tm9kZU9yR3JvdXAoKTogRk5vZGVCYXNlIHtcbiAgICByZXR1cm4gKHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGFzIFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIpLmZIYW5kbGVyc1sgMCBdLmZOb2RlO1xuICB9XG59XG4iXX0=
@@ -25,12 +25,13 @@ let NodeMovePreparationExecution = class NodeMovePreparationExecution {
25
25
  if (!this._isValid(request)) {
26
26
  return;
27
27
  }
28
+ const summaryDragHandler = this._calculateDraggedItems(this._fNode);
28
29
  this._fDraggableDataContext.onPointerDownScale = this._transform.scale;
29
30
  this._fDraggableDataContext.onPointerDownPosition = Point.fromPoint(request.event.getPosition())
30
31
  .elementTransform(this._fHost).div(this._transform.scale);
31
- this._fDraggableDataContext.draggableItems = this._calculateDraggedItems(this._fNode);
32
+ this._fDraggableDataContext.draggableItems = [summaryDragHandler];
32
33
  if (this._fComponentsStore.fLineAlignment) {
33
- this._fMediator.execute(new LineAlignmentPreparationRequest());
34
+ this._fMediator.execute(new LineAlignmentPreparationRequest(summaryDragHandler.fHandlers.map((x) => x.fNode), summaryDragHandler.commonRect));
34
35
  }
35
36
  }
36
37
  _isValid(request) {
@@ -48,7 +49,7 @@ let NodeMovePreparationExecution = class NodeMovePreparationExecution {
48
49
  }
49
50
  //We drag nodes from selection model
50
51
  _calculateDraggedItems(fNode) {
51
- let result = [];
52
+ let result;
52
53
  if (!fNode.fSelectionDisabled) {
53
54
  // Need to select node before drag
54
55
  this._fMediator.execute(new SelectAndUpdateNodeLayerRequest(fNode));
@@ -73,4 +74,4 @@ export { NodeMovePreparationExecution };
73
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeMovePreparationExecution, decorators: [{
74
75
  type: Injectable
75
76
  }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtcHJlcGFyYXRpb24vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3ZFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFJekUsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFFL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMs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QUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcbmltcG9ydCB7IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5pbXBvcnQgeyBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIE5vZGVNb3ZlUHJlcGFyYXRpb25FeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZOb2RlOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25TY2FsZSA9IHRoaXMuX3RyYW5zZm9ybS5zY2FsZTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnQuZnJvbVBvaW50KHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSlcbiAgICAgIC5lbGVtZW50VHJhbnNmb3JtKHRoaXMuX2ZIb3N0KS5kaXYodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMgPSB0aGlzLl9jYWxjdWxhdGVEcmFnZ2VkSXRlbXModGhpcy5fZk5vZGUhKTtcblxuICAgIGlmKHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkxpbmVBbGlnbm1lbnQpIHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25SZXF1ZXN0KCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQocmVxdWVzdDogTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzRW1wdHkoKVxuICAgICAgJiYgdGhpcy5faXNEcmFnSGFuZGxlRWxlbWVudChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpXG4gICAgICAmJiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzKGVsZW1lbnQsICcuZi1kcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5fZk5vZGUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQoeCA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkgJiYgIXguZkRyYWdnaW5nRGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzLl9mTm9kZTtcbiAgfVxuXG4gIC8vV2UgZHJhZyBub2RlcyBmcm9tIHNlbGVjdGlvbiBtb2RlbFxuICBwcml2YXRlIF9jYWxjdWxhdGVEcmFnZ2VkSXRlbXMoZk5vZGU6IEZOb2RlQmFzZSk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGxldCByZXN1bHQ6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcbiAgICBpZiAoIWZOb2RlLmZTZWxlY3Rpb25EaXNhYmxlZCkge1xuICAgICAgLy8gTmVlZCB0byBzZWxlY3Qgbm9kZSBiZWZvcmUgZHJhZ1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QoZk5vZGUpKTtcblxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVc2VyIGNhbiBkcmFnIG5vZGUgdGhhdCBjYW4ndCBiZSBzZWxlY3RlZFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZHJhZ01vZGVsRnJvbVNlbGVjdGlvbihmTm9kZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9kcmFnTW9kZWxGcm9tU2VsZWN0aW9uKG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24/OiBGTm9kZUJhc2UpOiBJRHJhZ2dhYmxlSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3Qobm9kZVdpdGhEaXNhYmxlZFNlbGVjdGlvbilcbiAgICApO1xuICB9XG59XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9ub2RlLW1vdmUtcHJlcGFyYXRpb24vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFtQixLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzlHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLekUsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFFL0IsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUvRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMs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Q0FBQyxDQUM1RSxDQUFDO0lBQ0osQ0FBQzt1R0F4RVUsNEJBQTRCOzJHQUE1Qiw0QkFBNEI7O0FBQTVCLDRCQUE0QjtJQUR4QyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQztHQUNsQyw0QkFBNEIsQ0F5RXhDOzsyRkF6RVksNEJBQTRCO2tCQUZ4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1tb3ZlLXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsLCBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBpc0Nsb3Nlc3RFbGVtZW50SGFzQ2xhc3MgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuLi9saW5lLWFsaWdubWVudC1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBTdW1tYXJ5Tm9kZURyYWdIYW5kbGVyIH0gZnJvbSAnLi4vc3VtbWFyeS1ub2RlLmRyYWctaGFuZGxlcic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgTm9kZU1vdmVQcmVwYXJhdGlvbkV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248Tm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mSG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkZsb3chLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfZk5vZGU6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYoIXRoaXMuX2lzVmFsaWQocmVxdWVzdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdW1tYXJ5RHJhZ0hhbmRsZXIgPSB0aGlzLl9jYWxjdWxhdGVEcmFnZ2VkSXRlbXModGhpcy5fZk5vZGUhKTtcblxuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUgPSB0aGlzLl90cmFuc2Zvcm0uc2NhbGU7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IFBvaW50LmZyb21Qb2ludChyZXF1ZXN0LmV2ZW50LmdldFBvc2l0aW9uKCkpXG4gICAgICAuZWxlbWVudFRyYW5zZm9ybSh0aGlzLl9mSG9zdCkuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zID0gW3N1bW1hcnlEcmFnSGFuZGxlcl07XG5cbiAgICBpZih0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZMaW5lQWxpZ25tZW50KSB7XG4gICAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgICAgbmV3IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvblJlcXVlc3QoXG4gICAgICAgICAgc3VtbWFyeURyYWdIYW5kbGVyLmZIYW5kbGVycy5tYXAoKHgpID0+IHguZk5vZGUpLCBzdW1tYXJ5RHJhZ0hhbmRsZXIuY29tbW9uUmVjdFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQocmVxdWVzdDogTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzRW1wdHkoKVxuICAgICAgJiYgdGhpcy5faXNEcmFnSGFuZGxlRWxlbWVudChyZXF1ZXN0LmV2ZW50LnRhcmdldEVsZW1lbnQpXG4gICAgICAmJiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ0hhbmRsZUVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNDbG9zZXN0RWxlbWVudEhhc0NsYXNzKGVsZW1lbnQsICcuZi1kcmFnLWhhbmRsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgdGhpcy5fZk5vZGUgPSB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2Rlc1xuICAgICAgLmZpbmQoeCA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkgJiYgIXguZkRyYWdnaW5nRGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzLl9mTm9kZTtcbiAgfVxuXG4gIC8vV2UgZHJhZyBub2RlcyBmcm9tIHNlbGVjdGlvbiBtb2RlbFxuICBwcml2YXRlIF9jYWxjdWxhdGVEcmFnZ2VkSXRlbXMoZk5vZGU6IEZOb2RlQmFzZSk6IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXIge1xuICAgIGxldCByZXN1bHQ6IFN1bW1hcnlOb2RlRHJhZ0hhbmRsZXI7XG4gICAgaWYgKCFmTm9kZS5mU2VsZWN0aW9uRGlzYWJsZWQpIHtcbiAgICAgIC8vIE5lZWQgdG8gc2VsZWN0IG5vZGUgYmVmb3JlIGRyYWdcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0KGZOb2RlKSk7XG5cbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RyYWdNb2RlbEZyb21TZWxlY3Rpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXNlciBjYW4gZHJhZyBub2RlIHRoYXQgY2FuJ3QgYmUgc2VsZWN0ZWRcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RyYWdNb2RlbEZyb21TZWxlY3Rpb24oZk5vZGUpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhZ01vZGVsRnJvbVNlbGVjdGlvbihub2RlV2l0aERpc2FibGVkU2VsZWN0aW9uPzogRk5vZGVCYXNlKTogU3VtbWFyeU5vZGVEcmFnSGFuZGxlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IENyZWF0ZU1vdmVOb2Rlc0RyYWdNb2RlbEZyb21TZWxlY3Rpb25SZXF1ZXN0KG5vZGVXaXRoRGlzYWJsZWRTZWxlY3Rpb24pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,27 +1,22 @@
1
- import { Point, PointExtensions } from '@foblex/2d';
1
+ import { PointExtensions } from '@foblex/2d';
2
2
  export class NodeDragHandler {
3
- _fComponentsStore;
4
3
  fNode;
5
- restrictions;
4
+ fSourceHandlers;
5
+ fTargetHandlers;
6
6
  _onPointerDownPosition = PointExtensions.initialize();
7
- constructor(_fComponentsStore, fNode, restrictions) {
8
- this._fComponentsStore = _fComponentsStore;
7
+ constructor(fNode, fSourceHandlers = [], fTargetHandlers = []) {
9
8
  this.fNode = fNode;
10
- this.restrictions = restrictions;
9
+ this.fSourceHandlers = fSourceHandlers;
10
+ this.fTargetHandlers = fTargetHandlers;
11
11
  this._onPointerDownPosition = { ...fNode.position };
12
12
  }
13
13
  onPointerMove(difference) {
14
- const restrictedDifference = this._getDifference(difference);
15
- this._redraw(this._getPosition(restrictedDifference));
14
+ this._redraw(this._calculateNewPosition(difference));
15
+ this.fSourceHandlers.forEach((x) => x.setSourceDifference(difference));
16
+ this.fTargetHandlers.forEach((x) => x.setTargetDifference(difference));
16
17
  }
17
- _getPosition(difference) {
18
- return Point.fromPoint(this._onPointerDownPosition).add(difference);
19
- }
20
- _getDifference(difference) {
21
- return {
22
- x: Math.min(Math.max(difference.x, this.restrictions.min.x), this.restrictions.max.x),
23
- y: Math.min(Math.max(difference.y, this.restrictions.min.y), this.restrictions.max.y)
24
- };
18
+ _calculateNewPosition(difference) {
19
+ return PointExtensions.sum(this._onPointerDownPosition, difference);
25
20
  }
26
21
  _redraw(position) {
27
22
  this.fNode.updatePosition(position);
@@ -30,17 +25,5 @@ export class NodeDragHandler {
30
25
  onPointerUp() {
31
26
  this.fNode.positionChange.emit(this.fNode.position);
32
27
  }
33
- getDifferenceWithCellSize(difference) {
34
- const position = this._getPosition(this._getDifference(difference));
35
- return Point.fromPoint(this._applyCellSize(position)).sub(this._onPointerDownPosition);
36
- }
37
- _applyCellSize(position) {
38
- const hCellSize = this._fComponentsStore.fDraggable.hCellSize;
39
- const vCellSize = this._fComponentsStore.fDraggable.vCellSize;
40
- return {
41
- x: Math.round(position.x / hCellSize) * hCellSize,
42
- y: Math.round(position.y / vCellSize) * vCellSize
43
- };
44
- }
45
28
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzFFLE1BQU0sT0FBTyxlQUFlO0lBS2hCO0lBQ0Q7SUFDQTtJQUxRLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUV2RSxZQUNVLGlCQUFtQyxFQUNwQyxLQUFnQixFQUNoQixZQUEwQjtRQUZ6QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ3BDLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFFakMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sWUFBWSxDQUFDLFVBQWtCO1FBQ3JDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxVQUFrQjtRQUN2QyxPQUFPO1lBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyRixDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RGLENBQUE7SUFDSCxDQUFDO0lBRU8sT0FBTyxDQUFDLFFBQWdCO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLHlCQUF5QixDQUFDLFVBQWtCO1FBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXBFLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBZ0I7UUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVcsQ0FBQyxTQUFTLENBQUM7UUFDL0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVcsQ0FBQyxTQUFTLENBQUM7UUFDL0QsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUztZQUNqRCxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLFNBQVM7U0FDbEQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCwgSVBvaW50LCBQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgTm9kZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uUG9pbnRlckRvd25Qb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwdWJsaWMgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgcmVzdHJpY3Rpb25zOiBJTWluTWF4UG9pbnQsXG4gICkge1xuICAgIHRoaXMuX29uUG9pbnRlckRvd25Qb3NpdGlvbiA9IHsgLi4uZk5vZGUucG9zaXRpb24gfTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IHJlc3RyaWN0ZWREaWZmZXJlbmNlID0gdGhpcy5fZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX3JlZHJhdyh0aGlzLl9nZXRQb3NpdGlvbihyZXN0cmljdGVkRGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UG9zaXRpb24oZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHRoaXMuX29uUG9pbnRlckRvd25Qb3NpdGlvbikuYWRkKGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIHJldHVybiB7XG4gICAgICB4OiBNYXRoLm1pbihNYXRoLm1heChkaWZmZXJlbmNlLngsIHRoaXMucmVzdHJpY3Rpb25zLm1pbi54KSwgdGhpcy5yZXN0cmljdGlvbnMubWF4LngpLFxuICAgICAgeTogTWF0aC5taW4oTWF0aC5tYXgoZGlmZmVyZW5jZS55LCB0aGlzLnJlc3RyaWN0aW9ucy5taW4ueSksIHRoaXMucmVzdHJpY3Rpb25zLm1heC55KVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdyhwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgdGhpcy5mTm9kZS5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLnBvc2l0aW9uQ2hhbmdlLmVtaXQodGhpcy5mTm9kZS5wb3NpdGlvbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGlmZmVyZW5jZVdpdGhDZWxsU2l6ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5fZ2V0UG9zaXRpb24odGhpcy5fZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlKSk7XG5cbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHRoaXMuX2FwcGx5Q2VsbFNpemUocG9zaXRpb24pKS5zdWIodGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5Q2VsbFNpemUocG9zaXRpb246IElQb2ludCk6IElQb2ludCB7XG4gICAgY29uc3QgaENlbGxTaXplID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlIS5oQ2VsbFNpemU7XG4gICAgY29uc3QgdkNlbGxTaXplID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlIS52Q2VsbFNpemU7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGgucm91bmQocG9zaXRpb24ueCAvIGhDZWxsU2l6ZSkgKiBoQ2VsbFNpemUsXG4gICAgICB5OiBNYXRoLnJvdW5kKHBvc2l0aW9uLnkgLyB2Q2VsbFNpemUpICogdkNlbGxTaXplXG4gICAgfTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvbm9kZS5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUtyRCxNQUFNLE9BQU8sZUFBZTtJQUtqQjtJQUNBO0lBQ0E7SUFMUSxzQkFBc0IsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFdkUsWUFDUyxLQUFnQixFQUNoQixrQkFBK0MsRUFBRSxFQUNqRCxrQkFBK0MsRUFBRTtRQUZqRCxVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFrQztRQUNqRCxvQkFBZSxHQUFmLGVBQWUsQ0FBa0M7UUFFeEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFVBQWtCO1FBQzlDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLE9BQU8sQ0FBQyxRQUFnQjtRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycyc7XG5cbmV4cG9ydCBjbGFzcyBOb2RlRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb25Qb2ludGVyRG93blBvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgZlNvdXJjZUhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgICBwdWJsaWMgZlRhcmdldEhhbmRsZXJzOiBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyW10gPSBbXSxcbiAgKSB7XG4gICAgdGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uID0geyAuLi5mTm9kZS5wb3NpdGlvbiB9O1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fcmVkcmF3KHRoaXMuX2NhbGN1bGF0ZU5ld1Bvc2l0aW9uKGRpZmZlcmVuY2UpKTtcblxuICAgIHRoaXMuZlNvdXJjZUhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlKSk7XG4gICAgdGhpcy5mVGFyZ2V0SGFuZGxlcnMuZm9yRWFjaCgoeCkgPT4geC5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5ld1Bvc2l0aW9uKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy5fb25Qb2ludGVyRG93blBvc2l0aW9uLCBkaWZmZXJlbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdyhwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS51cGRhdGVQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgdGhpcy5mTm9kZS5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLnBvc2l0aW9uQ2hhbmdlLmVtaXQodGhpcy5mTm9kZS5wb3NpdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { fInject } from '../f-injector';
2
+ import { FComponentsStore } from '../../f-storage';
3
+ export class PointBoundsLimiter {
4
+ _onPointerDown;
5
+ _limit;
6
+ _fComponentsStore = fInject(FComponentsStore);
7
+ _vCellSize = this._fComponentsStore.fDraggable.vCellSize;
8
+ _hCellSize = this._fComponentsStore.fDraggable.hCellSize;
9
+ constructor(_onPointerDown, _limit) {
10
+ this._onPointerDown = _onPointerDown;
11
+ this._limit = _limit;
12
+ }
13
+ limit(difference, adjustCellSize) {
14
+ const { min, max } = this._limit;
15
+ const { x, y } = this._cellSizeStrategies[+adjustCellSize](difference);
16
+ return {
17
+ x: this._clamp(x, min.x, max.x),
18
+ y: this._clamp(y, min.y, max.y),
19
+ };
20
+ }
21
+ _cellSizeStrategies = {
22
+ 0: this._skipCellSize.bind(this),
23
+ 1: this._applyCellSize.bind(this)
24
+ };
25
+ _applyCellSize(difference) {
26
+ return {
27
+ x: this._snapToGrid(this._onPointerDown.x + difference.x, this._hCellSize) - this._onPointerDown.x,
28
+ y: this._snapToGrid(this._onPointerDown.y + difference.y, this._vCellSize) - this._onPointerDown.y
29
+ };
30
+ }
31
+ _skipCellSize(difference) {
32
+ return difference;
33
+ }
34
+ _clamp(value, min, max) {
35
+ return Math.min(Math.max(value, min), max);
36
+ }
37
+ _snapToGrid(value, cellSize) {
38
+ return Math.round(value / cellSize) * cellSize;
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtYm91bmRzLWxpbWl0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvcG9pbnQtYm91bmRzLWxpbWl0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxNQUFNLE9BQU8sa0JBQWtCO0lBUW5CO0lBQ1M7SUFQWCxpQkFBaUIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU5QyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVcsQ0FBQyxTQUFTLENBQUM7SUFDMUQsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFXLENBQUMsU0FBUyxDQUFDO0lBRWxFLFlBQ1UsY0FBc0IsRUFDYixNQUFvQjtRQUQ3QixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQWM7SUFFdkMsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFrQixFQUFFLGNBQXVCO1FBQ3RELE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVqQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZFLE9BQU87WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUIsR0FBbUQ7UUFDNUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ2xDLENBQUM7SUFFTSxjQUFjLENBQUMsVUFBa0I7UUFDdkMsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDbkcsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsVUFBa0I7UUFDdEMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVc7UUFDcEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCwgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBmSW5qZWN0IH0gZnJvbSAnLi4vZi1pbmplY3Rvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIFBvaW50Qm91bmRzTGltaXRlciB7XG5cbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGZJbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHJpdmF0ZSBfdkNlbGxTaXplID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlIS52Q2VsbFNpemU7XG4gIHByaXZhdGUgX2hDZWxsU2l6ZSA9IHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkRyYWdnYWJsZSEuaENlbGxTaXplO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX29uUG9pbnRlckRvd246IElQb2ludCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9saW1pdDogSU1pbk1heFBvaW50XG4gICkge1xuICB9XG5cbiAgcHVibGljIGxpbWl0KGRpZmZlcmVuY2U6IElQb2ludCwgYWRqdXN0Q2VsbFNpemU6IGJvb2xlYW4pOiBJUG9pbnQge1xuICAgIGNvbnN0IHsgbWluLCBtYXggfSA9IHRoaXMuX2xpbWl0O1xuXG4gICAgY29uc3QgeyB4LCB5IH0gPSB0aGlzLl9jZWxsU2l6ZVN0cmF0ZWdpZXNbK2FkanVzdENlbGxTaXplXShkaWZmZXJlbmNlKTtcblxuICAgIHJldHVybiB7XG4gICAgICB4OiB0aGlzLl9jbGFtcCh4LCBtaW4ueCwgbWF4LngpLFxuICAgICAgeTogdGhpcy5fY2xhbXAoeSwgbWluLnksIG1heC55KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfY2VsbFNpemVTdHJhdGVnaWVzOiBSZWNvcmQ8bnVtYmVyLCAoZGlmZmVyZW5jZTogSVBvaW50KSA9PiBJUG9pbnQ+ID0ge1xuICAgIDA6IHRoaXMuX3NraXBDZWxsU2l6ZS5iaW5kKHRoaXMpLFxuICAgIDE6IHRoaXMuX2FwcGx5Q2VsbFNpemUuYmluZCh0aGlzKVxuICB9O1xuXG4gIHByaXZhdGUgX2FwcGx5Q2VsbFNpemUoZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogdGhpcy5fc25hcFRvR3JpZCh0aGlzLl9vblBvaW50ZXJEb3duLnggKyBkaWZmZXJlbmNlLngsIHRoaXMuX2hDZWxsU2l6ZSkgLSB0aGlzLl9vblBvaW50ZXJEb3duLngsXG4gICAgICB5OiB0aGlzLl9zbmFwVG9HcmlkKHRoaXMuX29uUG9pbnRlckRvd24ueSArIGRpZmZlcmVuY2UueSwgdGhpcy5fdkNlbGxTaXplKSAtIHRoaXMuX29uUG9pbnRlckRvd24ueVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9za2lwQ2VsbFNpemUoZGlmZmVyZW5jZTogSVBvaW50KTogSVBvaW50IHtcbiAgICByZXR1cm4gZGlmZmVyZW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgX2NsYW1wKHZhbHVlOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbHVlLCBtaW4pLCBtYXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc25hcFRvR3JpZCh2YWx1ZTogbnVtYmVyLCBjZWxsU2l6ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAvIGNlbGxTaXplKSAqIGNlbGxTaXplO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS } from './create-move-nodes-drag-model-from-selection';
2
2
  import { NodeMoveFinalizeExecution } from './node-move-finalize';
3
3
  import { NODE_MOVE_PREPARATION_PROVIDERS } from './node-move-preparation';
4
- import { NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS } from './node-drag-to-parent-preparation';
4
+ import { NodeDragToParentPreparationExecution } from './node-drag-to-parent-preparation';
5
5
  import { NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS } from './node-drag-to-parent-finalize';
6
6
  import { LineAlignmentPreparationExecution } from './line-alignment-preparation';
7
7
  export const NODE_PROVIDERS = [
@@ -9,7 +9,7 @@ export const NODE_PROVIDERS = [
9
9
  LineAlignmentPreparationExecution,
10
10
  NodeMoveFinalizeExecution,
11
11
  ...NODE_MOVE_PREPARATION_PROVIDERS,
12
- ...NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS,
12
+ NodeDragToParentPreparationExecution,
13
13
  ...NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS
14
14
  ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNySCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFFNUIsR0FBRyxvREFBb0Q7SUFFdkQsaUNBQWlDO0lBRWpDLHlCQUF5QjtJQUV6QixHQUFHLCtCQUErQjtJQUVsQyxHQUFHLHlDQUF5QztJQUU1QyxHQUFHLHNDQUFzQztDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBOb2RlTW92ZUZpbmFsaXplRXhlY3V0aW9uIH0gZnJvbSAnLi9ub2RlLW1vdmUtZmluYWxpemUnO1xuaW1wb3J0IHsgTk9ERV9NT1ZFX1BSRVBBUkFUSU9OX1BST1ZJREVSUyB9IGZyb20gJy4vbm9kZS1tb3ZlLXByZXBhcmF0aW9uJztcbmltcG9ydCB7IE5PREVfRFJBR19UT19QQVJFTlRfUFJFUEFSQVRJT05fUFJPVklERVJTIH0gZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LXByZXBhcmF0aW9uJztcbmltcG9ydCB7IE5PREVfRFJBR19UT19QQVJFTlRfRklOQUxJWkVfUFJPVklERVJTIH0gZnJvbSAnLi9ub2RlLWRyYWctdG8tcGFyZW50LWZpbmFsaXplJztcbmltcG9ydCB7IExpbmVBbGlnbm1lbnRQcmVwYXJhdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vbGluZS1hbGlnbm1lbnQtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgY29uc3QgTk9ERV9QUk9WSURFUlMgPSBbXG5cbiAgLi4uQ1JFQVRFX01PVkVfTk9ERV9EUkFHX01PREVMX0ZST01fU0VMRUNUSU9OX1BST1ZJREVSUyxcblxuICBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24sXG5cbiAgTm9kZU1vdmVGaW5hbGl6ZUV4ZWN1dGlvbixcblxuICAuLi5OT0RFX01PVkVfUFJFUEFSQVRJT05fUFJPVklERVJTLFxuXG4gIC4uLk5PREVfRFJBR19UT19QQVJFTlRfUFJFUEFSQVRJT05fUFJPVklERVJTLFxuXG4gIC4uLk5PREVfRFJBR19UT19QQVJFTlRfRklOQUxJWkVfUFJPVklERVJTXG5dO1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0RBQW9ELEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNySCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsb0NBQW9DLEVBQ3JDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFakYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBRTVCLEdBQUcsb0RBQW9EO0lBRXZELGlDQUFpQztJQUVqQyx5QkFBeUI7SUFFekIsR0FBRywrQkFBK0I7SUFFbEMsb0NBQW9DO0lBRXBDLEdBQUcsc0NBQXNDO0NBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDUkVBVEVfTU9WRV9OT0RFX0RSQUdfTU9ERUxfRlJPTV9TRUxFQ1RJT05fUFJPVklERVJTIH0gZnJvbSAnLi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uJztcbmltcG9ydCB7IE5vZGVNb3ZlRmluYWxpemVFeGVjdXRpb24gfSBmcm9tICcuL25vZGUtbW92ZS1maW5hbGl6ZSc7XG5pbXBvcnQgeyBOT0RFX01PVkVfUFJFUEFSQVRJT05fUFJPVklERVJTIH0gZnJvbSAnLi9ub2RlLW1vdmUtcHJlcGFyYXRpb24nO1xuaW1wb3J0IHtcbiAgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uRXhlY3V0aW9uXG59IGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBOT0RFX0RSQUdfVE9fUEFSRU5UX0ZJTkFMSVpFX1BST1ZJREVSUyB9IGZyb20gJy4vbm9kZS1kcmFnLXRvLXBhcmVudC1maW5hbGl6ZSc7XG5pbXBvcnQgeyBMaW5lQWxpZ25tZW50UHJlcGFyYXRpb25FeGVjdXRpb24gfSBmcm9tICcuL2xpbmUtYWxpZ25tZW50LXByZXBhcmF0aW9uJztcblxuZXhwb3J0IGNvbnN0IE5PREVfUFJPVklERVJTID0gW1xuXG4gIC4uLkNSRUFURV9NT1ZFX05PREVfRFJBR19NT0RFTF9GUk9NX1NFTEVDVElPTl9QUk9WSURFUlMsXG5cbiAgTGluZUFsaWdubWVudFByZXBhcmF0aW9uRXhlY3V0aW9uLFxuXG4gIE5vZGVNb3ZlRmluYWxpemVFeGVjdXRpb24sXG5cbiAgLi4uTk9ERV9NT1ZFX1BSRVBBUkFUSU9OX1BST1ZJREVSUyxcblxuICBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25FeGVjdXRpb24sXG5cbiAgLi4uTk9ERV9EUkFHX1RPX1BBUkVOVF9GSU5BTElaRV9QUk9WSURFUlNcbl07XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { FComponentsStore } from '../../f-storage';
2
+ import { fInject } from '../f-injector';
3
+ import { PointBoundsLimiter } from './point-bounds-limiter';
4
+ // import { FMediator } from '@foblex/mediator';
5
+ export class SummaryNodeDragHandler {
6
+ limits;
7
+ fHandlers;
8
+ commonRect;
9
+ // private _fMediator = fInject(FMediator);
10
+ _fComponentStore = fInject(FComponentsStore);
11
+ _fBoundsLimiter;
12
+ constructor(limits, fHandlers, commonRect) {
13
+ this.limits = limits;
14
+ this.fHandlers = fHandlers;
15
+ this.commonRect = commonRect;
16
+ //this._onPointerDownPosition = this._getDraggedNodesBoundingRect();
17
+ this._fBoundsLimiter = new PointBoundsLimiter(this.commonRect, limits);
18
+ }
19
+ // private _getDraggedNodesBoundingRect(): IRect {
20
+ // return RectExtensions.union(this.fHandlers.map((x) => {
21
+ // return this._fMediator.execute<IRect>(new GetNormalizedElementRectRequest(x.fNode.hostElement, false));
22
+ // })) || RectExtensions.initialize();
23
+ // }
24
+ onPointerMove(difference) {
25
+ const adjustCellSize = this._fComponentStore.fDraggable.fCellSizeWhileDragging;
26
+ const differenceWithRestrictions = this._fBoundsLimiter.limit(difference, adjustCellSize);
27
+ this.fHandlers.forEach((x) => x.onPointerMove(differenceWithRestrictions));
28
+ }
29
+ onPointerUp() {
30
+ this.fHandlers.forEach((x) => x.onPointerUp());
31
+ }
32
+ calculateRestrictedDifference(difference) {
33
+ return this._fBoundsLimiter.limit(difference, true);
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1ub2RlLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9zdW1tYXJ5LW5vZGUuZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsZ0RBQWdEO0FBRWhELE1BQU0sT0FBTyxzQkFBc0I7SUFReEI7SUFDQTtJQUNBO0lBUlYsMkNBQTJDO0lBQ2xDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXBDLGVBQWUsQ0FBcUI7SUFFckQsWUFDUyxNQUFvQixFQUNwQixTQUE0QixFQUM1QixVQUFpQjtRQUZqQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQU87UUFFeEIsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsNERBQTREO0lBQzVELDhHQUE4RztJQUM5Ryx3Q0FBd0M7SUFDeEMsSUFBSTtJQUVHLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVyxDQUFDLHNCQUFzQixDQUFDO1FBQ2hGLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRTFGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLDZCQUE2QixDQUFDLFVBQWtCO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5NYXhQb2ludCwgSVBvaW50LCBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgZkluamVjdCB9IGZyb20gJy4uL2YtaW5qZWN0b3InO1xuaW1wb3J0IHsgUG9pbnRCb3VuZHNMaW1pdGVyIH0gZnJvbSAnLi9wb2ludC1ib3VuZHMtbGltaXRlcic7XG5pbXBvcnQgeyBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL25vZGUuZHJhZy1oYW5kbGVyJztcbi8vIGltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuXG5leHBvcnQgY2xhc3MgU3VtbWFyeU5vZGVEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuIC8vIHByaXZhdGUgX2ZNZWRpYXRvciA9IGZJbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudFN0b3JlID0gZkluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mQm91bmRzTGltaXRlcjogUG9pbnRCb3VuZHNMaW1pdGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsaW1pdHM6IElNaW5NYXhQb2ludCxcbiAgICBwdWJsaWMgZkhhbmRsZXJzOiBOb2RlRHJhZ0hhbmRsZXJbXSxcbiAgICBwdWJsaWMgY29tbW9uUmVjdDogSVJlY3RcbiAgKSB7XG4gICAgLy90aGlzLl9vblBvaW50ZXJEb3duUG9zaXRpb24gPSB0aGlzLl9nZXREcmFnZ2VkTm9kZXNCb3VuZGluZ1JlY3QoKTtcbiAgICB0aGlzLl9mQm91bmRzTGltaXRlciA9IG5ldyBQb2ludEJvdW5kc0xpbWl0ZXIodGhpcy5jb21tb25SZWN0LCBsaW1pdHMpO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBfZ2V0RHJhZ2dlZE5vZGVzQm91bmRpbmdSZWN0KCk6IElSZWN0IHtcbiAgLy8gICByZXR1cm4gUmVjdEV4dGVuc2lvbnMudW5pb24odGhpcy5mSGFuZGxlcnMubWFwKCh4KSA9PiB7XG4gIC8vICAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KHguZk5vZGUuaG9zdEVsZW1lbnQsIGZhbHNlKSk7XG4gIC8vICAgfSkpIHx8IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcbiAgLy8gfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGFkanVzdENlbGxTaXplID0gdGhpcy5fZkNvbXBvbmVudFN0b3JlLmZEcmFnZ2FibGUhLmZDZWxsU2l6ZVdoaWxlRHJhZ2dpbmc7XG4gICAgY29uc3QgZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMgPSB0aGlzLl9mQm91bmRzTGltaXRlci5saW1pdChkaWZmZXJlbmNlLCBhZGp1c3RDZWxsU2l6ZSk7XG5cbiAgICB0aGlzLmZIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZVdpdGhSZXN0cmljdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLmZIYW5kbGVycy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwKCkpO1xuICB9XG5cbiAgcHVibGljIGNhbGN1bGF0ZVJlc3RyaWN0ZWREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZCb3VuZHNMaW1pdGVyLmxpbWl0KGRpZmZlcmVuY2UsIHRydWUpO1xuICB9XG59XG4iXX0=
@@ -3,37 +3,41 @@ import { Injectable } from '@angular/core';
3
3
  import { ApplyChildResizeRestrictionsRequest } from './apply-child-resize-restrictions.request';
4
4
  import { FExecutionRegister } from '@foblex/mediator';
5
5
  import * as i0 from "@angular/core";
6
- const OFFSET = 0;
6
+ const CHILD_RESIZE_OFFSET = 0;
7
7
  let ApplyChildResizeRestrictionsExecution = class ApplyChildResizeRestrictionsExecution {
8
8
  handle(request) {
9
- this.applyRestrictions(request.rect, request.restrictionsRect);
9
+ this._apply(request.rect, request.restrictionsRect);
10
10
  }
11
- applyRestrictions(rect, restrictionsRect) {
12
- this.left(rect, restrictionsRect);
13
- this.top(rect, restrictionsRect);
14
- this.right(rect, restrictionsRect);
15
- this.bottom(rect, restrictionsRect);
11
+ _apply(rect, restrictionsRect) {
12
+ this._restrictLeft(rect, restrictionsRect);
13
+ this._restrictTop(rect, restrictionsRect);
14
+ this._restrictRight(rect, restrictionsRect);
15
+ this._restrictBottom(rect, restrictionsRect);
16
16
  }
17
- left(rect, restrictionsRect) {
18
- if (rect.x > restrictionsRect.x - OFFSET) {
19
- rect.width += rect.x - restrictionsRect.x - OFFSET;
20
- rect.x = restrictionsRect.x - OFFSET;
17
+ _restrictLeft(rect, restrictions) {
18
+ const delta = rect.x - (restrictions.x - CHILD_RESIZE_OFFSET);
19
+ if (delta > 0) {
20
+ rect.x -= delta;
21
+ rect.width += delta;
21
22
  }
22
23
  }
23
- top(rect, restrictionsRect) {
24
- if (rect.y > restrictionsRect.y - OFFSET) {
25
- rect.height += rect.y - restrictionsRect.y - OFFSET;
26
- rect.y = restrictionsRect.y - OFFSET;
24
+ _restrictTop(rect, restrictions) {
25
+ const delta = rect.y - (restrictions.y - CHILD_RESIZE_OFFSET);
26
+ if (delta > 0) {
27
+ rect.y -= delta;
28
+ rect.height += delta;
27
29
  }
28
30
  }
29
- right(rect, restrictionsRect) {
30
- if (rect.x + rect.width <= restrictionsRect.x + restrictionsRect.width + OFFSET) {
31
- rect.width = restrictionsRect.x + restrictionsRect.width - rect.x + OFFSET;
31
+ _restrictRight(rect, restrictions) {
32
+ const maxRight = restrictions.x + restrictions.width + CHILD_RESIZE_OFFSET;
33
+ if (rect.x + rect.width <= maxRight) {
34
+ rect.width = maxRight - rect.x;
32
35
  }
33
36
  }
34
- bottom(rect, restrictionsRect) {
35
- if (rect.y + rect.height <= restrictionsRect.y + restrictionsRect.height + OFFSET) {
36
- rect.height = restrictionsRect.y + restrictionsRect.height - rect.y + OFFSET;
37
+ _restrictBottom(rect, restrictions) {
38
+ const maxBottom = restrictions.y + restrictions.height + CHILD_RESIZE_OFFSET;
39
+ if (rect.y + rect.height <= maxBottom) {
40
+ rect.height = maxBottom - rect.y;
37
41
  }
38
42
  }
39
43
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApplyChildResizeRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -46,4 +50,4 @@ export { ApplyChildResizeRestrictionsExecution };
46
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApplyChildResizeRestrictionsExecution, decorators: [{
47
51
  type: Injectable
48
52
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2FwcGx5LWNoaWxkLXJlc2l6ZS1yZXN0cmljdGlvbnMvYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUlWLElBQU0scUNBQXFDLEdBQTNDLE1BQU0scUNBQXFDO0lBR3pDLE1BQU0sQ0FBQyxPQUE0QztRQUN4RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBVyxFQUFFLGdCQUF1QjtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxJQUFJLENBQUMsSUFBVyxFQUFFLGdCQUF1QjtRQUMvQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQ25ELElBQUksQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQztJQUVPLEdBQUcsQ0FBQyxJQUFXLEVBQUUsZ0JBQXVCO1FBQzlDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDcEQsSUFBSSxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLElBQVcsRUFBRSxnQkFBdUI7UUFDaEQsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQztZQUNoRixJQUFJLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsSUFBVyxFQUFFLGdCQUF1QjtRQUNqRCxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO1lBQ2xGLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUMvRSxDQUFDO0lBQ0gsQ0FBQzt1R0F0Q1UscUNBQXFDOzJHQUFyQyxxQ0FBcUM7O0FBQXJDLHFDQUFxQztJQURqRCxrQkFBa0IsQ0FBQyxtQ0FBbUMsQ0FBQztHQUMzQyxxQ0FBcUMsQ0F1Q2pEOzsyRkF2Q1kscUNBQXFDO2tCQUZqRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL2FwcGx5LWNoaWxkLXJlc2l6ZS1yZXN0cmljdGlvbnMucmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbmNvbnN0IE9GRlNFVCA9IDA7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc0V4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248QXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5hcHBseVJlc3RyaWN0aW9ucyhyZXF1ZXN0LnJlY3QsIHJlcXVlc3QucmVzdHJpY3Rpb25zUmVjdCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UmVzdHJpY3Rpb25zKHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIHRoaXMubGVmdChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLnRvcChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLnJpZ2h0KHJlY3QsIHJlc3RyaWN0aW9uc1JlY3QpO1xuICAgIHRoaXMuYm90dG9tKHJlY3QsIHJlc3RyaWN0aW9uc1JlY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBsZWZ0KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmIChyZWN0LnggPiByZXN0cmljdGlvbnNSZWN0LnggLSBPRkZTRVQpIHtcbiAgICAgIHJlY3Qud2lkdGggKz0gcmVjdC54IC0gcmVzdHJpY3Rpb25zUmVjdC54IC0gT0ZGU0VUO1xuICAgICAgcmVjdC54ID0gcmVzdHJpY3Rpb25zUmVjdC54IC0gT0ZGU0VUO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdG9wKHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmIChyZWN0LnkgPiByZXN0cmljdGlvbnNSZWN0LnkgLSBPRkZTRVQpIHtcbiAgICAgIHJlY3QuaGVpZ2h0ICs9IHJlY3QueSAtIHJlc3RyaWN0aW9uc1JlY3QueSAtIE9GRlNFVDtcbiAgICAgIHJlY3QueSA9IHJlc3RyaWN0aW9uc1JlY3QueSAtIE9GRlNFVDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJpZ2h0KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmIChyZWN0LnggKyByZWN0LndpZHRoIDw9IHJlc3RyaWN0aW9uc1JlY3QueCArIHJlc3RyaWN0aW9uc1JlY3Qud2lkdGggKyBPRkZTRVQpIHtcbiAgICAgIHJlY3Qud2lkdGggPSByZXN0cmljdGlvbnNSZWN0LnggKyByZXN0cmljdGlvbnNSZWN0LndpZHRoIC0gcmVjdC54ICsgT0ZGU0VUO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYm90dG9tKHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIGlmIChyZWN0LnkgKyByZWN0LmhlaWdodCA8PSByZXN0cmljdGlvbnNSZWN0LnkgKyByZXN0cmljdGlvbnNSZWN0LmhlaWdodCArIE9GRlNFVCkge1xuICAgICAgcmVjdC5oZWlnaHQgPSByZXN0cmljdGlvbnNSZWN0LnkgKyByZXN0cmljdGlvbnNSZWN0LmhlaWdodCAtIHJlY3QueSArIE9GRlNFVDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2FwcGx5LWNoaWxkLXJlc2l6ZS1yZXN0cmljdGlvbnMvYXBwbHktY2hpbGQtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBSXZCLElBQU0scUNBQXFDLEdBQTNDLE1BQU0scUNBQXFDO0lBR3pDLE1BQU0sQ0FBQyxPQUE0QztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFXLEVBQUUsZ0JBQXVCO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFXLEVBQUUsWUFBbUI7UUFDcEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVcsRUFBRSxZQUFtQjtRQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsSUFBVyxFQUFFLFlBQW1CO1FBQ3JELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssR0FBRyxtQkFBbUIsQ0FBQztRQUMzRSxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVcsRUFBRSxZQUFtQjtRQUN0RCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEdBQUcsbUJBQW1CLENBQUM7UUFDN0UsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzt1R0ExQ1UscUNBQXFDOzJHQUFyQyxxQ0FBcUM7O0FBQXJDLHFDQUFxQztJQURqRCxrQkFBa0IsQ0FBQyxtQ0FBbUMsQ0FBQztHQUMzQyxxQ0FBcUMsQ0EyQ2pEOzsyRkEzQ1kscUNBQXFDO2tCQUZqRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbHlDaGlsZFJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL2FwcGx5LWNoaWxkLXJlc2l6ZS1yZXN0cmljdGlvbnMucmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbmNvbnN0IENISUxEX1JFU0laRV9PRkZTRVQgPSAwO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEFwcGx5Q2hpbGRSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBBcHBseUNoaWxkUmVzaXplUmVzdHJpY3Rpb25zUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2FwcGx5KHJlcXVlc3QucmVjdCwgcmVxdWVzdC5yZXN0cmljdGlvbnNSZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FwcGx5KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnNSZWN0OiBJUmVjdCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc3RyaWN0TGVmdChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLl9yZXN0cmljdFRvcChyZWN0LCByZXN0cmljdGlvbnNSZWN0KTtcbiAgICB0aGlzLl9yZXN0cmljdFJpZ2h0KHJlY3QsIHJlc3RyaWN0aW9uc1JlY3QpO1xuICAgIHRoaXMuX3Jlc3RyaWN0Qm90dG9tKHJlY3QsIHJlc3RyaWN0aW9uc1JlY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzdHJpY3RMZWZ0KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnM6IElSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgZGVsdGEgPSByZWN0LnggLSAocmVzdHJpY3Rpb25zLnggLSBDSElMRF9SRVNJWkVfT0ZGU0VUKTtcbiAgICBpZiAoZGVsdGEgPiAwKSB7XG4gICAgICByZWN0LnggLT0gZGVsdGE7XG4gICAgICByZWN0LndpZHRoICs9IGRlbHRhO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Jlc3RyaWN0VG9wKHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnM6IElSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgZGVsdGEgPSByZWN0LnkgLSAocmVzdHJpY3Rpb25zLnkgLSBDSElMRF9SRVNJWkVfT0ZGU0VUKTtcbiAgICBpZiAoZGVsdGEgPiAwKSB7XG4gICAgICByZWN0LnkgLT0gZGVsdGE7XG4gICAgICByZWN0LmhlaWdodCArPSBkZWx0YTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXN0cmljdFJpZ2h0KHJlY3Q6IElSZWN0LCByZXN0cmljdGlvbnM6IElSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgbWF4UmlnaHQgPSByZXN0cmljdGlvbnMueCArIHJlc3RyaWN0aW9ucy53aWR0aCArIENISUxEX1JFU0laRV9PRkZTRVQ7XG4gICAgaWYgKHJlY3QueCArIHJlY3Qud2lkdGggPD0gbWF4UmlnaHQpIHtcbiAgICAgIHJlY3Qud2lkdGggPSBtYXhSaWdodCAtIHJlY3QueDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXN0cmljdEJvdHRvbShyZWN0OiBJUmVjdCwgcmVzdHJpY3Rpb25zOiBJUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IG1heEJvdHRvbSA9IHJlc3RyaWN0aW9ucy55ICsgcmVzdHJpY3Rpb25zLmhlaWdodCArIENISUxEX1JFU0laRV9PRkZTRVQ7XG4gICAgaWYgKHJlY3QueSArIHJlY3QuaGVpZ2h0IDw9IG1heEJvdHRvbSkge1xuICAgICAgcmVjdC5oZWlnaHQgPSBtYXhCb3R0b20gLSByZWN0Lnk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -31,4 +31,4 @@ export { CalculateChangedSizeExecution };
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CalculateChangedSizeExecution, decorators: [{
32
32
  type: Injectable
33
33
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNoYW5nZWQtc2l6ZS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2NhbGN1bGF0ZS1jaGFuZ2VkLXNpemUvY2FsY3VsYXRlLWNoYW5nZWQtc2l6ZS5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFpQixjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSWpELElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBR2pDLE1BQU0sQ0FBQyxPQUFvQztRQUNoRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLE9BQU8sQ0FBQyxZQUFZLEVBQ3BCLE9BQU8sQ0FBQyxVQUFVLEVBQ2xCLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFXLEVBQUUsVUFBa0IsRUFBRSxTQUFpQjtRQUMvRCxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsVUFBVSxDQUN0QyxDQUFDLEVBQUUsQ0FBQyxFQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxFQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FDekMsQ0FBQztRQUdGLElBQUksTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDeEIsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN6QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQzt1R0E5QlUsNkJBQTZCOzJHQUE3Qiw2QkFBNkI7O0FBQTdCLDZCQUE2QjtJQUR6QyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQztHQUNuQyw2QkFBNkIsQ0ErQnpDOzsyRkEvQlksNkJBQTZCO2tCQUZ6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ2hhbmdlZFNpemVSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY2hhbmdlZC1zaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgUkVTSVpFX0RJUkVDVElPTlMgfSBmcm9tICcuLi9yZXNpemUtZGlyZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVDaGFuZ2VkU2l6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ2hhbmdlZFNpemVFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZUNoYW5nZWRTaXplUmVxdWVzdCwgSVJlY3Q+IHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbGN1bGF0ZUNoYW5nZWRTaXplUmVxdWVzdCk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2UoXG4gICAgICByZXF1ZXN0Lm9yaWdpbmFsUmVjdCxcbiAgICAgIHJlcXVlc3QuZGlmZmVyZW5jZSxcbiAgICAgIFJFU0laRV9ESVJFQ1RJT05TW3JlcXVlc3QuZlJlc2l6ZUhhbmRsZVR5cGVdLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZShyZWN0OiBJUmVjdCwgZGlmZmVyZW5jZTogSVBvaW50LCBkaXJlY3Rpb246IElQb2ludCk6IElSZWN0IHtcbiAgICBjb25zdCByZXN1bHQgPSBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgMCwgMCxcbiAgICAgIHJlY3Qud2lkdGggKyBkaXJlY3Rpb24ueCAqIGRpZmZlcmVuY2UueCxcbiAgICAgIHJlY3QuaGVpZ2h0ICsgZGlyZWN0aW9uLnkgKiBkaWZmZXJlbmNlLnlcbiAgICApO1xuXG5cbiAgICBpZiAocmVzdWx0LndpZHRoIDwgMCkge1xuICAgICAgcmVzdWx0LnggPSByZXN1bHQud2lkdGg7XG4gICAgICByZXN1bHQud2lkdGggPSBNYXRoLmFicyhyZXN1bHQud2lkdGgpO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQuaGVpZ2h0IDwgMCkge1xuICAgICAgcmVzdWx0LnkgPSByZXN1bHQuaGVpZ2h0O1xuICAgICAgcmVzdWx0LmhlaWdodCA9IE1hdGguYWJzKHJlc3VsdC5oZWlnaHQpO1xuICAgIH1cblxuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5jb3B5KHJlc3VsdCk7XG4gIH1cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNoYW5nZWQtc2l6ZS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2NhbGN1bGF0ZS1jaGFuZ2VkLXNpemUvY2FsY3VsYXRlLWNoYW5nZWQtc2l6ZS5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFpQixjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSWpELElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBR2pDLE1BQU0sQ0FBQyxPQUFvQztRQUNoRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLE9BQU8sQ0FBQyxZQUFZLEVBQ3BCLE9BQU8sQ0FBQyxVQUFVLEVBQ2xCLGlCQUFpQixDQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBRSxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFXLEVBQUUsVUFBa0IsRUFBRSxTQUFpQjtRQUMvRCxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsVUFBVSxDQUN0QyxDQUFDLEVBQUUsQ0FBQyxFQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxFQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FDekMsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDeEIsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN6QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQzt1R0E3QlUsNkJBQTZCOzJHQUE3Qiw2QkFBNkI7O0FBQTdCLDZCQUE2QjtJQUR6QyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQztHQUNuQyw2QkFBNkIsQ0E4QnpDOzsyRkE5QlksNkJBQTZCO2tCQUZ6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ2hhbmdlZFNpemVSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY2hhbmdlZC1zaXplLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgUkVTSVpFX0RJUkVDVElPTlMgfSBmcm9tICcuLi9yZXNpemUtZGlyZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVDaGFuZ2VkU2l6ZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ2hhbmdlZFNpemVFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPENhbGN1bGF0ZUNoYW5nZWRTaXplUmVxdWVzdCwgSVJlY3Q+IHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbGN1bGF0ZUNoYW5nZWRTaXplUmVxdWVzdCk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2UoXG4gICAgICByZXF1ZXN0Lm9yaWdpbmFsUmVjdCxcbiAgICAgIHJlcXVlc3QuZGlmZmVyZW5jZSxcbiAgICAgIFJFU0laRV9ESVJFQ1RJT05TWyByZXF1ZXN0LmZSZXNpemVIYW5kbGVUeXBlIF0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlKHJlY3Q6IElSZWN0LCBkaWZmZXJlbmNlOiBJUG9pbnQsIGRpcmVjdGlvbjogSVBvaW50KTogSVJlY3Qge1xuICAgIGNvbnN0IHJlc3VsdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAwLCAwLFxuICAgICAgcmVjdC53aWR0aCArIGRpcmVjdGlvbi54ICogZGlmZmVyZW5jZS54LFxuICAgICAgcmVjdC5oZWlnaHQgKyBkaXJlY3Rpb24ueSAqIGRpZmZlcmVuY2UueVxuICAgICk7XG5cbiAgICBpZiAocmVzdWx0LndpZHRoIDwgMCkge1xuICAgICAgcmVzdWx0LnggPSByZXN1bHQud2lkdGg7XG4gICAgICByZXN1bHQud2lkdGggPSBNYXRoLmFicyhyZXN1bHQud2lkdGgpO1xuICAgIH1cblxuICAgIGlmIChyZXN1bHQuaGVpZ2h0IDwgMCkge1xuICAgICAgcmVzdWx0LnkgPSByZXN1bHQuaGVpZ2h0O1xuICAgICAgcmVzdWx0LmhlaWdodCA9IE1hdGguYWJzKHJlc3VsdC5oZWlnaHQpO1xuICAgIH1cblxuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5jb3B5KHJlc3VsdCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,32 +1,32 @@
1
1
  import { __decorate } from "tslib";
2
- import { Injectable } from '@angular/core';
2
+ import { inject, Injectable } from '@angular/core';
3
3
  import { GetNodeResizeRestrictionsRequest } from './get-node-resize-restrictions.request';
4
4
  import { SizeExtensions } from '@foblex/2d';
5
- import { FExecutionRegister } from '@foblex/mediator';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
6
  import { GetNormalizedParentNodeRectRequest } from '../../domain';
7
7
  import { GetNormalizedChildrenNodesRectRequest } from '../get-normalized-children-nodes-rect';
8
8
  import { GetNodePaddingRequest } from '../../../domain';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "@foblex/mediator";
11
10
  let GetNodeResizeRestrictionsExecution = class GetNodeResizeRestrictionsExecution {
12
- fMediator;
13
- constructor(fMediator) {
14
- this.fMediator = fMediator;
15
- }
11
+ _fMediator = inject(FMediator);
16
12
  handle(request) {
17
- const fNodePaddings = this.getNodePaddings(request.fNode, request.rect);
18
- const childRect = this.fMediator.send(new GetNormalizedChildrenNodesRectRequest(request.fNode, fNodePaddings));
19
- const parentRect = this.fMediator.send(new GetNormalizedParentNodeRectRequest(request.fNode));
13
+ const paddings = this._calculateNodePaddings(request.fNode, request.rect);
20
14
  return {
21
- parentRect,
22
- childRect,
23
- minSize: SizeExtensions.initialize(fNodePaddings[0] + fNodePaddings[2], fNodePaddings[1] + fNodePaddings[3])
15
+ parentBounds: this._getNormalizedParentBounds(request.fNode),
16
+ childrenBounds: this._getNormalizedChildrenBounds(request.fNode, paddings),
17
+ minimumSize: SizeExtensions.initialize(paddings[0] + paddings[2], paddings[1] + paddings[3])
24
18
  };
25
19
  }
26
- getNodePaddings(node, rect) {
27
- return this.fMediator.send(new GetNodePaddingRequest(node, rect));
20
+ _calculateNodePaddings(node, rect) {
21
+ return this._fMediator.execute(new GetNodePaddingRequest(node, rect));
22
+ }
23
+ _getNormalizedParentBounds(fNode) {
24
+ return this._fMediator.execute(new GetNormalizedParentNodeRectRequest(fNode));
25
+ }
26
+ _getNormalizedChildrenBounds(fNode, fNodePaddings) {
27
+ return this._fMediator.execute(new GetNormalizedChildrenNodesRectRequest(fNode, fNodePaddings));
28
28
  }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeResizeRestrictionsExecution, deps: [{ token: i1.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeResizeRestrictionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
30
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeResizeRestrictionsExecution });
31
31
  };
32
32
  GetNodeResizeRestrictionsExecution = __decorate([
@@ -35,5 +35,5 @@ GetNodeResizeRestrictionsExecution = __decorate([
35
35
  export { GetNodeResizeRestrictionsExecution };
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodeResizeRestrictionsExecution, decorators: [{
37
37
  type: Injectable
38
- }], ctorParameters: () => [{ type: i1.FMediator }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2dldC1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMvZ2V0LW5vZGUtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFTLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFLakQsSUFBTSxrQ0FBa0MsR0FBeEMsTUFBTSxrQ0FBa0M7SUFJbkM7SUFEVixZQUNVLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF5QztRQUNyRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFlLElBQUkscUNBQXFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzdILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksa0NBQWtDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFckcsT0FBTztZQUNMLFVBQVU7WUFDVixTQUFTO1lBQ1QsT0FBTyxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdHLENBQUE7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQWUsRUFBRSxJQUFXO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXFDLElBQUkscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEcsQ0FBQzt1R0F0QlUsa0NBQWtDOzJHQUFsQyxrQ0FBa0M7O0FBQWxDLGtDQUFrQztJQUQ5QyxrQkFBa0IsQ0FBQyxnQ0FBZ0MsQ0FBQztHQUN4QyxrQ0FBa0MsQ0F1QjlDOzsyRkF2Qlksa0NBQWtDO2tCQUY5QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9kZVJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL2dldC1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMucmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCwgU2l6ZUV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElOb2RlUmVzaXplUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9pLW5vZGUtcmVzaXplLXJlc3RyaWN0aW9ucyc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkQ2hpbGRyZW5Ob2Rlc1JlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LW5vcm1hbGl6ZWQtY2hpbGRyZW4tbm9kZXMtcmVjdCc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcblxuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vZGVSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vZGVSZXNpemVSZXN0cmljdGlvbnNFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vZGVSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0LCBJTm9kZVJlc2l6ZVJlc3RyaWN0aW9ucz4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3JcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vZGVSZXNpemVSZXN0cmljdGlvbnNSZXF1ZXN0KTogSU5vZGVSZXNpemVSZXN0cmljdGlvbnMge1xuICAgIGNvbnN0IGZOb2RlUGFkZGluZ3MgPSB0aGlzLmdldE5vZGVQYWRkaW5ncyhyZXF1ZXN0LmZOb2RlLCByZXF1ZXN0LnJlY3QpO1xuICAgIGNvbnN0IGNoaWxkUmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3QgfCBudWxsPihuZXcgR2V0Tm9ybWFsaXplZENoaWxkcmVuTm9kZXNSZWN0UmVxdWVzdChyZXF1ZXN0LmZOb2RlLCBmTm9kZVBhZGRpbmdzKSk7XG4gICAgY29uc3QgcGFyZW50UmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0KHJlcXVlc3QuZk5vZGUpKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwYXJlbnRSZWN0LFxuICAgICAgY2hpbGRSZWN0LFxuICAgICAgbWluU2l6ZTogU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZShmTm9kZVBhZGRpbmdzWzBdICsgZk5vZGVQYWRkaW5nc1syXSwgZk5vZGVQYWRkaW5nc1sxXSArIGZOb2RlUGFkZGluZ3NbM10pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2RlUGFkZGluZ3Mobm9kZTogRk5vZGVCYXNlLCByZWN0OiBJUmVjdCk6IFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0+KG5ldyBHZXROb2RlUGFkZGluZ1JlcXVlc3Qobm9kZSwgcmVjdCkpO1xuICB9XG59XG4iXX0=
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2dldC1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMvZ2V0LW5vZGUtcmVzaXplLXJlc3RyaWN0aW9ucy5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFGLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLakQsSUFBTSxrQ0FBa0MsR0FBeEMsTUFBTSxrQ0FBa0M7SUFHckMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUVoQyxNQUFNLENBQUMsT0FBeUM7UUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFFLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDNUQsY0FBYyxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztZQUMxRSxXQUFXLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0YsQ0FBQTtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxJQUFlLEVBQUUsSUFBVztRQUN6RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFxQyxJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFTywwQkFBMEIsQ0FBQyxLQUFnQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFRLElBQUksa0NBQWtDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU8sNEJBQTRCLENBQUMsS0FBZ0IsRUFBRSxhQUFpRDtRQUN0RyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFlLElBQUkscUNBQXFDLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQzt1R0F6QlUsa0NBQWtDOzJHQUFsQyxrQ0FBa0M7O0FBQWxDLGtDQUFrQztJQUQ5QyxrQkFBa0IsQ0FBQyxnQ0FBZ0MsQ0FBQztHQUN4QyxrQ0FBa0MsQ0EwQjlDOzsyRkExQlksa0NBQWtDO2tCQUY5QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXROb2RlUmVzaXplUmVzdHJpY3Rpb25zUmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vZGUtcmVzaXplLXJlc3RyaWN0aW9ucy5yZXF1ZXN0JztcbmltcG9ydCB7IElSZWN0LCBTaXplRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSU5vZGVSZXNpemVSZXN0cmljdGlvbnMgfSBmcm9tICcuL2ktbm9kZS1yZXNpemUtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRDaGlsZHJlbk5vZGVzUmVjdFJlcXVlc3QgfSBmcm9tICcuLi9nZXQtbm9ybWFsaXplZC1jaGlsZHJlbi1ub2Rlcy1yZWN0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXROb2RlUGFkZGluZ1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9kZVJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9kZVJlc2l6ZVJlc3RyaWN0aW9uc0V4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9kZVJlc2l6ZVJlc3RyaWN0aW9uc1JlcXVlc3QsIElOb2RlUmVzaXplUmVzdHJpY3Rpb25zPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXROb2RlUmVzaXplUmVzdHJpY3Rpb25zUmVxdWVzdCk6IElOb2RlUmVzaXplUmVzdHJpY3Rpb25zIHtcbiAgICBjb25zdCBwYWRkaW5ncyA9IHRoaXMuX2NhbGN1bGF0ZU5vZGVQYWRkaW5ncyhyZXF1ZXN0LmZOb2RlLCByZXF1ZXN0LnJlY3QpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmVudEJvdW5kczogdGhpcy5fZ2V0Tm9ybWFsaXplZFBhcmVudEJvdW5kcyhyZXF1ZXN0LmZOb2RlKSxcbiAgICAgIGNoaWxkcmVuQm91bmRzOiB0aGlzLl9nZXROb3JtYWxpemVkQ2hpbGRyZW5Cb3VuZHMocmVxdWVzdC5mTm9kZSwgcGFkZGluZ3MpLFxuICAgICAgbWluaW11bVNpemU6IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUocGFkZGluZ3NbMF0gKyBwYWRkaW5nc1syXSwgcGFkZGluZ3NbMV0gKyBwYWRkaW5nc1szXSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVOb2RlUGFkZGluZ3Mobm9kZTogRk5vZGVCYXNlLCByZWN0OiBJUmVjdCk6IFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0ge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdPihuZXcgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0KG5vZGUsIHJlY3QpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vcm1hbGl6ZWRQYXJlbnRCb3VuZHMoZk5vZGU6IEZOb2RlQmFzZSk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RSZXF1ZXN0KGZOb2RlKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb3JtYWxpemVkQ2hpbGRyZW5Cb3VuZHMoZk5vZGU6IEZOb2RlQmFzZSwgZk5vZGVQYWRkaW5nczogWyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXSk6IElSZWN0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0IHwgbnVsbD4obmV3IEdldE5vcm1hbGl6ZWRDaGlsZHJlbk5vZGVzUmVjdFJlcXVlc3QoZk5vZGUsIGZOb2RlUGFkZGluZ3MpKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2dldC1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMvaS1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0LCBJU2l6ZSB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOb2RlUmVzaXplUmVzdHJpY3Rpb25zIHtcblxuICBwYXJlbnRSZWN0OiBJUmVjdDtcblxuICBjaGlsZFJlY3Q6IElSZWN0IHwgbnVsbDtcblxuICBtaW5TaXplOiBJU2l6ZTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2dldC1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMvaS1ub2RlLXJlc2l6ZS1yZXN0cmljdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0LCBJU2l6ZSB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOb2RlUmVzaXplUmVzdHJpY3Rpb25zIHtcblxuICBwYXJlbnRCb3VuZHM6IElSZWN0O1xuXG4gIGNoaWxkcmVuQm91bmRzOiBJUmVjdCB8IG51bGw7XG5cbiAgbWluaW11bVNpemU6IElTaXplO1xufVxuIl19
@@ -17,10 +17,10 @@ let GetNormalizedChildrenNodesRectExecution = class GetNormalizedChildrenNodesRe
17
17
  this.concatRectWithParentPadding(childNodeRect, request.paddings) : null;
18
18
  }
19
19
  getChildrenNodes(fId) {
20
- return this.fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
20
+ return this.fMediator.execute(new GetDeepChildrenNodesAndGroupsRequest(fId));
21
21
  }
22
22
  normalizeRect(fNode) {
23
- return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
23
+ return this.fMediator.execute(new GetNormalizedElementRectRequest(fNode.hostElement, false));
24
24
  }
25
25
  concatRectWithParentPadding(rect, padding) {
26
26
  return RectExtensions.initialize(rect.x - padding[0], rect.y - padding[1], rect.width + padding[0] + padding[2], rect.height + +padding[1] + padding[3]);
@@ -35,4 +35,4 @@ export { GetNormalizedChildrenNodesRectExecution };
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedChildrenNodesRectExecution, decorators: [{
36
36
  type: Injectable
37
37
  }], ctorParameters: () => [{ type: i1.FMediator }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtY2hpbGRyZW4tbm9kZXMtcmVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2dldC1ub3JtYWxpemVkLWNoaWxkcmVuLW5vZGVzLXJlY3QvZ2V0LW5vcm1hbGl6ZWQtY2hpbGRyZW4tbm9kZXMtcmVjdC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDckcsT0FBTyxFQUFTLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUlqRyxJQUFNLHVDQUF1QyxHQUE3QyxNQUFNLHVDQUF1QztJQUl4QztJQURWLFlBQ1UsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQThDO1FBQzFELE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzRSxDQUFDO1FBQ0YsT0FBTyxhQUFhLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsMkJBQTJCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWMsSUFBSSxvQ0FBb0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBUSxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRU8sMkJBQTJCLENBQUMsSUFBVyxFQUFFLE9BQTJDO1FBQzFGLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FDOUIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ25CLElBQUksQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ0osQ0FBQzt1R0EvQlUsdUNBQXVDOzJHQUF2Qyx1Q0FBdUM7O0FBQXZDLHVDQUF1QztJQURuRCxrQkFBa0IsQ0FBQyxxQ0FBcUMsQ0FBQztHQUM3Qyx1Q0FBdUMsQ0FnQ25EOzsyRkFoQ1ksdUNBQXVDO2tCQUZuRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZENoaWxkcmVuTm9kZXNSZWN0UmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtY2hpbGRyZW4tbm9kZXMtcmVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QsIEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vcm1hbGl6ZWRDaGlsZHJlbk5vZGVzUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9ybWFsaXplZENoaWxkcmVuTm9kZXNSZWN0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb3JtYWxpemVkQ2hpbGRyZW5Ob2Rlc1JlY3RSZXF1ZXN0LCBJUmVjdCB8IG51bGw+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXROb3JtYWxpemVkQ2hpbGRyZW5Ob2Rlc1JlY3RSZXF1ZXN0KTogSVJlY3QgfCBudWxsIHtcbiAgICBjb25zdCBjaGlsZE5vZGVSZWN0ID0gUmVjdEV4dGVuc2lvbnMudW5pb24oXG4gICAgICB0aGlzLmdldENoaWxkcmVuTm9kZXMocmVxdWVzdC5mTm9kZS5mSWQpLm1hcCgoeCkgPT4gdGhpcy5ub3JtYWxpemVSZWN0KHgpKVxuICAgICk7XG4gICAgcmV0dXJuIGNoaWxkTm9kZVJlY3QgP1xuICAgICAgdGhpcy5jb25jYXRSZWN0V2l0aFBhcmVudFBhZGRpbmcoY2hpbGROb2RlUmVjdCwgcmVxdWVzdC5wYWRkaW5ncykgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVSZWN0KGZOb2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KGZOb2RlLmhvc3RFbGVtZW50LCBmYWxzZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25jYXRSZWN0V2l0aFBhcmVudFBhZGRpbmcocmVjdDogSVJlY3QsIHBhZGRpbmc6IFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0pOiBJUmVjdCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICByZWN0LnggLSBwYWRkaW5nWzBdLFxuICAgICAgcmVjdC55IC0gcGFkZGluZ1sxXSxcbiAgICAgIHJlY3Qud2lkdGggKyBwYWRkaW5nWzBdICsgcGFkZGluZ1syXSxcbiAgICAgIHJlY3QuaGVpZ2h0ICsgKyBwYWRkaW5nWzFdICsgcGFkZGluZ1szXVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtY2hpbGRyZW4tbm9kZXMtcmVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUtcmVzaXplL2dldC1ub3JtYWxpemVkLWNoaWxkcmVuLW5vZGVzLXJlY3QvZ2V0LW5vcm1hbGl6ZWQtY2hpbGRyZW4tbm9kZXMtcmVjdC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDckcsT0FBTyxFQUFTLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUlqRyxJQUFNLHVDQUF1QyxHQUE3QyxNQUFNLHVDQUF1QztJQUl4QztJQURWLFlBQ1UsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQThDO1FBQzFELE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzRSxDQUFDO1FBQ0YsT0FBTyxhQUFhLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsMkJBQTJCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQWMsSUFBSSxvQ0FBb0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBZ0I7UUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBUSxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRU8sMkJBQTJCLENBQUMsSUFBVyxFQUFFLE9BQTJDO1FBQzFGLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FDOUIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ25CLElBQUksQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ0osQ0FBQzt1R0EvQlUsdUNBQXVDOzJHQUF2Qyx1Q0FBdUM7O0FBQXZDLHVDQUF1QztJQURuRCxrQkFBa0IsQ0FBQyxxQ0FBcUMsQ0FBQztHQUM3Qyx1Q0FBdUMsQ0FnQ25EOzsyRkFoQ1ksdUNBQXVDO2tCQUZuRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZENoaWxkcmVuTm9kZXNSZWN0UmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtY2hpbGRyZW4tbm9kZXMtcmVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QsIEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vcm1hbGl6ZWRDaGlsZHJlbk5vZGVzUmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9ybWFsaXplZENoaWxkcmVuTm9kZXNSZWN0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb3JtYWxpemVkQ2hpbGRyZW5Ob2Rlc1JlY3RSZXF1ZXN0LCBJUmVjdCB8IG51bGw+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXROb3JtYWxpemVkQ2hpbGRyZW5Ob2Rlc1JlY3RSZXF1ZXN0KTogSVJlY3QgfCBudWxsIHtcbiAgICBjb25zdCBjaGlsZE5vZGVSZWN0ID0gUmVjdEV4dGVuc2lvbnMudW5pb24oXG4gICAgICB0aGlzLmdldENoaWxkcmVuTm9kZXMocmVxdWVzdC5mTm9kZS5mSWQpLm1hcCgoeCkgPT4gdGhpcy5ub3JtYWxpemVSZWN0KHgpKVxuICAgICk7XG4gICAgcmV0dXJuIGNoaWxkTm9kZVJlY3QgP1xuICAgICAgdGhpcy5jb25jYXRSZWN0V2l0aFBhcmVudFBhZGRpbmcoY2hpbGROb2RlUmVjdCwgcmVxdWVzdC5wYWRkaW5ncykgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVSZWN0KGZOb2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLmV4ZWN1dGU8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KGZOb2RlLmhvc3RFbGVtZW50LCBmYWxzZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25jYXRSZWN0V2l0aFBhcmVudFBhZGRpbmcocmVjdDogSVJlY3QsIHBhZGRpbmc6IFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0pOiBJUmVjdCB7XG4gICAgcmV0dXJuIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICByZWN0LnggLSBwYWRkaW5nWzBdLFxuICAgICAgcmVjdC55IC0gcGFkZGluZ1sxXSxcbiAgICAgIHJlY3Qud2lkdGggKyBwYWRkaW5nWzBdICsgcGFkZGluZ1syXSxcbiAgICAgIHJlY3QuaGVpZ2h0ICsgKyBwYWRkaW5nWzFdICsgcGFkZGluZ1szXVxuICAgICk7XG4gIH1cbn1cbiJdfQ==