@foblex/flow 12.5.0 → 12.6.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 (450) hide show
  1. package/README.md +2 -2
  2. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.d.ts +13 -0
  3. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.d.ts +4 -0
  4. package/domain/get-deep-children-nodes-and-groups/index.d.ts +2 -0
  5. package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +2 -2
  6. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.d.ts +14 -0
  7. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.d.ts +2 -0
  8. package/domain/get-scaled-node-rects-with-flow-position/index.d.ts +2 -0
  9. package/domain/index.d.ts +4 -5
  10. package/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -5
  11. package/domain/providers.d.ts +5 -6
  12. package/domain/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +1 -3
  13. package/domain/sort-item-layers/index.d.ts +4 -0
  14. package/domain/sort-item-layers/sort-item-layers.execution.d.ts +12 -0
  15. package/domain/sort-item-layers/sort-item-layers.request.d.ts +2 -0
  16. package/domain/sort-item-layers/sort-items-by-parent/index.d.ts +2 -0
  17. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +20 -0
  18. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.d.ts +4 -0
  19. package/domain/sort-item-layers/sort-node-layers-by-groups/index.d.ts +2 -0
  20. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +21 -0
  21. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.d.ts +2 -0
  22. package/domain/update-item-and-children-layers/index.d.ts +3 -0
  23. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts +2 -0
  24. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.d.ts +8 -0
  25. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.d.ts +8 -0
  26. package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +25 -0
  27. package/domain/{update-item-layer/update-item-layer.request.d.ts → update-item-and-children-layers/update-item-and-children-layers.request.d.ts} +1 -1
  28. package/esm2022/domain/clear-selection/clear-selection.execution.mjs +5 -7
  29. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +5 -5
  30. package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +3 -3
  31. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +3 -3
  32. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +3 -3
  33. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +36 -0
  34. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +7 -0
  35. package/esm2022/domain/get-deep-children-nodes-and-groups/index.mjs +3 -0
  36. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +3 -3
  37. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.mjs +3 -3
  38. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +4 -4
  39. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.mjs +3 -3
  40. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +3 -3
  41. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +35 -0
  42. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs +3 -0
  43. package/esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs +3 -0
  44. package/esm2022/domain/get-selection/get-selection.execution.mjs +3 -3
  45. package/esm2022/domain/index.mjs +5 -6
  46. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +16 -22
  47. package/esm2022/domain/providers.mjs +12 -11
  48. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +4 -4
  49. package/esm2022/domain/select/select.execution.mjs +5 -5
  50. package/esm2022/domain/select-all/select-all.execution.mjs +4 -4
  51. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +9 -12
  52. package/esm2022/domain/sort-item-layers/index.mjs +5 -0
  53. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +32 -0
  54. package/esm2022/domain/sort-item-layers/sort-item-layers.request.mjs +3 -0
  55. package/esm2022/domain/sort-item-layers/sort-items-by-parent/index.mjs +3 -0
  56. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +61 -0
  57. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +8 -0
  58. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs +3 -0
  59. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +62 -0
  60. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs +3 -0
  61. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +5 -5
  62. package/esm2022/domain/update-item-and-children-layers/index.mjs +4 -0
  63. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +3 -0
  64. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +30 -0
  65. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +14 -0
  66. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +99 -0
  67. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +9 -0
  68. package/esm2022/f-backgroud/f-background-base.mjs +3 -3
  69. package/esm2022/f-backgroud/f-background.component.mjs +3 -3
  70. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +3 -3
  71. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +3 -3
  72. package/esm2022/f-canvas/f-canvas-base.mjs +4 -4
  73. package/esm2022/f-canvas/f-canvas.component.mjs +11 -7
  74. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +2 -2
  75. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -2
  76. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +2 -2
  77. package/esm2022/f-connection/common/f-connection-base.mjs +8 -6
  78. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +5 -5
  79. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +5 -5
  80. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +6 -6
  81. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +5 -5
  82. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +11 -11
  83. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +5 -5
  84. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  85. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +2 -1
  86. package/esm2022/f-connection/f-connection/f-connection.component.mjs +24 -19
  87. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +3 -3
  88. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +1 -1
  89. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +3 -3
  90. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +21 -14
  91. package/esm2022/f-connection/f-marker/f-marker-base.mjs +3 -3
  92. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  93. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +3 -3
  94. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  95. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +3 -3
  96. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  97. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +3 -3
  98. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +7 -4
  99. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +5 -7
  100. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +6 -6
  101. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +3 -3
  102. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +9 -4
  103. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +1 -3
  104. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +3 -3
  105. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +6 -6
  106. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +3 -3
  107. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +3 -3
  108. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +3 -3
  109. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +3 -3
  110. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +3 -3
  111. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +3 -3
  112. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +1 -3
  113. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +3 -3
  114. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +3 -3
  115. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +3 -3
  116. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +3 -3
  117. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +5 -5
  118. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +6 -6
  119. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +6 -6
  120. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +3 -3
  121. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +1 -3
  122. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.mjs +13 -0
  123. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.mjs +49 -0
  124. package/esm2022/f-draggable/domain/convert-computed-to-pixels/index.mjs +3 -0
  125. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +38 -0
  126. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +9 -0
  127. package/esm2022/f-draggable/domain/get-node-padding/index.mjs +3 -0
  128. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +30 -0
  129. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +7 -0
  130. package/esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs +3 -0
  131. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +50 -0
  132. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +7 -0
  133. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/index.mjs +3 -0
  134. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +37 -0
  135. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +7 -0
  136. package/esm2022/f-draggable/domain/get-parent-nodes/index.mjs +3 -0
  137. package/esm2022/f-draggable/domain/index.mjs +8 -0
  138. package/esm2022/f-draggable/domain/is-array-has-parent-node/index.mjs +3 -0
  139. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +35 -0
  140. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +9 -0
  141. package/esm2022/f-draggable/domain/providers.mjs +15 -0
  142. package/esm2022/f-draggable/f-draggable-base.mjs +11 -6
  143. package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -5
  144. package/esm2022/f-draggable/f-draggable.directive.mjs +6 -10
  145. package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
  146. package/esm2022/f-draggable/index.mjs +2 -4
  147. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +42 -0
  148. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +14 -26
  149. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +14 -26
  150. package/esm2022/f-draggable/node/connection.drag-handler.mjs +16 -24
  151. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +48 -58
  152. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +45 -0
  153. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +9 -0
  154. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +2 -0
  155. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +4 -0
  156. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +3 -0
  157. 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 +72 -0
  158. 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 +11 -0
  159. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +3 -0
  160. 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 +72 -0
  161. 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 +11 -0
  162. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +2 -0
  163. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -1
  164. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +7 -1
  165. package/esm2022/f-draggable/node/index.mjs +3 -1
  166. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +5 -5
  167. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +6 -6
  168. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +6 -7
  169. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +3 -3
  170. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +13 -0
  171. package/esm2022/f-draggable/node/node.drag-handler.mjs +21 -7
  172. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +49 -0
  173. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +9 -0
  174. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs +3 -0
  175. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +49 -0
  176. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +9 -0
  177. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs +3 -0
  178. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +25 -0
  179. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +13 -0
  180. package/esm2022/f-draggable/node-resize/calculate-changed-position/index.mjs +3 -0
  181. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +34 -0
  182. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +11 -0
  183. package/esm2022/f-draggable/node-resize/calculate-changed-size/index.mjs +3 -0
  184. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +32 -0
  185. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +9 -0
  186. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +2 -0
  187. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/index.mjs +4 -0
  188. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +42 -0
  189. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +9 -0
  190. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs +3 -0
  191. package/esm2022/f-draggable/node-resize/index.mjs +8 -1
  192. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +3 -3
  193. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +6 -6
  194. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +5 -5
  195. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +3 -3
  196. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +38 -39
  197. package/esm2022/f-draggable/node-resize/providers.mjs +13 -1
  198. package/esm2022/f-draggable/node-resize/resize-direction.mjs +8 -0
  199. package/esm2022/f-draggable/providers.mjs +7 -5
  200. package/esm2022/f-draggable/single-select/single-select.execution.mjs +18 -15
  201. package/esm2022/f-draggable/single-select/single-select.validator.mjs +3 -3
  202. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +58 -0
  203. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +7 -0
  204. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +26 -0
  205. package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +5 -0
  206. package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +7 -0
  207. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +44 -0
  208. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +7 -0
  209. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +30 -0
  210. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +5 -0
  211. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +7 -0
  212. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +36 -0
  213. package/esm2022/f-external-item/domain/f-create-node.event.mjs +9 -0
  214. package/esm2022/f-external-item/domain/index.mjs +6 -0
  215. package/esm2022/f-external-item/domain/providers.mjs +7 -0
  216. package/esm2022/f-external-item/f-external-item-base.mjs +3 -3
  217. package/esm2022/f-external-item/f-external-item.directive.mjs +11 -4
  218. package/esm2022/f-external-item/f-external-item.service.mjs +3 -3
  219. package/esm2022/f-external-item/index.mjs +2 -1
  220. package/esm2022/f-flow/f-flow.component.mjs +18 -10
  221. package/esm2022/f-flow.module.mjs +10 -9
  222. package/esm2022/f-line-alignment/domain/line-service.mjs +3 -1
  223. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +3 -3
  224. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +5 -5
  225. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +3 -3
  226. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +1 -3
  227. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +3 -3
  228. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +5 -5
  229. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +3 -3
  230. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +3 -3
  231. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +11 -13
  232. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +6 -5
  233. package/esm2022/f-minimap/f-minimap-view.directive.mjs +3 -3
  234. package/esm2022/f-minimap/f-minimap.component.mjs +3 -3
  235. package/esm2022/f-node/domain/index.mjs +3 -0
  236. package/esm2022/f-node/domain/is-group.mjs +4 -0
  237. package/esm2022/f-node/domain/is-node.mjs +4 -0
  238. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +7 -19
  239. package/esm2022/f-node/f-group.directive.mjs +147 -0
  240. package/esm2022/f-node/f-node-base.mjs +2 -1
  241. package/esm2022/f-node/f-node.directive.mjs +14 -6
  242. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +5 -17
  243. package/esm2022/f-node/index.mjs +3 -2
  244. package/esm2022/f-node/providers.mjs +3 -2
  245. package/esm2022/f-selection-area/domain/index.mjs +5 -2
  246. package/esm2022/f-selection-area/domain/providers.mjs +7 -0
  247. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +5 -0
  248. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +7 -0
  249. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +27 -0
  250. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +7 -0
  251. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +26 -0
  252. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +5 -0
  253. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +7 -0
  254. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +41 -0
  255. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +9 -0
  256. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +30 -0
  257. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +52 -0
  258. package/esm2022/f-selection-area/f-selection-area-base.mjs +5 -6
  259. package/esm2022/f-selection-area/f-selection-area.component.mjs +22 -15
  260. package/esm2022/f-storage/f-components-store.mjs +17 -7
  261. package/esm2022/f-storage/f-transform-store.mjs +3 -3
  262. package/esm2022/f-zoom/f-zoom.directive.mjs +3 -3
  263. package/esm2022/infrastructure/f-mediator/f-flow-mediator.mjs +3 -3
  264. package/f-canvas/f-canvas-base.d.ts +1 -0
  265. package/f-canvas/f-canvas.component.d.ts +2 -1
  266. package/f-connection/common/f-connection-base.d.ts +2 -1
  267. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
  268. package/f-connection/common/i-has-connection-from-to.d.ts +1 -1
  269. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -0
  270. package/f-connection/f-connection/f-connection.component.d.ts +4 -3
  271. package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +1 -0
  272. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -3
  273. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +1 -0
  274. package/f-draggable/canvas/canvas.drag-handler.d.ts +0 -2
  275. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +0 -2
  276. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +0 -2
  277. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.d.ts +7 -0
  278. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.d.ts +12 -0
  279. package/f-draggable/domain/convert-computed-to-pixels/index.d.ts +2 -0
  280. package/f-draggable/domain/get-node-padding/get-node-padding.execution.d.ts +12 -0
  281. package/f-draggable/domain/get-node-padding/get-node-padding.request.d.ts +7 -0
  282. package/f-draggable/domain/get-node-padding/index.d.ts +2 -0
  283. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +13 -0
  284. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.d.ts +5 -0
  285. package/f-draggable/domain/get-normalized-node-rect/index.d.ts +2 -0
  286. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +17 -0
  287. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.d.ts +5 -0
  288. package/f-draggable/domain/get-normalized-parent-node-rect/index.d.ts +2 -0
  289. package/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.d.ts +13 -0
  290. package/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.d.ts +5 -0
  291. package/f-draggable/domain/get-parent-nodes/index.d.ts +2 -0
  292. package/f-draggable/domain/index.d.ts +7 -0
  293. package/f-draggable/domain/is-array-has-parent-node/index.d.ts +2 -0
  294. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +13 -0
  295. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.d.ts +6 -0
  296. package/f-draggable/domain/providers.d.ts +7 -0
  297. package/f-draggable/f-draggable-base.d.ts +2 -1
  298. package/f-draggable/f-draggable-data-context.d.ts +0 -2
  299. package/f-draggable/f-draggable.directive.d.ts +1 -1
  300. package/f-draggable/i-draggable-item.d.ts +0 -2
  301. package/f-draggable/index.d.ts +1 -3
  302. package/f-draggable/node/connection-base-drag-handler.d.ts +23 -0
  303. package/f-draggable/node/connection-source.drag-handler.d.ts +6 -12
  304. package/f-draggable/node/connection-target.drag-handler.d.ts +6 -12
  305. package/f-draggable/node/connection.drag-handler.d.ts +7 -10
  306. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +4 -6
  307. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +13 -0
  308. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.d.ts +6 -0
  309. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +5 -0
  310. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.d.ts +3 -0
  311. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.d.ts +2 -0
  312. 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 +22 -0
  313. 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 +8 -0
  314. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.d.ts +2 -0
  315. 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 +22 -0
  316. 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 +8 -0
  317. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +6 -0
  318. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -0
  319. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +4 -1
  320. package/f-draggable/node/index.d.ts +2 -0
  321. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +10 -0
  322. package/f-draggable/node/node.drag-handler.d.ts +6 -3
  323. package/f-draggable/node/providers.d.ts +1 -1
  324. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +13 -0
  325. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +6 -0
  326. package/f-draggable/node-resize/apply-child-resize-restrictions/index.d.ts +2 -0
  327. package/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +13 -0
  328. package/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +6 -0
  329. package/f-draggable/node-resize/apply-parent-resize-restrictions/index.d.ts +2 -0
  330. package/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.d.ts +10 -0
  331. package/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.d.ts +9 -0
  332. package/f-draggable/node-resize/calculate-changed-position/index.d.ts +2 -0
  333. package/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.d.ts +10 -0
  334. package/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.d.ts +8 -0
  335. package/f-draggable/node-resize/calculate-changed-size/index.d.ts +2 -0
  336. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +11 -0
  337. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts +7 -0
  338. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +5 -0
  339. package/f-draggable/node-resize/get-node-resize-restrictions/index.d.ts +3 -0
  340. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +15 -0
  341. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +7 -0
  342. package/f-draggable/node-resize/get-normalized-children-nodes-rect/index.d.ts +2 -0
  343. package/f-draggable/node-resize/index.d.ts +7 -0
  344. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +11 -10
  345. package/f-draggable/node-resize/providers.d.ts +7 -1
  346. package/f-draggable/node-resize/resize-direction.d.ts +18 -0
  347. package/f-draggable/providers.d.ts +1 -1
  348. package/f-draggable/single-select/single-select.execution.d.ts +4 -3
  349. package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.execution.d.ts +1 -1
  350. package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.validator.d.ts +1 -1
  351. package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.execution.d.ts +1 -1
  352. package/{f-draggable/external-item → f-external-item/domain}/external-item.drag-handler.d.ts +1 -3
  353. package/f-external-item/domain/providers.d.ts +1 -0
  354. package/f-external-item/f-external-item.directive.d.ts +1 -0
  355. package/f-external-item/index.d.ts +1 -0
  356. package/f-flow/f-flow.component.d.ts +2 -1
  357. package/f-flow.module.d.ts +8 -7
  358. package/f-minimap/domain/f-minimap.drag-handler.d.ts +1 -2
  359. package/f-minimap/f-minimap-canvas.directive.d.ts +1 -3
  360. package/f-node/domain/index.d.ts +2 -0
  361. package/f-node/domain/is-group.d.ts +1 -0
  362. package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +1 -4
  363. package/f-node/f-group.directive.d.ts +40 -0
  364. package/f-node/f-node-base.d.ts +3 -0
  365. package/f-node/f-node.directive.d.ts +6 -4
  366. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -4
  367. package/f-node/index.d.ts +2 -1
  368. package/f-node/providers.d.ts +2 -1
  369. package/f-selection-area/domain/index.d.ts +4 -1
  370. package/f-selection-area/domain/providers.d.ts +1 -0
  371. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.execution.d.ts +1 -1
  372. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.validator.d.ts +1 -1
  373. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/selection-area-preparation.execution.d.ts +1 -1
  374. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +7 -0
  375. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/selection-area-preparation.validator.d.ts +1 -1
  376. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area.drag-handle.d.ts +4 -5
  377. package/f-selection-area/f-selection-area-base.d.ts +2 -5
  378. package/f-selection-area/f-selection-area.component.d.ts +9 -6
  379. package/f-storage/f-components-store.d.ts +6 -2
  380. package/fesm2022/foblex-flow.mjs +2390 -1296
  381. package/fesm2022/foblex-flow.mjs.map +1 -1
  382. package/package.json +3 -3
  383. package/domain/get-connection.handler.d.ts +0 -12
  384. package/domain/get-external-nodes-rect/get-external-nodes-rect.execution.d.ts +0 -14
  385. package/domain/get-external-nodes-rect/get-external-nodes-rect.request.d.ts +0 -2
  386. package/domain/get-external-nodes-rect/index.d.ts +0 -2
  387. package/domain/get-incoming-connections.handler.d.ts +0 -13
  388. package/domain/get-outgoing-connections.handler.d.ts +0 -13
  389. package/domain/update-item-layer/index.d.ts +0 -2
  390. package/domain/update-item-layer/update-item-layer.execution.d.ts +0 -8
  391. package/esm2022/domain/get-connection.handler.mjs +0 -21
  392. package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.execution.mjs +0 -35
  393. package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.request.mjs +0 -3
  394. package/esm2022/domain/get-external-nodes-rect/index.mjs +0 -3
  395. package/esm2022/domain/get-incoming-connections.handler.mjs +0 -24
  396. package/esm2022/domain/get-outgoing-connections.handler.mjs +0 -24
  397. package/esm2022/domain/update-item-layer/index.mjs +0 -3
  398. package/esm2022/domain/update-item-layer/update-item-layer.execution.mjs +0 -28
  399. package/esm2022/domain/update-item-layer/update-item-layer.request.mjs +0 -9
  400. package/esm2022/f-draggable/e-f-draggable-type.mjs +0 -13
  401. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.execution.mjs +0 -58
  402. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.request.mjs +0 -7
  403. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.validator.mjs +0 -26
  404. package/esm2022/f-draggable/external-item/external-item-finalize/index.mjs +0 -5
  405. package/esm2022/f-draggable/external-item/external-item-finalize/providers.mjs +0 -7
  406. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.mjs +0 -44
  407. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.request.mjs +0 -7
  408. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  409. package/esm2022/f-draggable/external-item/external-item-preparation/index.mjs +0 -5
  410. package/esm2022/f-draggable/external-item/external-item-preparation/providers.mjs +0 -7
  411. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +0 -38
  412. package/esm2022/f-draggable/external-item/f-create-node.event.mjs +0 -9
  413. package/esm2022/f-draggable/external-item/index.mjs +0 -6
  414. package/esm2022/f-draggable/external-item/providers.mjs +0 -7
  415. package/esm2022/f-draggable/selection-area/index.mjs +0 -5
  416. package/esm2022/f-draggable/selection-area/providers.mjs +0 -7
  417. package/esm2022/f-draggable/selection-area/selection-area-finalize/index.mjs +0 -5
  418. package/esm2022/f-draggable/selection-area/selection-area-finalize/providers.mjs +0 -7
  419. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.execution.mjs +0 -27
  420. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.request.mjs +0 -7
  421. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  422. package/esm2022/f-draggable/selection-area/selection-area-preparation/index.mjs +0 -5
  423. package/esm2022/f-draggable/selection-area/selection-area-preparation/providers.mjs +0 -7
  424. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.execution.mjs +0 -41
  425. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.mjs +0 -7
  426. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.validator.mjs +0 -31
  427. package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +0 -57
  428. package/esm2022/f-node/is-node.mjs +0 -4
  429. package/esm2022/f-selection-area/domain/i-selection-area-rect.mjs +0 -2
  430. package/f-draggable/e-f-draggable-type.d.ts +0 -11
  431. package/f-draggable/external-item/providers.d.ts +0 -1
  432. package/f-draggable/selection-area/index.d.ts +0 -4
  433. package/f-draggable/selection-area/providers.d.ts +0 -1
  434. package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.d.ts +0 -5
  435. package/f-selection-area/domain/i-selection-area-rect.d.ts +0 -6
  436. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.request.d.ts +0 -0
  437. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/index.d.ts +0 -0
  438. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/providers.d.ts +0 -0
  439. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.request.d.ts +0 -0
  440. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.validator.d.ts +0 -0
  441. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/index.d.ts +0 -0
  442. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/providers.d.ts +0 -0
  443. /package/{f-draggable/external-item → f-external-item/domain}/f-create-node.event.d.ts +0 -0
  444. /package/{f-draggable/external-item → f-external-item/domain}/index.d.ts +0 -0
  445. /package/f-node/{is-node.d.ts → domain/is-node.d.ts} +0 -0
  446. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/index.d.ts +0 -0
  447. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/providers.d.ts +0 -0
  448. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.request.d.ts +0 -0
  449. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/index.d.ts +0 -0
  450. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/providers.d.ts +0 -0
@@ -20,6 +20,7 @@ export class FDraggableBase {
20
20
  dragStartTime = 0;
21
21
  dragStartPosition = PointExtensions.initialize();
22
22
  moveHandler = this.checkDragSequenceToStart;
23
+ pointerDownElement = null;
23
24
  constructor(ngZone) {
24
25
  this.ngZone = ngZone;
25
26
  }
@@ -27,6 +28,7 @@ export class FDraggableBase {
27
28
  const isSyntheticEvent = this.isSyntheticEvent(event);
28
29
  const isFakeEvent = isFakeMousedownFromScreenReader(event);
29
30
  const mouseEvent = new IMouseEvent(event);
31
+ this.pointerDownElement = mouseEvent.targetElement;
30
32
  if (isSyntheticEvent || isFakeEvent || this.disabled) {
31
33
  return;
32
34
  }
@@ -49,10 +51,11 @@ export class FDraggableBase {
49
51
  onTouchDown = (event) => {
50
52
  const isFakeEvent = isFakeTouchstartFromScreenReader(event);
51
53
  const touchEvent = new ITouchDownEvent(event);
54
+ this.pointerDownElement = touchEvent.targetElement;
52
55
  if (isFakeEvent || this.disabled) {
53
56
  return;
54
57
  }
55
- let result = this.onPointerDown(new ITouchDownEvent(event));
58
+ let result = this.onPointerDown(touchEvent);
56
59
  if (result) {
57
60
  this.dragStartTime = Date.now();
58
61
  this.dragStartPosition = touchEvent.getPosition();
@@ -79,7 +82,8 @@ export class FDraggableBase {
79
82
  };
80
83
  checkDragSequenceToStart(event) {
81
84
  const pointerPosition = event.getPosition();
82
- if (!this.isDragStarted) {
85
+ if (!this.isDragStarted && this.pointerDownElement) {
86
+ event.setTarget(this.pointerDownElement);
83
87
  const distanceX = Math.abs(pointerPosition.x - this.dragStartPosition.x);
84
88
  const distanceY = Math.abs(pointerPosition.y - this.dragStartPosition.y);
85
89
  const isOverThreshold = distanceX + distanceY >= this.dragStartThreshold;
@@ -113,6 +117,7 @@ export class FDraggableBase {
113
117
  };
114
118
  endDragSequence() {
115
119
  this.isDragStarted = false;
120
+ this.pointerDownElement = null;
116
121
  this.moveHandler = this.checkDragSequenceToStart;
117
122
  this.mouseListeners();
118
123
  this.mouseListeners = EventExtensions.emptyListener();
@@ -142,10 +147,10 @@ export class FDraggableBase {
142
147
  this.mouseListeners();
143
148
  this.mouseListeners = EventExtensions.emptyListener();
144
149
  }
145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FDraggableBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
146
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: FDraggableBase, ngImport: i0 });
150
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FDraggableBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
151
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: FDraggableBase, ngImport: i0 });
147
152
  }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FDraggableBase, decorators: [{
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FDraggableBase, decorators: [{
149
154
  type: Directive
150
155
  }], ctorParameters: () => [{ type: undefined }] });
151
156
  function isTouchEvent(event) {
@@ -161,4 +166,4 @@ function isFakeTouchstartFromScreenReader(event) {
161
166
  (touch.radiusX == null || touch.radiusX === 1) &&
162
167
  (touch.radiusY == null || touch.radiusY === 1));
163
168
  }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUVmLFdBQVcsRUFHWCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLGNBQWMsR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFNekUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQixhQUFhLENBQUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUM7QUFHM0MsTUFBTSxPQUFnQixjQUFjO0lBc0N0QjtJQTFCSixRQUFRLENBQXVCO0lBRS9CLGNBQWMsR0FBYSxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0QsY0FBYyxHQUFhLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUUzRCxjQUFjLEdBQWEsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRTVELGdCQUFnQixDQUFDLEtBQWlCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFDOUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGtCQUFrQixHQUFXLENBQUMsQ0FBQztJQUVoQyxhQUFhLEdBQVksS0FBSyxDQUFDO0lBQzlCLGtCQUFrQixHQUFXLENBQUMsQ0FBQztJQUMvQixjQUFjLEdBQVcsQ0FBQyxDQUFDO0lBRTNCLGFBQWEsR0FBVyxDQUFDLENBQUM7SUFDMUIsaUJBQWlCLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFD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QUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUUsQ0FBQyxDQUFFLENBQUMsQ0FBQztJQUMvRixPQUFPLENBQ0wsQ0FBQyxDQUFDLEtBQUs7UUFDUCxLQUFLLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDO1FBQzlDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FDL0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFdmVudEV4dGVuc2lvbnMsXG4gIElIYXNIb3N0RWxlbWVudCxcbiAgSU1vdXNlRXZlbnQsXG4gIElQb2ludCxcbiAgSVBvaW50ZXJFdmVudCxcbiAgSVRvdWNoRG93bkV2ZW50LFxuICBJVG91Y2hNb3ZlRXZlbnQsXG4gIElUb3VjaFVwRXZlbnQsXG4gIFBvaW50RXh0ZW5zaW9uc1xufSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEluamVjdGlvblRva2VuLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNyZWF0ZU5vZGVFdmVudCB9IGZyb20gJy4vZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LCBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQgfSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4vaS1jYW4tcnVuLW91dHNpZGUtYW5ndWxhcic7XG5cbmV4cG9ydCBjb25zdCBGX0RSQUdHQUJMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGRHJhZ2dhYmxlQmFzZT4oJ0ZfRFJBR0dBQkxFJyk7XG5cbmV4cG9ydCBjb25zdCBNT1VTRV9FVkVOVF9JR05PUkVfVElNRSA9IDgwMDtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkRyYWdnYWJsZUJhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ3JlYXRlTm9kZTogRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PjtcblxuICBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG1vdXNlTGlzdGVuZXJzOiBGdW5jdGlvbiA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gIHByaXZhdGUgdG91Y2hMaXN0ZW5lcnM6IEZ1bmN0aW9uID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcblxuICBwcml2YXRlIHN0YXJ0TGlzdGVuZXJzOiBGdW5jdGlvbiA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG5cbiAgcHVibGljIGlzU3ludGhldGljRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmxhc3RUb3VjaEV2ZW50VGltZSAmJlxuICAgICAgKHRoaXMubGFzdFRvdWNoRXZlbnRUaW1lICsgTU9VU0VfRVZFTlRfSUdOT1JFX1RJTUUgPiBEYXRlLm5vdygpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGFzdFRvdWNoRXZlbnRUaW1lOiBudW1iZXIgPSAwO1xuXG4gIHB1YmxpYyBpc0RyYWdTdGFydGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgZHJhZ1N0YXJ0VGhyZXNob2xkOiBudW1iZXIgPSAzO1xuICBwcml2YXRlIGRyYWdTdGFydERlbGF5OiBudW1iZXIgPSAwO1xuXG4gIHByaXZhdGUgZHJhZ1N0YXJ0VGltZTogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBkcmFnU3RhcnRQb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBtb3ZlSGFuZGxlcjogRnVuY3Rpb24gPSB0aGlzLmNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyIHwgdW5kZWZpbmVkXG4gICkge1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlRG93biA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIGNvbnN0IGlzU3ludGhldGljRXZlbnQgPSB0aGlzLmlzU3ludGhldGljRXZlbnQoZXZlbnQpO1xuICAgIGNvbnN0IGlzRmFrZUV2ZW50ID0gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCk7XG4gICAgY29uc3QgbW91c2VFdmVudCA9IG5ldyBJTW91c2VFdmVudChldmVudCk7XG5cbiAgICBpZiAoaXNTeW50aGV0aWNFdmVudCB8fCBpc0Zha2VFdmVudCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSB0aGlzLm9uUG9pbnRlckRvd24obW91c2VFdmVudCk7XG4gICAgaWYgKHJlc3VsdCkge1xuXG4gICAgICB0aGlzLmRyYWdTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgdGhpcy5kcmFnU3RhcnRQb3NpdGlvbiA9IG1vdXNlRXZlbnQuZ2V0UG9zaXRpb24oKTtcblxuICAgICAgdGhpcy5uZ1pvbmU/LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignc2VsZWN0c3RhcnQnLCB0aGlzLm9uU2VsZWN0U3RhcnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uTW91c2VVcCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5tb3VzZUxpc3RlbmVycyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2VsZWN0c3RhcnQnLCB0aGlzLm9uU2VsZWN0U3RhcnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uTW91c2VVcCk7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Ub3VjaERvd24gPSAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICBjb25zdCBpc0Zha2VFdmVudCA9IGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyKGV2ZW50IGFzIFRvdWNoRXZlbnQpXG4gICAgY29uc3QgdG91Y2hFdmVudCA9IG5ldyBJVG91Y2hEb3duRXZlbnQoZXZlbnQpO1xuXG4gICAgaWYgKGlzRmFrZUV2ZW50IHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMub25Qb2ludGVyRG93bihuZXcgSVRvdWNoRG93bkV2ZW50KGV2ZW50KSk7XG4gICAgaWYgKHJlc3VsdCkge1xuXG4gICAgICB0aGlzLmRyYWdTdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgdGhpcy5kcmFnU3RhcnRQb3NpdGlvbiA9IHRvdWNoRXZlbnQuZ2V0UG9zaXRpb24oKTtcblxuICAgICAgdGhpcy5uZ1pvbmU/LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignc2VsZWN0c3RhcnQnLCB0aGlzLm9uU2VsZWN0U3RhcnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5vblRvdWNoVXApO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlbGVjdHN0YXJ0JywgdGhpcy5vblNlbGVjdFN0YXJ0LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Ub3VjaE1vdmUpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaFVwKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvblNlbGVjdFN0YXJ0ID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIHRoaXMub25TZWxlY3QoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlTW92ZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIHRoaXMubW92ZUhhbmRsZXIobmV3IElNb3VzZUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICBwcml2YXRlIG9uVG91Y2hNb3ZlID0gKGV2ZW50OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgdGhpcy5tb3ZlSGFuZGxlcihuZXcgSVRvdWNoTW92ZUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbiA9IGV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMuaXNEcmFnU3RhcnRlZCkge1xuICAgICAgY29uc3QgZGlzdGFuY2VYID0gTWF0aC5hYnMocG9pbnRlclBvc2l0aW9uLnggLSB0aGlzLmRyYWdTdGFydFBvc2l0aW9uLngpO1xuICAgICAgY29uc3QgZGlzdGFuY2VZID0gTWF0aC5hYnMocG9pbnRlclBvc2l0aW9uLnkgLSB0aGlzLmRyYWdTdGFydFBvc2l0aW9uLnkpO1xuICAgICAgY29uc3QgaXNPdmVyVGhyZXNob2xkID0gZGlzdGFuY2VYICsgZGlzdGFuY2VZID49IHRoaXMuZHJhZ1N0YXJ0VGhyZXNob2xkO1xuXG4gICAgICBpZiAoaXNPdmVyVGhyZXNob2xkKSB7XG4gICAgICAgIGNvbnN0IGlzRGVsYXlFbGFwc2VkID0gRGF0ZS5ub3coKSA+PSB0aGlzLmRyYWdTdGFydFRpbWUgKyB0aGlzLmRyYWdTdGFydERlbGF5O1xuXG4gICAgICAgIGlmICghaXNEZWxheUVsYXBzZWQpIHtcbiAgICAgICAgICB0aGlzLmVuZERyYWdTZXF1ZW5jZSgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucHJlcGFyZURyYWdTZXF1ZW5jZShldmVudCk7XG4gICAgICAgIHRoaXMuaXNEcmFnU3RhcnRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMubW92ZUhhbmRsZXIgPSB0aGlzLm9uUG9pbnRlck1vdmU7XG4gICAgICAgIGlmIChpc1RvdWNoRXZlbnQoZXZlbnQub3JpZ2luYWxFdmVudCkpIHtcbiAgICAgICAgICB0aGlzLmxhc3RUb3VjaEV2ZW50VGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcHJlcGFyZURyYWdTZXF1ZW5jZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQ7XG5cbiAgcHJpdmF0ZSBvbk1vdXNlVXAgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5pc0RyYWdTdGFydGVkKSB7XG4gICAgICB0aGlzLm9uUG9pbnRlclVwKG5ldyBJTW91c2VFdmVudChldmVudCkpO1xuICAgIH1cbiAgICB0aGlzLmVuZERyYWdTZXF1ZW5jZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblRvdWNoVXAgPSAoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5pc0RyYWdTdGFydGVkKSB7XG4gICAgICB0aGlzLm9uUG9pbnRlclVwKG5ldyBJVG91Y2hVcEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICAgIHRoaXMuZW5kRHJhZ1NlcXVlbmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGVuZERyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRHJhZ1N0YXJ0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLm1vdmVIYW5kbGVyID0gdGhpcy5jaGVja0RyYWdTZXF1ZW5jZVRvU3RhcnQ7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycygpO1xuICAgIHRoaXMubW91c2VMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25TZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IG9uUG9pbnRlck1vdmUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvblBvaW50ZXJVcChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQ7XG5cbiAgcHVibGljIHN1YnNjcmliZShkb2N1bWVudDogRG9jdW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kb2N1bWVudCkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jdW1lbnQ7XG5cbiAgICB0aGlzLm5nWm9uZT8ucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbk1vdXNlRG93biwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Ub3VjaERvd24sIEV2ZW50RXh0ZW5zaW9ucy5wYXNzaXZlTGlzdGVuZXIoKSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YXJ0TGlzdGVuZXJzID0gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbk1vdXNlRG93biwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Ub3VjaERvd24sIEV2ZW50RXh0ZW5zaW9ucy5wYXNzaXZlTGlzdGVuZXIoKSk7XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB1bnN1YnNjcmliZSgpOiB2b2lkIHtcblxuICAgIHRoaXMuc3RhcnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnN0YXJ0TGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzKCk7XG4gICAgdGhpcy50b3VjaExpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycygpO1xuICAgIHRoaXMubW91c2VMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzVG91Y2hFdmVudChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiBldmVudCBpcyBUb3VjaEV2ZW50IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGVbIDAgXSA9PT0gJ3QnO1xufVxuXG5mdW5jdGlvbiBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBldmVudC5idXR0b25zID09PSAwIHx8IChldmVudC5vZmZzZXRYID09PSAwICYmIGV2ZW50Lm9mZnNldFkgPT09IDApO1xufVxuXG5mdW5jdGlvbiBpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudDogVG91Y2hFdmVudCk6IGJvb2xlYW4ge1xuICBjb25zdCB0b3VjaDogVG91Y2ggfCB1bmRlZmluZWQgPVxuICAgIChldmVudC50b3VjaGVzICYmIGV2ZW50LnRvdWNoZXNbIDAgXSkgfHwgKGV2ZW50LmNoYW5nZWRUb3VjaGVzICYmIGV2ZW50LmNoYW5nZWRUb3VjaGVzWyAwIF0pO1xuICByZXR1cm4gKFxuICAgICEhdG91Y2ggJiZcbiAgICB0b3VjaC5pZGVudGlmaWVyID09PSAtMSAmJlxuICAgICh0b3VjaC5yYWRpdXNYID09IG51bGwgfHwgdG91Y2gucmFkaXVzWCA9PT0gMSkgJiZcbiAgICAodG91Y2gucmFkaXVzWSA9PSBudWxsIHx8IHRvdWNoLnJhZGl1c1kgPT09IDEpXG4gICk7XG59XG4iXX0=
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUVmLFdBQVcsRUFHWCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLGNBQWMsR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFNekUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFpQixhQUFhLENBQUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUM7QUFHM0MsTUFBTSxPQUFnQixjQUFjO0lBd0N0QjtJQTVCSixRQUFRLENBQXVCO0lBRS9CLGNBQWMsR0FBYSxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0QsY0FBYyxHQUFhLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUUzRCxjQUFjLEdBQWEsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRTVELGdCQUFnQixDQUFDLEtBQWlCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFDOUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGtCQUFrQixHQUFXLENBQUMsQ0FBQztJQUVoQyxhQUFhLEdBQVksS0FBSyxDQUFDO0lBQzlCLGtCQUFrQixHQUFXLENBQUMsQ0FBQztJQUMvQixjQUFjLEdBQVcsQ0FBQyxDQUFDO0lBRTNCLGFBQWEsR0FBVyxDQUFDLENBQUM7SUFDMUIsaUJBQWlCLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFD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LENBQUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsS0FBaUI7SUFDekQsTUFBTSxLQUFLLEdBQ1QsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQUUsQ0FBQyxDQUFDO0lBQy9GLE9BQU8sQ0FDTCxDQUFDLENBQUMsS0FBSztRQUNQLEtBQUssQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUMvQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEV2ZW50RXh0ZW5zaW9ucyxcbiAgSUhhc0hvc3RFbGVtZW50LFxuICBJTW91c2VFdmVudCxcbiAgSVBvaW50LFxuICBJUG9pbnRlckV2ZW50LFxuICBJVG91Y2hEb3duRXZlbnQsXG4gIElUb3VjaE1vdmVFdmVudCxcbiAgSVRvdWNoVXBFdmVudCxcbiAgUG9pbnRFeHRlbnNpb25zXG59IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5qZWN0aW9uVG9rZW4sIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LCBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQgfSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4vaS1jYW4tcnVuLW91dHNpZGUtYW5ndWxhcic7XG5pbXBvcnQgeyBGQ3JlYXRlTm9kZUV2ZW50IH0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcblxuZXhwb3J0IGNvbnN0IEZfRFJBR0dBQkxFID0gbmV3IEluamVjdGlvblRva2VuPEZEcmFnZ2FibGVCYXNlPignRl9EUkFHR0FCTEUnKTtcblxuZXhwb3J0IGNvbnN0IE1PVVNFX0VWRU5UX0lHTk9SRV9USU1FID0gODAwO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDcmVhdGVOb2RlOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZSZWFzc2lnbkNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ3JlYXRlQ29ubmVjdGlvbjogRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+O1xuXG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50IHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgbW91c2VMaXN0ZW5lcnM6IEZ1bmN0aW9uID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgcHJpdmF0ZSB0b3VjaExpc3RlbmVyczogRnVuY3Rpb24gPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuXG4gIHByaXZhdGUgc3RhcnRMaXN0ZW5lcnM6IEZ1bmN0aW9uID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcblxuICBwdWJsaWMgaXNTeW50aGV0aWNFdmVudChldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubGFzdFRvdWNoRXZlbnRUaW1lICYmXG4gICAgICAodGhpcy5sYXN0VG91Y2hFdmVudFRpbWUgKyBNT1VTRV9FVkVOVF9JR05PUkVfVElNRSA+IERhdGUubm93KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsYXN0VG91Y2hFdmVudFRpbWU6IG51bWJlciA9IDA7XG5cbiAgcHVibGljIGlzRHJhZ1N0YXJ0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBkcmFnU3RhcnRUaHJlc2hvbGQ6IG51bWJlciA9IDM7XG4gIHByaXZhdGUgZHJhZ1N0YXJ0RGVsYXk6IG51bWJlciA9IDA7XG5cbiAgcHJpdmF0ZSBkcmFnU3RhcnRUaW1lOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIGRyYWdTdGFydFBvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBkaXNhYmxlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIG1vdmVIYW5kbGVyOiBGdW5jdGlvbiA9IHRoaXMuY2hlY2tEcmFnU2VxdWVuY2VUb1N0YXJ0O1xuXG4gIHByaXZhdGUgcG9pbnRlckRvd25FbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIgfCB1bmRlZmluZWRcbiAgKSB7XG4gIH1cblxuICBwcml2YXRlIG9uTW91c2VEb3duID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgY29uc3QgaXNTeW50aGV0aWNFdmVudCA9IHRoaXMuaXNTeW50aGV0aWNFdmVudChldmVudCk7XG4gICAgY29uc3QgaXNGYWtlRXZlbnQgPSBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyKGV2ZW50KTtcbiAgICBjb25zdCBtb3VzZUV2ZW50ID0gbmV3IElNb3VzZUV2ZW50KGV2ZW50KTtcbiAgICB0aGlzLnBvaW50ZXJEb3duRWxlbWVudCA9IG1vdXNlRXZlbnQudGFyZ2V0RWxlbWVudDtcblxuICAgIGlmIChpc1N5bnRoZXRpY0V2ZW50IHx8IGlzRmFrZUV2ZW50IHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMub25Qb2ludGVyRG93bihtb3VzZUV2ZW50KTtcbiAgICBpZiAocmVzdWx0KSB7XG5cbiAgICAgIHRoaXMuZHJhZ1N0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICB0aGlzLmRyYWdTdGFydFBvc2l0aW9uID0gbW91c2VFdmVudC5nZXRQb3NpdGlvbigpO1xuXG4gICAgICB0aGlzLm5nWm9uZT8ucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFydCcsIHRoaXMub25TZWxlY3RTdGFydCwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMub25Nb3VzZVVwKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm1vdXNlTGlzdGVuZXJzID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFydCcsIHRoaXMub25TZWxlY3RTdGFydCwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMub25Nb3VzZVVwKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvblRvdWNoRG93biA9IChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgIGNvbnN0IGlzRmFrZUV2ZW50ID0gaXNGYWtlVG91Y2hzdGFydEZyb21TY3JlZW5SZWFkZXIoZXZlbnQgYXMgVG91Y2hFdmVudClcbiAgICBjb25zdCB0b3VjaEV2ZW50ID0gbmV3IElUb3VjaERvd25FdmVudChldmVudCk7XG4gICAgdGhpcy5wb2ludGVyRG93bkVsZW1lbnQgPSB0b3VjaEV2ZW50LnRhcmdldEVsZW1lbnQ7XG5cbiAgICBpZiAoaXNGYWtlRXZlbnQgfHwgdGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5vblBvaW50ZXJEb3duKHRvdWNoRXZlbnQpO1xuICAgIGlmIChyZXN1bHQpIHtcblxuICAgICAgdGhpcy5kcmFnU3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIHRoaXMuZHJhZ1N0YXJ0UG9zaXRpb24gPSB0b3VjaEV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICAgIHRoaXMubmdab25lPy5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdHN0YXJ0JywgdGhpcy5vblNlbGVjdFN0YXJ0LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Ub3VjaE1vdmUpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaFVwKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnRvdWNoTGlzdGVuZXJzID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFydCcsIHRoaXMub25TZWxlY3RTdGFydCwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLm9uVG91Y2hNb3ZlKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCB0aGlzLm9uVG91Y2hVcCk7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25TZWxlY3RTdGFydCA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICB0aGlzLm9uU2VsZWN0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZU1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICB0aGlzLm1vdmVIYW5kbGVyKG5ldyBJTW91c2VFdmVudChldmVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblRvdWNoTW92ZSA9IChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgIHRoaXMubW92ZUhhbmRsZXIobmV3IElUb3VjaE1vdmVFdmVudChldmVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0RyYWdTZXF1ZW5jZVRvU3RhcnQoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb2ludGVyUG9zaXRpb24gPSBldmVudC5nZXRQb3NpdGlvbigpO1xuXG4gICAgaWYgKCF0aGlzLmlzRHJhZ1N0YXJ0ZWQgJiYgdGhpcy5wb2ludGVyRG93bkVsZW1lbnQpIHtcbiAgICAgIGV2ZW50LnNldFRhcmdldCh0aGlzLnBvaW50ZXJEb3duRWxlbWVudCk7XG4gICAgICBjb25zdCBkaXN0YW5jZVggPSBNYXRoLmFicyhwb2ludGVyUG9zaXRpb24ueCAtIHRoaXMuZHJhZ1N0YXJ0UG9zaXRpb24ueCk7XG4gICAgICBjb25zdCBkaXN0YW5jZVkgPSBNYXRoLmFicyhwb2ludGVyUG9zaXRpb24ueSAtIHRoaXMuZHJhZ1N0YXJ0UG9zaXRpb24ueSk7XG4gICAgICBjb25zdCBpc092ZXJUaHJlc2hvbGQgPSBkaXN0YW5jZVggKyBkaXN0YW5jZVkgPj0gdGhpcy5kcmFnU3RhcnRUaHJlc2hvbGQ7XG5cbiAgICAgIGlmIChpc092ZXJUaHJlc2hvbGQpIHtcbiAgICAgICAgY29uc3QgaXNEZWxheUVsYXBzZWQgPSBEYXRlLm5vdygpID49IHRoaXMuZHJhZ1N0YXJ0VGltZSArIHRoaXMuZHJhZ1N0YXJ0RGVsYXk7XG5cbiAgICAgICAgaWYgKCFpc0RlbGF5RWxhcHNlZCkge1xuICAgICAgICAgIHRoaXMuZW5kRHJhZ1NlcXVlbmNlKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc0RyYWdTdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tb3ZlSGFuZGxlciA9IHRoaXMub25Qb2ludGVyTW92ZTtcbiAgICAgICAgaWYgKGlzVG91Y2hFdmVudChldmVudC5vcmlnaW5hbEV2ZW50KSkge1xuICAgICAgICAgIHRoaXMubGFzdFRvdWNoRXZlbnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZDtcblxuICBwcml2YXRlIG9uTW91c2VVcCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIGlmICh0aGlzLmlzRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgIHRoaXMub25Qb2ludGVyVXAobmV3IElNb3VzZUV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICAgIHRoaXMuZW5kRHJhZ1NlcXVlbmNlKCk7XG4gIH1cblxuICBwcml2YXRlIG9uVG91Y2hVcCA9IChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgIGlmICh0aGlzLmlzRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgIHRoaXMub25Qb2ludGVyVXAobmV3IElUb3VjaFVwRXZlbnQoZXZlbnQpKTtcbiAgICB9XG4gICAgdGhpcy5lbmREcmFnU2VxdWVuY2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5kRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNEcmFnU3RhcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMucG9pbnRlckRvd25FbGVtZW50ID0gbnVsbDtcblxuICAgIHRoaXMubW92ZUhhbmRsZXIgPSB0aGlzLmNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydDtcbiAgICB0aGlzLm1vdXNlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gICAgdGhpcy50b3VjaExpc3RlbmVycygpO1xuICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZDtcblxuICBwdWJsaWMgc3Vic2NyaWJlKGRvY3VtZW50OiBEb2N1bWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRvY3VtZW50KSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcblxuICAgIHRoaXMubmdab25lPy5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm9uTW91c2VEb3duLCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblRvdWNoRG93biwgRXZlbnRFeHRlbnNpb25zLnBhc3NpdmVMaXN0ZW5lcigpKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc3RhcnRMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm9uTW91c2VEb3duLCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblRvdWNoRG93biwgRXZlbnRFeHRlbnNpb25zLnBhc3NpdmVMaXN0ZW5lcigpKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHVuc3Vic2NyaWJlKCk6IHZvaWQge1xuXG4gICAgdGhpcy5zdGFydExpc3RlbmVycygpO1xuICAgIHRoaXMuc3RhcnRMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgICB0aGlzLm1vdXNlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNUb3VjaEV2ZW50KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IGV2ZW50IGlzIFRvdWNoRXZlbnQge1xuICByZXR1cm4gZXZlbnQudHlwZVsgMCBdID09PSAndCc7XG59XG5cbmZ1bmN0aW9uIGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGV2ZW50LmJ1dHRvbnMgPT09IDAgfHwgKGV2ZW50Lm9mZnNldFggPT09IDAgJiYgZXZlbnQub2Zmc2V0WSA9PT0gMCk7XG59XG5cbmZ1bmN0aW9uIGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyKGV2ZW50OiBUb3VjaEV2ZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IHRvdWNoOiBUb3VjaCB8IHVuZGVmaW5lZCA9XG4gICAgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlc1sgMCBdKSB8fCAoZXZlbnQuY2hhbmdlZFRvdWNoZXMgJiYgZXZlbnQuY2hhbmdlZFRvdWNoZXNbIDAgXSk7XG4gIHJldHVybiAoXG4gICAgISF0b3VjaCAmJlxuICAgIHRvdWNoLmlkZW50aWZpZXIgPT09IC0xICYmXG4gICAgKHRvdWNoLnJhZGl1c1ggPT0gbnVsbCB8fCB0b3VjaC5yYWRpdXNYID09PSAxKSAmJlxuICAgICh0b3VjaC5yYWRpdXNZID09IG51bGwgfHwgdG91Y2gucmFkaXVzWSA9PT0gMSlcbiAgKTtcbn1cbiJdfQ==
@@ -7,7 +7,6 @@ export class FDraggableDataContext {
7
7
  onPointerDownScale = 1;
8
8
  onPointerDownPosition = new Point(0, 0);
9
9
  draggableItems = [];
10
- fSelectionArea;
11
10
  fLineAlignment;
12
11
  reset() {
13
12
  this.draggableItems = [];
@@ -17,10 +16,10 @@ export class FDraggableDataContext {
17
16
  markSelectionAsChanged() {
18
17
  this.isSelectedChanged = true;
19
18
  }
20
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FDraggableDataContext });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FDraggableDataContext });
22
21
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FDraggableDataContext, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FDraggableDataContext, decorators: [{
24
23
  type: Injectable
25
24
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU9yQyxNQUFNLE9BQU8scUJBQXFCO0lBRXpCLGFBQWEsR0FBa0IsRUFBRSxDQUFDO0lBRWxDLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUVuQyxrQkFBa0IsR0FBVyxDQUFDLENBQUM7SUFFL0IscUJBQXFCLEdBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLGNBQWMsR0FBcUIsRUFBRSxDQUFDO0lBRXRDLGNBQWMsQ0FBaUM7SUFFL0MsY0FBYyxDQUFpQztJQUUvQyxLQUFLO1FBQ1YsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDO3VHQXhCVSxxQkFBcUI7MkdBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IElTZWxlY3RhYmxlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi4vZi1zZWxlY3Rpb24tYXJlYSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQge1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBJU2VsZWN0YWJsZVtdID0gW107XG5cbiAgcHVibGljIGlzU2VsZWN0ZWRDaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG9uUG9pbnRlckRvd25TY2FsZTogbnVtYmVyID0gMTtcblxuICBwdWJsaWMgb25Qb2ludGVyRG93blBvc2l0aW9uOiBQb2ludCA9IG5ldyBQb2ludCgwLCAwKTtcblxuICBwdWJsaWMgZHJhZ2dhYmxlSXRlbXM6IElEcmFnZ2FibGVJdGVtW10gPSBbXTtcblxuICBwdWJsaWMgZlNlbGVjdGlvbkFyZWE6IEZTZWxlY3Rpb25BcmVhQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkxpbmVBbGlnbm1lbnQ6IEZMaW5lQWxpZ25tZW50QmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5kcmFnZ2FibGVJdGVtcyA9IFtdO1xuICAgIHRoaXMub25Qb2ludGVyRG93blNjYWxlID0gMTtcbiAgICB0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbiA9IG5ldyBQb2ludCgwLCAwKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXJrU2VsZWN0aW9uQXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU1yQyxNQUFNLE9BQU8scUJBQXFCO0lBRXpCLGFBQWEsR0FBa0IsRUFBRSxDQUFDO0lBRWxDLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUVuQyxrQkFBa0IsR0FBVyxDQUFDLENBQUM7SUFFL0IscUJBQXFCLEdBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRS9DLGNBQWMsR0FBcUIsRUFBRSxDQUFDO0lBRXRDLGNBQWMsQ0FBaUM7SUFFL0MsS0FBSztRQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sc0JBQXNCO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQzt1R0F0QlUscUJBQXFCOzJHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGTGluZUFsaWdubWVudEJhc2UgfSBmcm9tICcuLi9mLWxpbmUtYWxpZ25tZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEYXRhQ29udGV4dCB7XG5cbiAgcHVibGljIHNlbGVjdGVkSXRlbXM6IElTZWxlY3RhYmxlW10gPSBbXTtcblxuICBwdWJsaWMgaXNTZWxlY3RlZENoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb25Qb2ludGVyRG93blNjYWxlOiBudW1iZXIgPSAxO1xuXG4gIHB1YmxpYyBvblBvaW50ZXJEb3duUG9zaXRpb246IFBvaW50ID0gbmV3IFBvaW50KDAsIDApO1xuXG4gIHB1YmxpYyBkcmFnZ2FibGVJdGVtczogSURyYWdnYWJsZUl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyBmTGluZUFsaWdubWVudDogRkxpbmVBbGlnbm1lbnRCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdnYWJsZUl0ZW1zID0gW107XG4gICAgdGhpcy5vblBvaW50ZXJEb3duU2NhbGUgPSAxO1xuICAgIHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uID0gbmV3IFBvaW50KDAsIDApO1xuICB9XG5cbiAgcHVibGljIG1hcmtTZWxlY3Rpb25Bc0NoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,17 +1,15 @@
1
1
  import { ContentChildren, Directive, EventEmitter, Inject, Input, NgZone, Optional, Output } from "@angular/core";
2
2
  import { F_DRAGGABLE, FDraggableBase } from './f-draggable-base';
3
3
  import { Subscription } from 'rxjs';
4
- import { ExternalItemPreparationRequest, ExternalItemFinalizeRequest } from './external-item';
5
4
  import { Point } from '@foblex/core';
6
5
  import { NodeMoveFinalizeRequest, NodeMovePreparationRequest } from './node';
7
6
  import { CanvasMoveFinalizeRequest, CanvasMovePreparationRequest } from './canvas';
8
7
  import { DOCUMENT } from '@angular/common';
9
8
  import { ReassignConnectionPreparationRequest, ReassignConnectionFinalizeRequest, CreateConnectionPreparationRequest, CreateConnectionFinalizeRequest } from './connections';
10
9
  import { EmitTransformChangesRequest, GetSelectionRequest } from '../domain';
11
- import { isExternalItem } from '../f-external-item';
10
+ import { ExternalItemFinalizeRequest, ExternalItemPreparationRequest, isExternalItem } from '../f-external-item';
12
11
  import { SingleSelectRequest } from './single-select';
13
12
  import { NodeResizeFinalizeRequest, NodeResizePreparationRequest } from './node-resize';
14
- import { SelectionAreaFinalizeRequest, SelectionAreaPreparationRequest } from './selection-area';
15
13
  import { F_DRAG_AND_DROP_PLUGIN } from './i-f-drag-and-drop-plugin';
16
14
  import * as i0 from "@angular/core";
17
15
  import * as i1 from "./f-draggable-data-context";
@@ -67,7 +65,6 @@ export class FDraggableDirective extends FDraggableBase {
67
65
  this.plugins.forEach((p) => {
68
66
  p.prepareDragSequence?.(event);
69
67
  });
70
- this.fMediator.send(new SelectionAreaPreparationRequest(event));
71
68
  this.fMediator.send(new NodeResizePreparationRequest(event));
72
69
  this.fMediator.send(new NodeMovePreparationRequest(event));
73
70
  this.fMediator.send(new CanvasMovePreparationRequest(event));
@@ -106,7 +103,7 @@ export class FDraggableDirective extends FDraggableBase {
106
103
  const pointerPositionInCanvas = Point.fromPoint(event.getPosition()).elementTransform(this.hostElement);
107
104
  const difference = pointerPositionInCanvas.div(this.fDraggableDataContext.onPointerDownScale).sub(this.fDraggableDataContext.onPointerDownPosition);
108
105
  this.fDraggableDataContext.draggableItems.forEach((item) => {
109
- item.move(difference);
106
+ item.move({ ...difference });
110
107
  });
111
108
  }
112
109
  onPointerUp(event) {
@@ -115,7 +112,6 @@ export class FDraggableDirective extends FDraggableBase {
115
112
  });
116
113
  this.fMediator.send(new ReassignConnectionFinalizeRequest(event));
117
114
  this.fMediator.send(new CreateConnectionFinalizeRequest(event));
118
- this.fMediator.send(new SelectionAreaFinalizeRequest(event));
119
115
  this.fMediator.send(new NodeResizeFinalizeRequest(event));
120
116
  this.fMediator.send(new NodeMoveFinalizeRequest(event));
121
117
  this.fMediator.send(new CanvasMoveFinalizeRequest(event));
@@ -138,12 +134,12 @@ export class FDraggableDirective extends FDraggableBase {
138
134
  super.unsubscribe();
139
135
  this.subscriptions$.unsubscribe();
140
136
  }
141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FDraggableDirective, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }, { token: NgZone, optional: true }, { token: i2.FComponentsStore }, { token: i3.FFlowMediator }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
142
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection" }, providers: [
137
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FDraggableDirective, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }, { token: NgZone, optional: true }, { token: i2.FComponentsStore }, { token: i3.FFlowMediator }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
138
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection" }, providers: [
143
139
  { provide: F_DRAGGABLE, useExisting: FDraggableDirective }
144
140
  ], queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
145
141
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FDraggableDirective, decorators: [{
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FDraggableDirective, decorators: [{
147
143
  type: Directive,
148
144
  args: [{
149
145
  selector: "f-flow[fDraggable]",
@@ -175,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
175
171
  type: ContentChildren,
176
172
  args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
177
173
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGVBQWUsRUFDOUIsU0FBUyxFQUVULFlBQVksRUFBRSxNQUFNLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBRUUsUUFBUSxFQUFFLE1BQU0sRUFDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBb0IsOEJBQThCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoSCxPQUFPLEVBQWlCLEtBQUssRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLDRCQUE0QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBR0wsb0NBQW9DLEVBQ3BDLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsK0JBQStCLEVBQ2hDLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLDRCQUE0QixFQUFFLE1BQU0s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QUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO3VHQTNLVSxtQkFBbUIsaUZBZ0NwQixNQUFNLDBGQUdOLFFBQVE7MkZBbkNQLG1CQUFtQiwwUUFKbkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1NBQzNELGtEQTRCZ0Isc0JBQXNCOzsyRkExQjVCLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLHFCQUFxQixFQUFFO3FCQUMzRDtpQkFDRjs7MEJBaUNJLE1BQU07MkJBQUMsTUFBTTs7MEJBQUcsUUFBUTs7MEJBR3hCLE1BQU07MkJBQUMsUUFBUTt5Q0E5QkYsUUFBUTtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBUVgsZ0JBQWdCO3NCQUQvQixNQUFNO2dCQU9TLFdBQVc7c0JBRDFCLE1BQU07Z0JBSVMsbUJBQW1CO3NCQURsQyxNQUFNO2dCQUlTLGlCQUFpQjtzQkFEaEMsTUFBTTtnQkFJQyxPQUFPO3NCQURkLGVBQWU7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX0RSQUdHQUJMRSwgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuL2YtZHJhZ2dhYmxlLWJhc2UnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZDcmVhdGVOb2RlRXZlbnQsIEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCwgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0IH0gZnJvbSAnLi9leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IElQb2ludGVyRXZlbnQsIFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0LCBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9jYW52YXMnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdFxufSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QsIEdldFNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgaXNFeHRlcm5hbEl0ZW0gfSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLXJlc2l6ZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25BcmVhRmluYWxpemVSZXF1ZXN0LCBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9zZWxlY3Rpb24tYXJlYSc7XG5pbXBvcnQgeyBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuL2ktY2FuLXJ1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgSUZEcmFnQW5kRHJvcFBsdWdpbiB9IGZyb20gJy4vaS1mLWRyYWctYW5kLWRyb3AtcGx1Z2luJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcImYtZmxvd1tmRHJhZ2dhYmxlXVwiLFxuICBleHBvcnRBczogJ2ZEcmFnZ2FibGUnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfRFJBR0dBQkxFLCB1c2VFeGlzdGluZzogRkRyYWdnYWJsZURpcmVjdGl2ZSB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRkRyYWdnYWJsZURpcmVjdGl2ZSBleHRlbmRzIEZEcmFnZ2FibGVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoJ2ZEcmFnZ2FibGVEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICAvLyBAT3V0cHV0KClcbiAgLy8gcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uSW50ZXJzZWN0Tm9kZTogRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25JbnRlcnNlY3ROb2RlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uSW50ZXJzZWN0Tm9kZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZU5vZGU6IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlQ29ubmVjdGlvbjogRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHBsdWdpbnMhOiBRdWVyeUxpc3Q8SUZEcmFnQW5kRHJvcFBsdWdpbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIEBJbmplY3QoTmdab25lKSBAT3B0aW9uYWwoKSBuZ1pvbmU6IElDYW5SdW5PdXRzaWRlQW5ndWxhcixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2M6IERvY3VtZW50XG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGUgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5zdWJzY3JpYmUodGhpcy5kb2MpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5yZXNldCgpO1xuICAgIGxldCByZXN1bHQ6IGJvb2xlYW4gPSBldmVudC5pc01vdXNlTGVmdEJ1dHRvbigpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAub25Qb2ludGVyRG93bj8uKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFNpbmdsZVNlbGVjdFJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5pbml0aWFsaXplPy4oKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2YtZHJhZ2dpbmcnKTtcbiAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAub25TZWxlY3Q/LihldmVudCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5pc1RhcmdldEl0ZW1FeHRlcm5hbChldmVudCkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1RhcmdldEl0ZW1FeHRlcm5hbChldmVudDogRXZlbnQpOiBib29sZWFuIHtcbiAgICBsZXQgaXNUYXJnZXRJdGVtRXh0ZXJuYWwgPSB0aGlzLmlzRXh0ZXJuYWxJdGVtKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgbGV0IGlzVGFyZ2V0UGFyZW50SXRlbUV4dGVybmFsID0gdGhpcy5pc0V4dGVybmFsSXRlbSgoZXZlbnQudGFyZ2V0IGFzIE5vZGUpLnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQpO1xuICAgIHJldHVybiBpc1RhcmdldEl0ZW1FeHRlcm5hbCB8fCBpc1RhcmdldFBhcmVudEl0ZW1FeHRlcm5hbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNFeHRlcm5hbEl0ZW0odGFyZ2V0OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgcmVzdWx0ID0gaXNFeHRlcm5hbEl0ZW0odGFyZ2V0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbkluQ2FudmFzID0gUG9pbnQuZnJvbVBvaW50KGV2ZW50LmdldFBvc2l0aW9uKCkpLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5ob3N0RWxlbWVudCk7XG4gICAgY29uc3QgZGlmZmVyZW5jZSA9IHBvaW50ZXJQb3NpdGlvbkluQ2FudmFzLmRpdih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duU2NhbGUpLnN1Yih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24pO1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0ubW92ZShkaWZmZXJlbmNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJVcChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAub25Qb2ludGVyVXA/LihldmVudCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFNlbGVjdGlvbkFyZWFGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZi1kcmFnZ2luZycpO1xuXG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQucmVzZXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZlNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZk1lZGlhdG9yLnNlbmQ8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PihuZXcgR2V0U2VsZWN0aW9uUmVxdWVzdCgpKSk7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWQgPSBmYWxzZTtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFbWl0VHJhbnNmb3JtQ2hhbmdlc1JlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cblxuIl19
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGVBQWUsRUFDOUIsU0FBUyxFQUVULFlBQVksRUFBRSxNQUFNLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBRUUsUUFBUSxFQUFFLE1BQU0sRUFDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBaUIsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFHTCxvQ0FBb0MsRUFDcEMsaUNBQWlDLEVBQ2pDLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDaEMsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdFLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsOEJBQThCLEVBRTlCLGNBQWMsRUFDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsc0JBQXNC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QW1CO2tCQVAvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcscUJBQXFCLEVBQUU7cUJBQzNEO2lCQUNGOzswQkFpQ0ksTUFBTTsyQkFBQyxNQUFNOzswQkFBRyxRQUFROzswQkFHeEIsTUFBTTsyQkFBQyxRQUFRO3lDQTlCRixRQUFRO3NCQUR2QixLQUFLO3VCQUFDLG9CQUFvQjtnQkFRWCxnQkFBZ0I7c0JBRC9CLE1BQU07Z0JBT1MsV0FBVztzQkFEMUIsTUFBTTtnQkFJUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNO2dCQUlDLE9BQU87c0JBRGQsZUFBZTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLCBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3Rcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfRFJBR0dBQkxFLCBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVBvaW50ZXJFdmVudCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsIE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QsIENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQsXG4gIFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0XG59IGZyb20gJy4vY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCwgR2V0U2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QsXG4gIEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkNyZWF0ZU5vZGVFdmVudCxcbiAgaXNFeHRlcm5hbEl0ZW1cbn0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdFJlcXVlc3QgfSBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdCwgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1yZXNpemUnO1xuaW1wb3J0IHsgSUNhblJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi9pLWNhbi1ydW4tb3V0c2lkZS1hbmd1bGFyJztcbmltcG9ydCB7IEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIElGRHJhZ0FuZERyb3BQbHVnaW4gfSBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0RSQUdHQUJMRSwgdXNlRXhpc3Rpbmc6IEZEcmFnZ2FibGVEaXJlY3RpdmUgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmUgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KCdmRHJhZ2dhYmxlRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgLy8gQE91dHB1dCgpXG4gIC8vIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbkludGVyc2VjdE5vZGU6IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uSW50ZXJzZWN0Tm9kZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29ubmVjdGlvbkludGVyc2VjdE5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBASW5qZWN0KE5nWm9uZSkgQE9wdGlvbmFsKCkgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jOiBEb2N1bWVudFxuICApIHtcbiAgICBzdXBlcihuZ1pvbmUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRHJhZ2dhYmxlID0gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKHRoaXMuZG9jKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQucmVzZXQoKTtcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcblxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiB7XG4gICAgICBwLm9uUG9pbnRlckRvd24/LihldmVudCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBTaW5nbGVTZWxlY3RSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlcGFyZURyYWdTZXF1ZW5jZShldmVudDogSVBvaW50ZXJFdmVudCkge1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHtcbiAgICAgIHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVSZXNpemVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW0uaW5pdGlhbGl6ZT8uKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZHJhZ2dhYmxlSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmLWRyYWdnaW5nJyk7XG4gICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcblxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiB7XG4gICAgICBwLm9uU2VsZWN0Py4oZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuaXNUYXJnZXRJdGVtRXh0ZXJuYWwoZXZlbnQpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNUYXJnZXRJdGVtRXh0ZXJuYWwoZXZlbnQ6IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgbGV0IGlzVGFyZ2V0SXRlbUV4dGVybmFsID0gdGhpcy5pc0V4dGVybmFsSXRlbShldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIGxldCBpc1RhcmdldFBhcmVudEl0ZW1FeHRlcm5hbCA9IHRoaXMuaXNFeHRlcm5hbEl0ZW0oKGV2ZW50LnRhcmdldCBhcyBOb2RlKS5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50KTtcbiAgICByZXR1cm4gaXNUYXJnZXRJdGVtRXh0ZXJuYWwgfHwgaXNUYXJnZXRQYXJlbnRJdGVtRXh0ZXJuYWw7XG4gIH1cblxuICBwcml2YXRlIGlzRXh0ZXJuYWxJdGVtKHRhcmdldDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IGlzRXh0ZXJuYWxJdGVtKHRhcmdldCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlck1vdmUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBwb2ludGVyUG9zaXRpb25JbkNhbnZhcyA9IFBvaW50LmZyb21Qb2ludChldmVudC5nZXRQb3NpdGlvbigpKS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuaG9zdEVsZW1lbnQpO1xuICAgIGNvbnN0IGRpZmZlcmVuY2UgPSBwb2ludGVyUG9zaXRpb25JbkNhbnZhcy5kaXYodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blNjYWxlKS5zdWIodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLm1vdmUoeyAuLi5kaWZmZXJlbmNlIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgcC5vblBvaW50ZXJVcD8uKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdmLWRyYWdnaW5nJyk7XG5cbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5yZXNldCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpbmFsaXplRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5mU2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5mTWVkaWF0b3Iuc2VuZDxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KG5ldyBHZXRTZWxlY3Rpb25SZXF1ZXN0KCkpKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZCA9IGZhbHNlO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1kcmFnZ2FibGUtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvaS1kcmFnZ2FibGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEVGRHJhZ2dhYmxlVHlwZSB9IGZyb20gJy4vZS1mLWRyYWdnYWJsZS10eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgdHlwZTogRUZEcmFnZ2FibGVUeXBlO1xuXG4gIGluaXRpYWxpemU/KCk6IHZvaWQ7XG5cbiAgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkO1xuXG4gIGNvbXBsZXRlPygpOiB2b2lkO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1kcmFnZ2FibGUtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvaS1kcmFnZ2FibGUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgaW5pdGlhbGl6ZT8oKTogdm9pZDtcblxuICBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQ7XG5cbiAgY29tcGxldGU/KCk6IHZvaWQ7XG59XG4iXX0=
@@ -1,11 +1,9 @@
1
1
  export * from './canvas';
2
2
  export * from './connections';
3
- export * from './external-item';
3
+ export * from './domain';
4
4
  export * from './node';
5
5
  export * from './node-resize';
6
- export * from './selection-area';
7
6
  export * from './single-select';
8
- export * from './e-f-draggable-type';
9
7
  export * from './f-draggable.directive';
10
8
  export * from './f-draggable-base';
11
9
  export * from './f-draggable-data-context';
@@ -14,4 +12,4 @@ export * from './i-can-run-outside-angular';
14
12
  export * from './i-f-drag-and-drop-plugin';
15
13
  export * from './i-draggable-item';
16
14
  export * from './providers';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxRQUFRLENBQUM7QUFFdkIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWwtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi1hcmVhJztcblxuZXhwb3J0ICogZnJvbSAnLi9zaW5nbGUtc2VsZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktY2FuLXJ1bi1vdXRzaWRlLWFuZ3VsYXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1kcmFnZ2FibGUtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuXG5cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlJztcblxuZXhwb3J0ICogZnJvbSAnLi9ub2RlLXJlc2l6ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1jYW4tcnVuLW91dHNpZGUtYW5ndWxhcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1mLWRyYWctYW5kLWRyb3AtcGx1Z2luJztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5cblxuIl19
@@ -0,0 +1,42 @@
1
+ import { GetInputRectInFlowRequest, GetOutputRectInFlowRequest, RoundedRect } from '../../domain';
2
+ import { EFConnectableSide } from '../../f-connectors';
3
+ import { Directive } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../infrastructure";
6
+ import * as i2 from "../../f-connection";
7
+ export class ConnectionBaseDragHandler {
8
+ fMediator;
9
+ connection;
10
+ fromConnectorRect = new RoundedRect();
11
+ fromConnectorSide = EFConnectableSide.BOTTOM;
12
+ toConnectorRect = new RoundedRect();
13
+ toConnectorSide = EFConnectableSide.TOP;
14
+ constructor(fMediator, connection) {
15
+ this.fMediator = fMediator;
16
+ this.connection = connection;
17
+ }
18
+ initialize() {
19
+ const fromConnector = this.fMediator.send(new GetOutputRectInFlowRequest(this.connection.fOutputId));
20
+ this.fromConnectorRect = RoundedRect.fromRoundedRect(fromConnector.rect);
21
+ this.fromConnectorSide = fromConnector.fConnectableSide;
22
+ const toConnector = this.fMediator.send(new GetInputRectInFlowRequest(this.connection.fInputId));
23
+ this.toConnectorRect = RoundedRect.fromRoundedRect(toConnector.rect);
24
+ this.toConnectorSide = toConnector.fConnectableSide;
25
+ }
26
+ getDifference(difference, restrictions) {
27
+ return {
28
+ x: Math.min(Math.max(difference.x, restrictions.min.x), restrictions.max.x),
29
+ y: Math.min(Math.max(difference.y, restrictions.min.y), restrictions.max.y)
30
+ };
31
+ }
32
+ redrawConnection(line) {
33
+ this.connection.setLine(line.point1, this.fromConnectorSide, line.point2, this.toConnectorSide);
34
+ this.connection.redraw();
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConnectionBaseDragHandler, deps: [{ token: i1.FFlowMediator }, { token: i2.FConnectionBase }], target: i0.ɵɵFactoryTarget.Directive });
37
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ConnectionBaseDragHandler, ngImport: i0 });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ConnectionBaseDragHandler, decorators: [{
40
+ type: Directive
41
+ }], ctorParameters: () => [{ type: i1.FFlowMediator }, { type: i2.FConnectionBase }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFDTCx5QkFBeUIsRUFFekIsMEJBQTBCLEVBQ0csV0FBVyxFQUN6QyxNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTFDLE1BQU0sT0FBZ0IseUJBQXlCO0lBU2pDO0lBQ0g7SUFSQyxpQkFBaUIsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNuRCxpQkFBaUIsR0FBc0IsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBRWhFLGVBQWUsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNqRCxlQUFlLEdBQXNCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQztJQUVyRSxZQUNZLFNBQXdCLEVBQzNCLFVBQTJCO1FBRHhCLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7SUFFcEMsQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDdkMsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUMxRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7UUFFeEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3JDLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FDeEQsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7SUFDdEQsQ0FBQztJQUlTLGFBQWEsQ0FBQyxVQUFrQixFQUFFLFlBQW1DO1FBQzdFLE9BQU87WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM1RSxDQUFBO0lBQ0gsQ0FBQztJQUVTLGdCQUFnQixDQUFDLElBQVc7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO3VHQXhDbUIseUJBQXlCOzJGQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRDlDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQge1xuICBHZXRJbnB1dFJlY3RJbkZsb3dSZXF1ZXN0LFxuICBHZXRJbnB1dFJlY3RJbkZsb3dSZXNwb25zZSxcbiAgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QsXG4gIEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZSwgUm91bmRlZFJlY3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTm9kZU1vdmVSZXN0cmljdGlvbnMgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24nO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByb3RlY3RlZCBmcm9tQ29ubmVjdG9yUmVjdDogUm91bmRlZFJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcbiAgcHJvdGVjdGVkIGZyb21Db25uZWN0b3JTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTtcblxuICBwcm90ZWN0ZWQgdG9Db25uZWN0b3JSZWN0OiBSb3VuZGVkUmVjdCA9IG5ldyBSb3VuZGVkUmVjdCgpO1xuICBwcm90ZWN0ZWQgdG9Db25uZWN0b3JTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLlRPUDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgICBwdWJsaWMgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGZyb21Db25uZWN0b3IgPSB0aGlzLmZNZWRpYXRvci5zZW5kPEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZT4oXG4gICAgICBuZXcgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QodGhpcy5jb25uZWN0aW9uLmZPdXRwdXRJZClcbiAgICApO1xuICAgIHRoaXMuZnJvbUNvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QoZnJvbUNvbm5lY3Rvci5yZWN0KTtcbiAgICB0aGlzLmZyb21Db25uZWN0b3JTaWRlID0gZnJvbUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlO1xuXG4gICAgY29uc3QgdG9Db25uZWN0b3IgPSB0aGlzLmZNZWRpYXRvci5zZW5kPEdldElucHV0UmVjdEluRmxvd1Jlc3BvbnNlPihcbiAgICAgIG5ldyBHZXRJbnB1dFJlY3RJbkZsb3dSZXF1ZXN0KHRoaXMuY29ubmVjdGlvbi5mSW5wdXRJZClcbiAgICApO1xuICAgIHRoaXMudG9Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRvQ29ubmVjdG9yLnJlY3QpO1xuICAgIHRoaXMudG9Db25uZWN0b3JTaWRlID0gdG9Db25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50LCByZXN0cmljdGlvbnM6IElOb2RlTW92ZVJlc3RyaWN0aW9ucyk6IElQb2ludCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IE1hdGgubWluKE1hdGgubWF4KGRpZmZlcmVuY2UueCwgcmVzdHJpY3Rpb25zLm1pbi54KSwgcmVzdHJpY3Rpb25zLm1heC54KSxcbiAgICAgIHk6IE1hdGgubWluKE1hdGgubWF4KGRpZmZlcmVuY2UueSwgcmVzdHJpY3Rpb25zLm1pbi55KSwgcmVzdHJpY3Rpb25zLm1heC55KVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZWRyYXdDb25uZWN0aW9uKGxpbmU6IElMaW5lKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0aW9uLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuZnJvbUNvbm5lY3RvclNpZGUsIGxpbmUucG9pbnQyLCB0aGlzLnRvQ29ubmVjdG9yU2lkZSk7XG4gICAgdGhpcy5jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG59XG4iXX0=
@@ -1,30 +1,18 @@
1
- import { EFDraggableType } from '../e-f-draggable-type';
2
- import { GetConnectionLineRequest, GetInputRectInFlowRequest, GetOutputRectInFlowRequest, RoundedRect } from '../../domain';
3
- import { EFConnectableSide } from '../../f-connectors';
4
- export class ConnectionSourceDragHandler {
5
- fMediator;
6
- connection;
7
- type = EFDraggableType.CONNECTION;
8
- fromConnectorRect = new RoundedRect();
9
- fromConnectorSide = EFConnectableSide.BOTTOM;
10
- toConnectorRect = new RoundedRect();
11
- toConnectorSide = EFConnectableSide.TOP;
12
- constructor(fMediator, connection) {
13
- this.fMediator = fMediator;
14
- this.connection = connection;
15
- }
16
- initialize() {
17
- const fromConnector = this.fMediator.send(new GetOutputRectInFlowRequest(this.connection.fOutputId));
18
- this.fromConnectorRect = RoundedRect.fromRoundedRect(fromConnector.rect);
19
- this.fromConnectorSide = fromConnector.fConnectableSide;
20
- const toConnector = this.fMediator.send(new GetInputRectInFlowRequest(this.connection.fInputId));
21
- this.toConnectorRect = RoundedRect.fromRoundedRect(toConnector.rect);
22
- this.toConnectorSide = toConnector.fConnectableSide;
1
+ import { GetConnectionLineRequest } from '../../domain';
2
+ import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
3
+ export class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
4
+ minDistance;
5
+ maxDistance;
6
+ constructor(fMediator, connection, minDistance, maxDistance) {
7
+ super(fMediator, connection);
8
+ this.minDistance = minDistance;
9
+ this.maxDistance = maxDistance;
23
10
  }
24
11
  move(difference) {
25
- const line = this.fMediator.send(new GetConnectionLineRequest(this.fromConnectorRect.addPoint(difference), this.toConnectorRect, this.connection.fBehavior, this.fromConnectorSide, this.toConnectorSide));
26
- this.connection.setLine(line.point1, this.fromConnectorSide, line.point2, this.toConnectorSide);
27
- this.connection.redraw();
12
+ this.redrawConnection(this.getNewLineValue(difference));
13
+ }
14
+ getNewLineValue(difference) {
15
+ return this.fMediator.send(new GetConnectionLineRequest(this.fromConnectorRect.addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.toConnectorRect, this.connection.fBehavior, this.fromConnectorSide, this.toConnectorSide));
28
16
  }
29
17
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFFekIsMEJBQTBCLEVBQ0csV0FBVyxFQUN6QyxNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd2RCxNQUFNLE9BQU8sMkJBQTJCO0lBVzVCO0lBQ0E7SUFWTSxJQUFJLEdBQW9CLGVBQWUsQ0FBQyxVQUFVLENBQUM7SUFFM0QsaUJBQWlCLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFDbkQsaUJBQWlCLEdBQXNCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztJQUVoRSxlQUFlLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFDakQsZUFBZSxHQUFzQixpQkFBaUIsQ0FBQyxHQUFHLENBQUM7SUFFbkUsWUFDVSxTQUF3QixFQUN4QixVQUEyQjtRQUQzQixjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWlCO0lBRXJDLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3ZDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FDMUQsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDO1FBRXhELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUE2QixJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM3SCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDO0lBQ3RELENBQUM7SUFFTSxJQUFJLENBQUMsVUFBa0I7UUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSx3QkFBd0IsQ0FDaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDM0MsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHtcbiAgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0LFxuICBHZXRJbnB1dFJlY3RJbkZsb3dSZXF1ZXN0LFxuICBHZXRJbnB1dFJlY3RJbkZsb3dSZXNwb25zZSxcbiAgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QsXG4gIEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZSwgUm91bmRlZFJlY3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblNvdXJjZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBFRkRyYWdnYWJsZVR5cGUgPSBFRkRyYWdnYWJsZVR5cGUuQ09OTkVDVElPTjtcblxuICBwcml2YXRlIGZyb21Db25uZWN0b3JSZWN0OiBSb3VuZGVkUmVjdCA9IG5ldyBSb3VuZGVkUmVjdCgpO1xuICBwcml2YXRlIGZyb21Db25uZWN0b3JTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTtcblxuICBwcml2YXRlIHRvQ29ubmVjdG9yUmVjdDogUm91bmRlZFJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcbiAgcHJpdmF0ZSB0b0Nvbm5lY3RvclNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuVE9QO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgIHByaXZhdGUgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGZyb21Db25uZWN0b3IgPSB0aGlzLmZNZWRpYXRvci5zZW5kPEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZT4oXG4gICAgICBuZXcgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QodGhpcy5jb25uZWN0aW9uLmZPdXRwdXRJZClcbiAgICApO1xuICAgIHRoaXMuZnJvbUNvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QoZnJvbUNvbm5lY3Rvci5yZWN0KTtcbiAgICB0aGlzLmZyb21Db25uZWN0b3JTaWRlID0gZnJvbUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlO1xuXG4gICAgY29uc3QgdG9Db25uZWN0b3IgPSB0aGlzLmZNZWRpYXRvci5zZW5kPEdldElucHV0UmVjdEluRmxvd1Jlc3BvbnNlPihuZXcgR2V0SW5wdXRSZWN0SW5GbG93UmVxdWVzdCh0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQpKTtcbiAgICB0aGlzLnRvQ29ubmVjdG9yUmVjdCA9IFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdCh0b0Nvbm5lY3Rvci5yZWN0KTtcbiAgICB0aGlzLnRvQ29ubmVjdG9yU2lkZSA9IHRvQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGU7XG4gIH1cblxuICBwdWJsaWMgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTGluZT4obmV3IEdldENvbm5lY3Rpb25MaW5lUmVxdWVzdChcbiAgICAgICAgdGhpcy5mcm9tQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy50b0Nvbm5lY3RvclJlY3QsXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIHRoaXMuZnJvbUNvbm5lY3RvclNpZGUsXG4gICAgICAgIHRoaXMudG9Db25uZWN0b3JTaWRlLFxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5mcm9tQ29ubmVjdG9yU2lkZSwgbGluZS5wb2ludDIsIHRoaXMudG9Db25uZWN0b3JTaWRlKTtcbiAgICB0aGlzLmNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFLL0Q7SUFDQTtJQUpULFlBQ0UsU0FBd0IsRUFDeEIsVUFBMkIsRUFDcEIsV0FBbUIsRUFDbkIsV0FBbUI7UUFFMUIsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUh0QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUc1QixDQUFDO0lBRWUsSUFBSSxDQUFDLFVBQWtCO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksd0JBQXdCLENBQzVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFDeEgsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQge1xuICBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB9IGZyb20gJy4vY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uU291cmNlRHJhZ0hhbmRsZXIgZXh0ZW5kcyBDb25uZWN0aW9uQmFzZURyYWdIYW5kbGVyIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICAgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHB1YmxpYyBtaW5EaXN0YW5jZTogSVBvaW50LFxuICAgIHB1YmxpYyBtYXhEaXN0YW5jZTogSVBvaW50XG4gICkge1xuICAgIHN1cGVyKGZNZWRpYXRvciwgY29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJlZHJhd0Nvbm5lY3Rpb24odGhpcy5nZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXdMaW5lVmFsdWUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgdGhpcy5mcm9tQ29ubmVjdG9yUmVjdC5hZGRQb2ludCh0aGlzLmdldERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHsgbWluOiB0aGlzLm1pbkRpc3RhbmNlLCBtYXg6IHRoaXMubWF4RGlzdGFuY2UgfSkpLFxuICAgICAgdGhpcy50b0Nvbm5lY3RvclJlY3QsXG4gICAgICB0aGlzLmNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgdGhpcy5mcm9tQ29ubmVjdG9yU2lkZSxcbiAgICAgIHRoaXMudG9Db25uZWN0b3JTaWRlXG4gICAgKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,30 +1,18 @@
1
- import { EFDraggableType } from '../e-f-draggable-type';
2
- import { GetConnectionLineRequest, GetInputRectInFlowRequest, GetOutputRectInFlowRequest, RoundedRect } from '../../domain';
3
- import { EFConnectableSide } from '../../f-connectors';
4
- export class ConnectionTargetDragHandler {
5
- fMediator;
6
- connection;
7
- type = EFDraggableType.CONNECTION;
8
- fromConnectorRect = new RoundedRect();
9
- fromConnectorSide = EFConnectableSide.BOTTOM;
10
- toConnectorRect = new RoundedRect();
11
- toConnectorSide = EFConnectableSide.TOP;
12
- constructor(fMediator, connection) {
13
- this.fMediator = fMediator;
14
- this.connection = connection;
15
- }
16
- initialize() {
17
- const fromConnector = this.fMediator.send(new GetOutputRectInFlowRequest(this.connection.fOutputId));
18
- this.fromConnectorRect = RoundedRect.fromRoundedRect(fromConnector.rect);
19
- this.fromConnectorSide = fromConnector.fConnectableSide;
20
- const toConnector = this.fMediator.send(new GetInputRectInFlowRequest(this.connection.fInputId));
21
- this.toConnectorRect = RoundedRect.fromRoundedRect(toConnector.rect);
22
- this.toConnectorSide = toConnector.fConnectableSide;
1
+ import { GetConnectionLineRequest, } from '../../domain';
2
+ import { ConnectionBaseDragHandler } from './connection-base-drag-handler';
3
+ export class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
4
+ minDistance;
5
+ maxDistance;
6
+ constructor(fMediator, connection, minDistance, maxDistance) {
7
+ super(fMediator, connection);
8
+ this.minDistance = minDistance;
9
+ this.maxDistance = maxDistance;
23
10
  }
24
11
  move(difference) {
25
- const line = this.fMediator.send(new GetConnectionLineRequest(this.fromConnectorRect, this.toConnectorRect.addPoint(difference), this.connection.fBehavior, this.fromConnectorSide, this.toConnectorSide));
26
- this.connection.setLine(line.point1, this.fromConnectorSide, line.point2, this.toConnectorSide);
27
- this.connection.redraw();
12
+ this.redrawConnection(this.getNewLineValue(difference));
13
+ }
14
+ getNewLineValue(difference) {
15
+ return this.fMediator.send(new GetConnectionLineRequest(this.fromConnectorRect, this.toConnectorRect.addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.connection.fBehavior, this.fromConnectorSide, this.toConnectorSide));
28
16
  }
29
17
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFFekIsMEJBQTBCLEVBQ0csV0FBVyxFQUN6QyxNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUd2RCxNQUFNLE9BQU8sMkJBQTJCO0lBVzVCO0lBQ0E7SUFWTSxJQUFJLEdBQW9CLGVBQWUsQ0FBQyxVQUFVLENBQUM7SUFFM0QsaUJBQWlCLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFDbkQsaUJBQWlCLEdBQXNCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztJQUVoRSxlQUFlLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFDakQsZUFBZSxHQUFzQixpQkFBaUIsQ0FBQyxHQUFHLENBQUM7SUFFbkUsWUFDVSxTQUF3QixFQUN4QixVQUEyQjtRQUQzQixjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWlCO0lBRXJDLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3ZDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FDMUQsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDO1FBRXhELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNyQyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQ3hELENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDO0lBQ3RELENBQUM7SUFFTSxJQUFJLENBQUMsVUFBa0I7UUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSx3QkFBd0IsQ0FDaEUsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTGluZSwgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBFRkRyYWdnYWJsZVR5cGUgfSBmcm9tICcuLi9lLWYtZHJhZ2dhYmxlLXR5cGUnO1xuaW1wb3J0IHtcbiAgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0LFxuICBHZXRJbnB1dFJlY3RJbkZsb3dSZXF1ZXN0LFxuICBHZXRJbnB1dFJlY3RJbkZsb3dSZXNwb25zZSxcbiAgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QsXG4gIEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZSwgUm91bmRlZFJlY3Rcbn0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblRhcmdldERyYWdIYW5kbGVyIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBFRkRyYWdnYWJsZVR5cGUgPSBFRkRyYWdnYWJsZVR5cGUuQ09OTkVDVElPTjtcblxuICBwcml2YXRlIGZyb21Db25uZWN0b3JSZWN0OiBSb3VuZGVkUmVjdCA9IG5ldyBSb3VuZGVkUmVjdCgpO1xuICBwcml2YXRlIGZyb21Db25uZWN0b3JTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTtcblxuICBwcml2YXRlIHRvQ29ubmVjdG9yUmVjdDogUm91bmRlZFJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcbiAgcHJpdmF0ZSB0b0Nvbm5lY3RvclNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuVE9QO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgIHByaXZhdGUgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGZyb21Db25uZWN0b3IgPSB0aGlzLmZNZWRpYXRvci5zZW5kPEdldE91dHB1dFJlY3RJbkZsb3dSZXNwb25zZT4oXG4gICAgICBuZXcgR2V0T3V0cHV0UmVjdEluRmxvd1JlcXVlc3QodGhpcy5jb25uZWN0aW9uLmZPdXRwdXRJZClcbiAgICApO1xuICAgIHRoaXMuZnJvbUNvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QoZnJvbUNvbm5lY3Rvci5yZWN0KTtcbiAgICB0aGlzLmZyb21Db25uZWN0b3JTaWRlID0gZnJvbUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlO1xuXG4gICAgY29uc3QgdG9Db25uZWN0b3IgPSB0aGlzLmZNZWRpYXRvci5zZW5kPEdldElucHV0UmVjdEluRmxvd1Jlc3BvbnNlPihcbiAgICAgIG5ldyBHZXRJbnB1dFJlY3RJbkZsb3dSZXF1ZXN0KHRoaXMuY29ubmVjdGlvbi5mSW5wdXRJZClcbiAgICApO1xuICAgIHRoaXMudG9Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRvQ29ubmVjdG9yLnJlY3QpO1xuICAgIHRoaXMudG9Db25uZWN0b3JTaWRlID0gdG9Db25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgICB0aGlzLmZyb21Db25uZWN0b3JSZWN0LFxuICAgICAgICB0aGlzLnRvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgdGhpcy5mcm9tQ29ubmVjdG9yU2lkZSxcbiAgICAgICAgdGhpcy50b0Nvbm5lY3RvclNpZGUsXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUucG9pbnQxLCB0aGlzLmZyb21Db25uZWN0b3JTaWRlLCBsaW5lLnBvaW50MiwgdGhpcy50b0Nvbm5lY3RvclNpZGUpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxufVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx5QkFBeUI7SUFLL0Q7SUFDQTtJQUpULFlBQ0UsU0FBd0IsRUFDeEIsVUFBMkIsRUFDcEIsV0FBbUIsRUFDbkIsV0FBbUI7UUFFMUIsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUh0QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUc1QixDQUFDO0lBRWUsSUFBSSxDQUFDLFVBQWtCO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFrQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksd0JBQXdCLENBQzVELElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFDdEgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQ3pCLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQge1xuICBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QsXG59IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IENvbm5lY3Rpb25CYXNlRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Nvbm5lY3Rpb24tYmFzZS1kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblRhcmdldERyYWdIYW5kbGVyIGV4dGVuZHMgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwdWJsaWMgbWluRGlzdGFuY2U6IElQb2ludCxcbiAgICBwdWJsaWMgbWF4RGlzdGFuY2U6IElQb2ludFxuICApIHtcbiAgICBzdXBlcihmTWVkaWF0b3IsIGNvbm5lY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5yZWRyYXdDb25uZWN0aW9uKHRoaXMuZ2V0TmV3TGluZVZhbHVlKGRpZmZlcmVuY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV3TGluZVZhbHVlKGRpZmZlcmVuY2U6IElQb2ludCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTGluZT4obmV3IEdldENvbm5lY3Rpb25MaW5lUmVxdWVzdChcbiAgICAgIHRoaXMuZnJvbUNvbm5lY3RvclJlY3QsXG4gICAgICB0aGlzLnRvQ29ubmVjdG9yUmVjdC5hZGRQb2ludCh0aGlzLmdldERpZmZlcmVuY2UoeyAuLi5kaWZmZXJlbmNlIH0sIHsgbWluOiB0aGlzLm1pbkRpc3RhbmNlLCBtYXg6IHRoaXMubWF4RGlzdGFuY2UgfSkpLFxuICAgICAgdGhpcy5jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuZnJvbUNvbm5lY3RvclNpZGUsXG4gICAgICB0aGlzLnRvQ29ubmVjdG9yU2lkZVxuICAgICkpO1xuICB9XG59XG4iXX0=