@foblex/flow 12.6.1 → 12.6.3

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 (727) hide show
  1. package/bundles/foblex-flow.umd.js +9635 -0
  2. package/bundles/foblex-flow.umd.js.map +1 -0
  3. package/domain/create-connection-markers/create-connection-markers.execution.d.ts +3 -0
  4. package/domain/create-dom-element.d.ts +2 -0
  5. package/domain/deep-clone-node.d.ts +1 -0
  6. package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +3 -1
  7. package/domain/index.d.ts +2 -0
  8. package/domain/intersections/rounded-rect/rounded-rect.d.ts +2 -2
  9. package/domain/providers.d.ts +1 -1
  10. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +3 -3
  11. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +3 -3
  12. package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +1 -3
  13. package/esm2015/domain/cast-to-enum.js +12 -0
  14. package/esm2015/domain/clear-selection/clear-selection.execution.js +26 -0
  15. package/{esm2022/domain/create-connection-markers/create-connection-markers-request.mjs → esm2015/domain/create-connection-markers/create-connection-markers-request.js} +1 -2
  16. package/esm2015/domain/create-connection-markers/create-connection-markers.execution.js +61 -0
  17. package/esm2015/domain/create-dom-element.js +4 -0
  18. package/esm2015/domain/deep-clone-node.js +47 -0
  19. package/esm2015/domain/emit-transform-changes/emit-transform-changes.execution.js +24 -0
  20. package/esm2015/domain/get-can-be-selected-items/get-can-be-selected-items.execution.js +57 -0
  21. package/esm2015/domain/get-connection-line/get-connection-line.execution.js +68 -0
  22. package/esm2015/domain/get-connection-line/get-connection-line.request.js +10 -0
  23. package/esm2015/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.js +35 -0
  24. package/{esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs → esm2015/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.js} +1 -2
  25. package/{esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs → esm2015/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.js} +1 -2
  26. package/esm2015/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.js +43 -0
  27. package/{esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.mjs → esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.js} +1 -2
  28. package/esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.js +7 -0
  29. package/esm2015/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.js +33 -0
  30. package/esm2015/domain/get-nodes-rect/get-nodes-rect.execution.js +31 -0
  31. package/{esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.mjs → esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.js} +1 -2
  32. package/esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.js +7 -0
  33. package/esm2015/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.js +37 -0
  34. package/{esm2022/domain/get-position-in-flow/get-position-in-flow-request.mjs → esm2015/domain/get-position-in-flow/get-position-in-flow-request.js} +1 -2
  35. package/esm2015/domain/get-position-in-flow/get-position-in-flow.execution.js +32 -0
  36. package/esm2015/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.js +34 -0
  37. package/esm2015/domain/get-selection/get-selection.execution.js +35 -0
  38. package/esm2015/domain/get-value-from-data-attr.js +7 -0
  39. package/{esm2022/domain/index.mjs → esm2015/domain/index.js} +3 -1
  40. package/esm2015/domain/intersections/f-connector-shape.extensions.js +46 -0
  41. package/esm2015/domain/intersections/intersection-finder.js +156 -0
  42. package/esm2015/domain/intersections/rounded-rect/rounded-rect.js +46 -0
  43. package/esm2015/domain/is-connection-under-node/is-connection-under-node.execution.js +76 -0
  44. package/esm2015/domain/redraw-connections/redraw-connections.execution.js +60 -0
  45. package/esm2015/domain/select/select.execution.js +44 -0
  46. package/esm2015/domain/select/select.request.js +7 -0
  47. package/esm2015/domain/select-all/select-all.execution.js +38 -0
  48. package/esm2015/domain/select-and-update-node-layer/select-and-update-node-layer.execution.js +35 -0
  49. package/{esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.request.mjs → esm2015/domain/select-and-update-node-layer/select-and-update-node-layer.request.js} +1 -2
  50. package/esm2015/domain/sort-item-layers/sort-item-layers.execution.js +30 -0
  51. package/esm2015/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.js +57 -0
  52. package/{esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs → esm2015/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.js} +1 -2
  53. package/esm2015/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.js +59 -0
  54. package/esm2015/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.js +26 -0
  55. package/esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.js +30 -0
  56. package/{esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs → esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.js} +1 -5
  57. package/esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.execution.js +94 -0
  58. package/{esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs → esm2015/domain/update-item-and-children-layers/update-item-and-children-layers.request.js} +1 -3
  59. package/{esm2022/f-backgroud/f-background-base.mjs → esm2015/f-backgroud/f-background-base.js} +4 -4
  60. package/esm2015/f-backgroud/f-background.component.js +71 -0
  61. package/esm2015/f-backgroud/f-circle-pattern/f-circle-pattern.component.js +104 -0
  62. package/esm2015/f-backgroud/f-rect-pattern/f-rect-pattern.component.js +122 -0
  63. package/esm2015/f-canvas/domain/f-canvas-change.event.js +7 -0
  64. package/esm2015/f-canvas/f-canvas-base.js +27 -0
  65. package/esm2015/f-canvas/f-canvas.component.js +111 -0
  66. package/{esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.js} +1 -3
  67. package/{esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs → esm2015/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.js} +1 -2
  68. package/esm2015/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.js +35 -0
  69. package/esm2015/f-connection/common/domain/f-bezier.path-builder.js +37 -0
  70. package/esm2015/f-connection/common/domain/f-segment.path-builder.js +142 -0
  71. package/esm2015/f-connection/common/f-connection-base.js +62 -0
  72. package/esm2015/f-connection/common/f-connection-identifiers.js +27 -0
  73. package/esm2015/f-connection/common/f-connection-text/f-connection-text-path.directive.js +70 -0
  74. package/esm2015/f-connection/common/f-connection-text/f-connection-text.component.js +72 -0
  75. package/esm2015/f-connection/common/f-drag-handle/f-connection-drag-handle.component.js +38 -0
  76. package/esm2015/f-connection/common/f-gradient/f-connection-gradient.component.js +69 -0
  77. package/esm2015/f-connection/common/f-path/f-connection-path.component.js +59 -0
  78. package/esm2015/f-connection/common/f-path/get-path-marker-id.js +19 -0
  79. package/esm2015/f-connection/common/f-selection/f-connection-selection.component.js +37 -0
  80. package/esm2015/f-connection/common/mixins/change-connection-selection.mixin.js +26 -0
  81. package/esm2015/f-connection/f-connection/f-connection.component.js +184 -0
  82. package/esm2015/f-connection/f-connection-builder/f-connection-factory.js +34 -0
  83. package/{esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs → esm2015/f-connection/f-connection-center/f-connection-center.directive.js} +4 -4
  84. package/esm2015/f-connection/f-connection-for-create/f-connection-for-create.component.js +151 -0
  85. package/{esm2022/f-connection/f-marker/f-marker-base.mjs → esm2015/f-connection/f-marker/f-marker-base.js} +4 -4
  86. package/esm2015/f-connection/f-marker/f-marker.directive.js +58 -0
  87. package/esm2015/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.js +7 -0
  88. package/esm2015/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.js +38 -0
  89. package/esm2015/f-connectors/f-connector-base.js +17 -0
  90. package/esm2015/f-connectors/f-node-input/f-node-input-base.js +19 -0
  91. package/esm2015/f-connectors/f-node-input/f-node-input.directive.js +88 -0
  92. package/esm2015/f-connectors/f-node-outlet/f-node-outlet-base.js +23 -0
  93. package/esm2015/f-connectors/f-node-outlet/f-node-outlet.directive.js +71 -0
  94. package/esm2015/f-connectors/f-node-output/f-node-output-base.js +19 -0
  95. package/esm2015/f-connectors/f-node-output/f-node-output.directive.js +95 -0
  96. package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.js +24 -0
  97. package/{esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.js} +1 -2
  98. package/esm2015/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.js +25 -0
  99. package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.js +36 -0
  100. package/{esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.js} +1 -2
  101. package/esm2015/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.js +49 -0
  102. package/esm2015/f-draggable/canvas/canvas.drag-handler.js +18 -0
  103. package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.js +56 -0
  104. package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.js} +1 -2
  105. package/esm2015/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.js +25 -0
  106. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.js +45 -0
  107. package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.js} +1 -3
  108. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.js +53 -0
  109. package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.js} +1 -2
  110. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.js +39 -0
  111. package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.js} +1 -2
  112. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.js +34 -0
  113. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.js +43 -0
  114. package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.js} +1 -2
  115. package/esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.js +32 -0
  116. package/esm2015/f-draggable/connections/create-connection/create-connection.drag-handler.js +33 -0
  117. package/esm2015/f-draggable/connections/create-connection/f-create-connection.event.js +8 -0
  118. package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.js +43 -0
  119. package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.js} +1 -2
  120. package/esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.js +27 -0
  121. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.js +74 -0
  122. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.js +7 -0
  123. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.js +35 -0
  124. package/esm2015/f-draggable/connections/reassign-connection/f-reassign-connection.event.js +9 -0
  125. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.js +50 -0
  126. package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.js} +1 -2
  127. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.js +25 -0
  128. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.js +64 -0
  129. package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.js} +1 -2
  130. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.js +44 -0
  131. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.js +33 -0
  132. package/esm2015/f-draggable/domain/get-node-padding/get-node-padding.execution.js +33 -0
  133. package/esm2015/f-draggable/domain/get-node-padding/get-node-padding.request.js +7 -0
  134. package/esm2015/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.js +29 -0
  135. package/{esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs → esm2015/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.js} +1 -2
  136. package/esm2015/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.js +48 -0
  137. package/{esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs → esm2015/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.js} +1 -2
  138. package/esm2015/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.js +36 -0
  139. package/{esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs → esm2015/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.js} +1 -2
  140. package/esm2015/f-draggable/domain/index.js +7 -0
  141. package/esm2015/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.js +34 -0
  142. package/{esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs → esm2015/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.js} +1 -3
  143. package/esm2015/f-draggable/domain/providers.js +13 -0
  144. package/esm2015/f-draggable/f-draggable-base.js +174 -0
  145. package/esm2015/f-draggable/f-draggable-data-context.js +26 -0
  146. package/esm2015/f-draggable/f-draggable.directive.js +170 -0
  147. package/esm2015/f-draggable/f-selection-change-event.js +7 -0
  148. package/esm2015/f-draggable/node/connection-base-drag-handler.js +40 -0
  149. package/esm2015/f-draggable/node/connection-source.drag-handler.js +16 -0
  150. package/esm2015/f-draggable/node/connection-target.drag-handler.js +16 -0
  151. package/esm2015/f-draggable/node/connection.drag-handler.js +20 -0
  152. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.js +90 -0
  153. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.js +44 -0
  154. package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.js} +1 -3
  155. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.js +70 -0
  156. 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 → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.js} +1 -4
  157. package/esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.js +70 -0
  158. 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 → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.js} +1 -4
  159. package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.execution.js +54 -0
  160. package/{esm2022/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs → esm2015/f-draggable/node/node-move-finalize/node-move-finalize.request.js} +1 -2
  161. package/esm2015/f-draggable/node/node-move-finalize/node-move-finalize.validator.js +25 -0
  162. package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.execution.js +60 -0
  163. package/{esm2022/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs → esm2015/f-draggable/node/node-move-preparation/node-move-preparation.request.js} +1 -2
  164. package/esm2015/f-draggable/node/node-move-preparation/node-move-preparation.validator.js +41 -0
  165. package/esm2015/f-draggable/node/node-resize-by-child.drag-handler.js +12 -0
  166. package/esm2015/f-draggable/node/node.drag-handler.js +34 -0
  167. package/esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.js +49 -0
  168. package/{esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.js} +1 -3
  169. package/esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.js +49 -0
  170. package/{esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.js} +1 -3
  171. package/esm2015/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.js +25 -0
  172. package/esm2015/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.js +9 -0
  173. package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.js +34 -0
  174. package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.js +8 -0
  175. package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.js +31 -0
  176. package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.js} +1 -3
  177. package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.js +41 -0
  178. package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.js +7 -0
  179. package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.js +27 -0
  180. package/{esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.js} +1 -2
  181. package/esm2015/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.js +25 -0
  182. package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.js +52 -0
  183. package/{esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.js} +1 -2
  184. package/esm2015/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.js +41 -0
  185. package/esm2015/f-draggable/node-resize/node-resize.drag-handler.js +48 -0
  186. package/esm2015/f-draggable/single-select/single-select.execution.js +89 -0
  187. package/{esm2022/f-draggable/single-select/single-select.request.mjs → esm2015/f-draggable/single-select/single-select.request.js} +1 -2
  188. package/esm2015/f-draggable/single-select/single-select.validator.js +27 -0
  189. package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.execution.js +57 -0
  190. package/{esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs → esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.request.js} +1 -2
  191. package/esm2015/f-external-item/domain/external-item-finalize/external-item-finalize.validator.js +25 -0
  192. package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.execution.js +43 -0
  193. package/{esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs → esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.request.js} +1 -2
  194. package/esm2015/f-external-item/domain/external-item-preparation/external-item-preparation.validator.js +29 -0
  195. package/esm2015/f-external-item/domain/external-item.drag-handler.js +36 -0
  196. package/{esm2022/f-external-item/domain/f-create-node.event.mjs → esm2015/f-external-item/domain/f-create-node.event.js} +1 -3
  197. package/{esm2022/f-external-item/f-external-item-base.mjs → esm2015/f-external-item/f-external-item-base.js} +4 -4
  198. package/esm2015/f-external-item/f-external-item.directive.js +55 -0
  199. package/esm2015/f-external-item/f-external-item.service.js +28 -0
  200. package/esm2015/f-flow/f-flow.component.js +122 -0
  201. package/{esm2022/f-flow.module.mjs → esm2015/f-flow.module.js} +7 -5
  202. package/esm2015/f-line-alignment/domain/line-element.js +22 -0
  203. package/esm2015/f-line-alignment/domain/line-service.js +35 -0
  204. package/esm2015/f-line-alignment/domain/nearest-coordinate.js +101 -0
  205. package/{esm2022/f-line-alignment/f-line-alignment-base.mjs → esm2015/f-line-alignment/f-line-alignment-base.js} +4 -4
  206. package/esm2015/f-line-alignment/f-line-alignment.component.js +99 -0
  207. package/esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.js +42 -0
  208. package/esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.js +9 -0
  209. package/esm2015/f-minimap/domain/check-rect-is-finite.js +8 -0
  210. package/esm2015/f-minimap/domain/f-minimap-data.js +9 -0
  211. package/esm2015/f-minimap/domain/f-minimap.drag-handler.js +37 -0
  212. package/esm2015/f-minimap/domain/index.js +8 -0
  213. package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.js +27 -0
  214. package/{esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.js} +1 -2
  215. package/esm2015/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.js +25 -0
  216. package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.js +49 -0
  217. package/{esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.js} +1 -3
  218. package/esm2015/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.js +28 -0
  219. package/esm2015/f-minimap/f-minimap-canvas.directive.js +66 -0
  220. package/esm2015/f-minimap/f-minimap-flow.directive.js +76 -0
  221. package/esm2015/f-minimap/f-minimap-view.directive.js +40 -0
  222. package/esm2015/f-minimap/f-minimap.component.js +76 -0
  223. package/esm2015/f-node/f-drag-handle/f-drag-handle.directive.js +24 -0
  224. package/esm2015/f-node/f-group.directive.js +149 -0
  225. package/esm2015/f-node/f-node-base.js +38 -0
  226. package/esm2015/f-node/f-node.directive.js +150 -0
  227. package/esm2015/f-node/f-resize-handle/f-resize-handle.directive.js +43 -0
  228. package/esm2015/f-node/f-rotate-handle/f-rotate-handle.directive.js +27 -0
  229. package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.js +27 -0
  230. package/{esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs → esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.js} +1 -2
  231. package/esm2015/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.js +25 -0
  232. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.js +38 -0
  233. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.js +7 -0
  234. package/esm2015/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.js +31 -0
  235. package/esm2015/f-selection-area/domain/selection-area.drag-handle.js +48 -0
  236. package/{esm2022/f-selection-area/f-selection-area-base.mjs → esm2015/f-selection-area/f-selection-area-base.js} +4 -4
  237. package/esm2015/f-selection-area/f-selection-area.component.js +57 -0
  238. package/esm2015/f-storage/f-components-store.js +52 -0
  239. package/esm2015/f-storage/f-transform-store.js +14 -0
  240. package/esm2015/f-zoom/f-zoom-base.js +98 -0
  241. package/esm2015/f-zoom/f-zoom.directive.js +59 -0
  242. package/esm2015/infrastructure/f-mediator/f-flow-mediator.js +29 -0
  243. package/esm2015/infrastructure/pipeline/pipeline.js +19 -0
  244. package/f-backgroud/f-background-base.d.ts +1 -1
  245. package/f-backgroud/f-background.component.d.ts +4 -2
  246. package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +4 -2
  247. package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +4 -2
  248. package/f-canvas/f-canvas-base.d.ts +1 -1
  249. package/f-canvas/f-canvas.component.d.ts +1 -1
  250. package/f-connection/common/f-connection-base.d.ts +1 -1
  251. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +4 -2
  252. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +1 -1
  253. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
  254. package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +1 -1
  255. package/f-connection/common/f-path/f-connection-path.component.d.ts +1 -1
  256. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +1 -1
  257. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -1
  258. package/f-connection/common/mixins/change-connection-visibility.mixin.d.ts +1 -1
  259. package/f-connection/f-connection/f-connection.component.d.ts +1 -1
  260. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +1 -1
  261. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  262. package/f-connection/f-marker/f-marker-base.d.ts +1 -1
  263. package/f-connection/f-marker/f-marker.directive.d.ts +1 -1
  264. package/f-connectors/f-node-input/f-node-input-base.d.ts +1 -1
  265. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
  266. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -1
  267. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
  268. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -1
  269. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
  270. package/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.d.ts +3 -1
  271. package/f-draggable/connections/providers.d.ts +1 -1
  272. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.d.ts +3 -1
  273. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.d.ts +3 -1
  274. package/f-draggable/domain/get-node-padding/get-node-padding.execution.d.ts +4 -4
  275. package/f-draggable/domain/index.d.ts +0 -1
  276. package/f-draggable/domain/providers.d.ts +1 -2
  277. package/f-draggable/f-draggable-base.d.ts +3 -3
  278. package/f-draggable/f-draggable.directive.d.ts +4 -3
  279. package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
  280. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  281. package/f-draggable/node/providers.d.ts +1 -1
  282. package/f-draggable/providers.d.ts +1 -1
  283. package/f-draggable/single-select/single-select.execution.d.ts +5 -3
  284. package/f-external-item/domain/external-item-finalize/external-item-finalize.execution.d.ts +3 -1
  285. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +3 -1
  286. package/f-external-item/domain/external-item.drag-handler.d.ts +3 -1
  287. package/f-external-item/f-external-item-base.d.ts +1 -1
  288. package/f-external-item/f-external-item.directive.d.ts +1 -1
  289. package/f-flow/f-flow.component.d.ts +4 -2
  290. package/f-line-alignment/domain/line-element.d.ts +2 -1
  291. package/f-line-alignment/domain/line-service.d.ts +2 -1
  292. package/f-line-alignment/f-line-alignment-base.d.ts +1 -1
  293. package/f-line-alignment/f-line-alignment.component.d.ts +3 -2
  294. package/f-minimap/domain/check-rect-is-finite.d.ts +2 -0
  295. package/f-minimap/domain/index.d.ts +1 -0
  296. package/f-minimap/domain/providers.d.ts +1 -1
  297. package/f-minimap/f-minimap-canvas.directive.d.ts +4 -2
  298. package/f-minimap/f-minimap-flow.directive.d.ts +1 -1
  299. package/f-minimap/f-minimap-view.directive.d.ts +1 -1
  300. package/f-minimap/f-minimap.component.d.ts +1 -1
  301. package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +1 -1
  302. package/f-node/f-group.directive.d.ts +4 -2
  303. package/f-node/f-node.directive.d.ts +4 -2
  304. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  305. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +1 -0
  306. package/f-selection-area/f-selection-area-base.d.ts +1 -1
  307. package/f-selection-area/f-selection-area.component.d.ts +1 -1
  308. package/f-zoom/f-zoom.directive.d.ts +1 -1
  309. package/{fesm2022/foblex-flow.mjs → fesm2015/foblex-flow.js} +1815 -2054
  310. package/fesm2015/foblex-flow.js.map +1 -0
  311. package/infrastructure/f-mediator/f-execution-register.d.ts +1 -1
  312. package/infrastructure/f-mediator/f-validator-register.d.ts +1 -1
  313. package/package.json +9 -16
  314. package/esm2022/domain/cast-to-enum.mjs +0 -12
  315. package/esm2022/domain/clear-selection/clear-selection.execution.mjs +0 -27
  316. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +0 -49
  317. package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +0 -25
  318. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -60
  319. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +0 -66
  320. package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +0 -15
  321. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +0 -36
  322. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +0 -42
  323. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.mjs +0 -9
  324. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.mjs +0 -35
  325. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +0 -32
  326. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +0 -9
  327. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.mjs +0 -39
  328. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +0 -33
  329. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +0 -35
  330. package/esm2022/domain/get-selection/get-selection.execution.mjs +0 -36
  331. package/esm2022/domain/get-value-from-data-attr.mjs +0 -7
  332. package/esm2022/domain/intersections/f-connector-shape.extensions.mjs +0 -46
  333. package/esm2022/domain/intersections/intersection-finder.mjs +0 -156
  334. package/esm2022/domain/intersections/rounded-rect/rounded-rect.mjs +0 -79
  335. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +0 -79
  336. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +0 -62
  337. package/esm2022/domain/select/select.execution.mjs +0 -46
  338. package/esm2022/domain/select/select.request.mjs +0 -9
  339. package/esm2022/domain/select-all/select-all.execution.mjs +0 -40
  340. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +0 -37
  341. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +0 -32
  342. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +0 -61
  343. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +0 -62
  344. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +0 -28
  345. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -30
  346. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +0 -99
  347. package/esm2022/f-backgroud/f-background.component.mjs +0 -62
  348. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +0 -103
  349. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +0 -122
  350. package/esm2022/f-canvas/domain/f-canvas-change.event.mjs +0 -9
  351. package/esm2022/f-canvas/f-canvas-base.mjs +0 -28
  352. package/esm2022/f-canvas/f-canvas.component.mjs +0 -107
  353. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -35
  354. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +0 -37
  355. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +0 -142
  356. package/esm2022/f-connection/common/f-connection-base.mjs +0 -62
  357. package/esm2022/f-connection/common/f-connection-identifiers.mjs +0 -22
  358. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -64
  359. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -69
  360. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +0 -39
  361. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -65
  362. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +0 -61
  363. package/esm2022/f-connection/common/f-path/get-path-marker-id.mjs +0 -15
  364. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +0 -39
  365. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +0 -25
  366. package/esm2022/f-connection/f-connection/f-connection.component.mjs +0 -187
  367. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +0 -34
  368. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +0 -155
  369. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +0 -60
  370. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +0 -9
  371. package/esm2022/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +0 -38
  372. package/esm2022/f-connectors/f-connector-base.mjs +0 -15
  373. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +0 -16
  374. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +0 -91
  375. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +0 -20
  376. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -74
  377. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +0 -16
  378. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +0 -98
  379. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -25
  380. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +0 -26
  381. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -38
  382. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +0 -50
  383. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +0 -19
  384. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -58
  385. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +0 -26
  386. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -48
  387. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -55
  388. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -41
  389. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -35
  390. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -45
  391. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +0 -34
  392. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +0 -36
  393. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -11
  394. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +0 -44
  395. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -28
  396. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +0 -73
  397. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +0 -9
  398. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +0 -36
  399. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -13
  400. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -53
  401. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +0 -26
  402. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -65
  403. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -44
  404. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -35
  405. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.mjs +0 -13
  406. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.mjs +0 -49
  407. package/esm2022/f-draggable/domain/convert-computed-to-pixels/index.mjs +0 -3
  408. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -38
  409. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -9
  410. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -30
  411. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +0 -50
  412. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
  413. package/esm2022/f-draggable/domain/index.mjs +0 -8
  414. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +0 -35
  415. package/esm2022/f-draggable/domain/providers.mjs +0 -15
  416. package/esm2022/f-draggable/f-draggable-base.mjs +0 -169
  417. package/esm2022/f-draggable/f-draggable-data-context.mjs +0 -25
  418. package/esm2022/f-draggable/f-draggable.directive.mjs +0 -174
  419. package/esm2022/f-draggable/f-selection-change-event.mjs +0 -9
  420. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -42
  421. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -18
  422. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -18
  423. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -22
  424. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -87
  425. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -45
  426. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +0 -72
  427. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +0 -72
  428. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +0 -54
  429. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +0 -26
  430. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +0 -62
  431. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -43
  432. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -13
  433. package/esm2022/f-draggable/node/node.drag-handler.mjs +0 -37
  434. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -49
  435. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
  436. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
  437. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -13
  438. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
  439. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -11
  440. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -32
  441. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -42
  442. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -9
  443. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +0 -27
  444. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +0 -26
  445. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +0 -55
  446. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -43
  447. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +0 -53
  448. package/esm2022/f-draggable/single-select/single-select.execution.mjs +0 -87
  449. package/esm2022/f-draggable/single-select/single-select.validator.mjs +0 -29
  450. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -58
  451. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +0 -26
  452. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -44
  453. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  454. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +0 -36
  455. package/esm2022/f-external-item/f-external-item.directive.mjs +0 -58
  456. package/esm2022/f-external-item/f-external-item.service.mjs +0 -26
  457. package/esm2022/f-flow/f-flow.component.mjs +0 -112
  458. package/esm2022/f-line-alignment/domain/line-element.mjs +0 -24
  459. package/esm2022/f-line-alignment/domain/line-service.mjs +0 -38
  460. package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +0 -104
  461. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +0 -96
  462. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +0 -43
  463. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +0 -13
  464. package/esm2022/f-minimap/domain/f-minimap-data.mjs +0 -12
  465. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +0 -41
  466. package/esm2022/f-minimap/domain/index.mjs +0 -7
  467. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +0 -27
  468. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  469. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +0 -52
  470. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  471. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +0 -63
  472. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +0 -79
  473. package/esm2022/f-minimap/f-minimap-view.directive.mjs +0 -40
  474. package/esm2022/f-minimap/f-minimap.component.mjs +0 -72
  475. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -25
  476. package/esm2022/f-node/f-group.directive.mjs +0 -147
  477. package/esm2022/f-node/f-node-base.mjs +0 -37
  478. package/esm2022/f-node/f-node.directive.mjs +0 -148
  479. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +0 -44
  480. package/esm2022/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +0 -28
  481. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +0 -27
  482. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  483. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +0 -41
  484. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +0 -9
  485. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -30
  486. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +0 -52
  487. package/esm2022/f-selection-area/f-selection-area.component.mjs +0 -53
  488. package/esm2022/f-storage/f-components-store.mjs +0 -53
  489. package/esm2022/f-storage/f-transform-store.mjs +0 -12
  490. package/esm2022/f-zoom/f-zoom-base.mjs +0 -97
  491. package/esm2022/f-zoom/f-zoom.directive.mjs +0 -59
  492. package/esm2022/infrastructure/f-mediator/f-flow-mediator.mjs +0 -30
  493. package/esm2022/infrastructure/pipeline/pipeline.mjs +0 -21
  494. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.d.ts +0 -7
  495. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.d.ts +0 -12
  496. package/f-draggable/domain/convert-computed-to-pixels/index.d.ts +0 -2
  497. package/fesm2022/foblex-flow.mjs.map +0 -1
  498. /package/{esm2022/domain/clear-selection/clear-selection.request.mjs → esm2015/domain/clear-selection/clear-selection.request.js} +0 -0
  499. /package/{esm2022/domain/clear-selection/index.mjs → esm2015/domain/clear-selection/index.js} +0 -0
  500. /package/{esm2022/domain/create-connection-markers/index.mjs → esm2015/domain/create-connection-markers/index.js} +0 -0
  501. /package/{esm2022/domain/emit-transform-changes/emit-transform-changes.request.mjs → esm2015/domain/emit-transform-changes/emit-transform-changes.request.js} +0 -0
  502. /package/{esm2022/domain/emit-transform-changes/index.mjs → esm2015/domain/emit-transform-changes/index.js} +0 -0
  503. /package/{esm2022/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs → esm2015/domain/get-can-be-selected-items/get-can-be-selected-items-request.js} +0 -0
  504. /package/{esm2022/domain/get-can-be-selected-items/i-selectable-with-rect.mjs → esm2015/domain/get-can-be-selected-items/i-selectable-with-rect.js} +0 -0
  505. /package/{esm2022/domain/get-can-be-selected-items/index.mjs → esm2015/domain/get-can-be-selected-items/index.js} +0 -0
  506. /package/{esm2022/domain/get-connection-line/index.mjs → esm2015/domain/get-connection-line/index.js} +0 -0
  507. /package/{esm2022/domain/get-deep-children-nodes-and-groups/index.mjs → esm2015/domain/get-deep-children-nodes-and-groups/index.js} +0 -0
  508. /package/{esm2022/domain/get-element-rect-in-flow/index.mjs → esm2015/domain/get-element-rect-in-flow/index.js} +0 -0
  509. /package/{esm2022/domain/get-input-rect-in-flow/index.mjs → esm2015/domain/get-input-rect-in-flow/index.js} +0 -0
  510. /package/{esm2022/domain/get-nodes-rect/get-nodes-rect.request.mjs → esm2015/domain/get-nodes-rect/get-nodes-rect.request.js} +0 -0
  511. /package/{esm2022/domain/get-nodes-rect/index.mjs → esm2015/domain/get-nodes-rect/index.js} +0 -0
  512. /package/{esm2022/domain/get-output-rect-in-flow/index.mjs → esm2015/domain/get-output-rect-in-flow/index.js} +0 -0
  513. /package/{esm2022/domain/get-position-in-flow/index.mjs → esm2015/domain/get-position-in-flow/index.js} +0 -0
  514. /package/{esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs → esm2015/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.js} +0 -0
  515. /package/{esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs → esm2015/domain/get-scaled-node-rects-with-flow-position/index.js} +0 -0
  516. /package/{esm2022/domain/get-selection/get-selection.request.mjs → esm2015/domain/get-selection/get-selection.request.js} +0 -0
  517. /package/{esm2022/domain/get-selection/index.mjs → esm2015/domain/get-selection/index.js} +0 -0
  518. /package/{esm2022/domain/intersections/e-f-connector-shape.mjs → esm2015/domain/intersections/e-f-connector-shape.js} +0 -0
  519. /package/{esm2022/domain/intersections/i-connector-shape.mjs → esm2015/domain/intersections/i-connector-shape.js} +0 -0
  520. /package/{esm2022/domain/intersections/index.mjs → esm2015/domain/intersections/index.js} +0 -0
  521. /package/{esm2022/domain/intersections/rounded-rect/i-rounded-rect.mjs → esm2015/domain/intersections/rounded-rect/i-rounded-rect.js} +0 -0
  522. /package/{esm2022/domain/intersections/rounded-rect/index.mjs → esm2015/domain/intersections/rounded-rect/index.js} +0 -0
  523. /package/{esm2022/domain/is-connection-under-node/index.mjs → esm2015/domain/is-connection-under-node/index.js} +0 -0
  524. /package/{esm2022/domain/is-connection-under-node/is-connection-under-node.request.mjs → esm2015/domain/is-connection-under-node/is-connection-under-node.request.js} +0 -0
  525. /package/{esm2022/domain/is-element-with-class.mjs → esm2015/domain/is-element-with-class.js} +0 -0
  526. /package/{esm2022/domain/providers.mjs → esm2015/domain/providers.js} +0 -0
  527. /package/{esm2022/domain/redraw-connections/index.mjs → esm2015/domain/redraw-connections/index.js} +0 -0
  528. /package/{esm2022/domain/redraw-connections/redraw-connections-request.mjs → esm2015/domain/redraw-connections/redraw-connections-request.js} +0 -0
  529. /package/{esm2022/domain/select/index.mjs → esm2015/domain/select/index.js} +0 -0
  530. /package/{esm2022/domain/select-all/index.mjs → esm2015/domain/select-all/index.js} +0 -0
  531. /package/{esm2022/domain/select-all/select-all.request.mjs → esm2015/domain/select-all/select-all.request.js} +0 -0
  532. /package/{esm2022/domain/select-and-update-node-layer/index.mjs → esm2015/domain/select-and-update-node-layer/index.js} +0 -0
  533. /package/{esm2022/domain/sort-item-layers/index.mjs → esm2015/domain/sort-item-layers/index.js} +0 -0
  534. /package/{esm2022/domain/sort-item-layers/sort-item-layers.request.mjs → esm2015/domain/sort-item-layers/sort-item-layers.request.js} +0 -0
  535. /package/{esm2022/domain/sort-item-layers/sort-items-by-parent/index.mjs → esm2015/domain/sort-item-layers/sort-items-by-parent/index.js} +0 -0
  536. /package/{esm2022/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs → esm2015/domain/sort-item-layers/sort-node-layers-by-groups/index.js} +0 -0
  537. /package/{esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs → esm2015/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.js} +0 -0
  538. /package/{esm2022/domain/subscribe-on-transform-changes/index.mjs → esm2015/domain/subscribe-on-transform-changes/index.js} +0 -0
  539. /package/{esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs → esm2015/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.js} +0 -0
  540. /package/{esm2022/domain/update-item-and-children-layers/index.mjs → esm2015/domain/update-item-and-children-layers/index.js} +0 -0
  541. /package/{esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs → esm2015/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.js} +0 -0
  542. /package/{esm2022/errors/conflict-error.mjs → esm2015/errors/conflict-error.js} +0 -0
  543. /package/{esm2022/errors/create-error-class.mjs → esm2015/errors/create-error-class.js} +0 -0
  544. /package/{esm2022/errors/errors.mjs → esm2015/errors/errors.js} +0 -0
  545. /package/{esm2022/errors/index.mjs → esm2015/errors/index.js} +0 -0
  546. /package/{esm2022/errors/not-found-error.mjs → esm2015/errors/not-found-error.js} +0 -0
  547. /package/{esm2022/f-backgroud/domain/i-f-background-pattern.mjs → esm2015/f-backgroud/domain/i-f-background-pattern.js} +0 -0
  548. /package/{esm2022/f-backgroud/domain/index.mjs → esm2015/f-backgroud/domain/index.js} +0 -0
  549. /package/{esm2022/f-backgroud/f-circle-pattern/index.mjs → esm2015/f-backgroud/f-circle-pattern/index.js} +0 -0
  550. /package/{esm2022/f-backgroud/f-rect-pattern/index.mjs → esm2015/f-backgroud/f-rect-pattern/index.js} +0 -0
  551. /package/{esm2022/f-backgroud/index.mjs → esm2015/f-backgroud/index.js} +0 -0
  552. /package/{esm2022/f-backgroud/providers.mjs → esm2015/f-backgroud/providers.js} +0 -0
  553. /package/{esm2022/f-canvas/domain/index.mjs → esm2015/f-canvas/domain/index.js} +0 -0
  554. /package/{esm2022/f-canvas/index.mjs → esm2015/f-canvas/index.js} +0 -0
  555. /package/{esm2022/f-canvas/providers.mjs → esm2015/f-canvas/providers.js} +0 -0
  556. /package/{esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.js} +0 -0
  557. /package/{esm2022/f-connection/common/domain/calculate-center-between-points/index.mjs → esm2015/f-connection/common/domain/calculate-center-between-points/index.js} +0 -0
  558. /package/{esm2022/f-connection/common/domain/calculate-connection-center/index.mjs → esm2015/f-connection/common/domain/calculate-connection-center/index.js} +0 -0
  559. /package/{esm2022/f-connection/common/domain/f-straight.path-builder.mjs → esm2015/f-connection/common/domain/f-straight.path-builder.js} +0 -0
  560. /package/{esm2022/f-connection/common/domain/index.mjs → esm2015/f-connection/common/domain/index.js} +0 -0
  561. /package/{esm2022/f-connection/common/e-f-connection-behavior.mjs → esm2015/f-connection/common/e-f-connection-behavior.js} +0 -0
  562. /package/{esm2022/f-connection/common/e-f-connection-type.mjs → esm2015/f-connection/common/e-f-connection-type.js} +0 -0
  563. /package/{esm2022/f-connection/common/f-connection-text/i-connection-text.mjs → esm2015/f-connection/common/f-connection-text/i-connection-text.js} +0 -0
  564. /package/{esm2022/f-connection/common/f-connection-text/index.mjs → esm2015/f-connection/common/f-connection-text/index.js} +0 -0
  565. /package/{esm2022/f-connection/common/f-connection.injection-token.mjs → esm2015/f-connection/common/f-connection.injection-token.js} +0 -0
  566. /package/{esm2022/f-connection/common/f-drag-handle/index.mjs → esm2015/f-connection/common/f-drag-handle/index.js} +0 -0
  567. /package/{esm2022/f-connection/common/f-gradient/i-connection-gradient.mjs → esm2015/f-connection/common/f-gradient/i-connection-gradient.js} +0 -0
  568. /package/{esm2022/f-connection/common/f-gradient/index.mjs → esm2015/f-connection/common/f-gradient/index.js} +0 -0
  569. /package/{esm2022/f-connection/common/f-path/i-connection-path.mjs → esm2015/f-connection/common/f-path/i-connection-path.js} +0 -0
  570. /package/{esm2022/f-connection/common/f-path/index.mjs → esm2015/f-connection/common/f-path/index.js} +0 -0
  571. /package/{esm2022/f-connection/common/f-selection/index.mjs → esm2015/f-connection/common/f-selection/index.js} +0 -0
  572. /package/{esm2022/f-connection/common/i-has-connection-color.mjs → esm2015/f-connection/common/i-has-connection-color.js} +0 -0
  573. /package/{esm2022/f-connection/common/i-has-connection-from-to.mjs → esm2015/f-connection/common/i-has-connection-from-to.js} +0 -0
  574. /package/{esm2022/f-connection/common/i-has-connection-text.mjs → esm2015/f-connection/common/i-has-connection-text.js} +0 -0
  575. /package/{esm2022/f-connection/common/index.mjs → esm2015/f-connection/common/index.js} +0 -0
  576. /package/{esm2022/f-connection/common/mixins/change-connection-visibility.mixin.mjs → esm2015/f-connection/common/mixins/change-connection-visibility.mixin.js} +0 -0
  577. /package/{esm2022/f-connection/common/mixins/index.mjs → esm2015/f-connection/common/mixins/index.js} +0 -0
  578. /package/{esm2022/f-connection/f-connection/index.mjs → esm2015/f-connection/f-connection/index.js} +0 -0
  579. /package/{esm2022/f-connection/f-connection-builder/f-connection-builders.mjs → esm2015/f-connection/f-connection-builder/f-connection-builders.js} +0 -0
  580. /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder-request.js} +0 -0
  581. /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder-response.js} +0 -0
  582. /package/{esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-builder.js} +0 -0
  583. /package/{esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs → esm2015/f-connection/f-connection-builder/i-f-connection-factory-request.js} +0 -0
  584. /package/{esm2022/f-connection/f-connection-builder/index.mjs → esm2015/f-connection/f-connection-builder/index.js} +0 -0
  585. /package/{esm2022/f-connection/f-connection-center/index.mjs → esm2015/f-connection/f-connection-center/index.js} +0 -0
  586. /package/{esm2022/f-connection/f-connection-for-create/index.mjs → esm2015/f-connection/f-connection-for-create/index.js} +0 -0
  587. /package/{esm2022/f-connection/f-marker/e-f-marker-type.mjs → esm2015/f-connection/f-marker/e-f-marker-type.js} +0 -0
  588. /package/{esm2022/f-connection/f-marker/index.mjs → esm2015/f-connection/f-marker/index.js} +0 -0
  589. /package/{esm2022/f-connection/index.mjs → esm2015/f-connection/index.js} +0 -0
  590. /package/{esm2022/f-connection/providers.mjs → esm2015/f-connection/providers.js} +0 -0
  591. /package/{esm2022/f-connectors/domain/calculate-connector-connectable-side/index.mjs → esm2015/f-connectors/domain/calculate-connector-connectable-side/index.js} +0 -0
  592. /package/{esm2022/f-connectors/domain/index.mjs → esm2015/f-connectors/domain/index.js} +0 -0
  593. /package/{esm2022/f-connectors/e-f-connectable-side.mjs → esm2015/f-connectors/e-f-connectable-side.js} +0 -0
  594. /package/{esm2022/f-connectors/f-node-input/index.mjs → esm2015/f-connectors/f-node-input/index.js} +0 -0
  595. /package/{esm2022/f-connectors/f-node-input/is-node-input.mjs → esm2015/f-connectors/f-node-input/is-node-input.js} +0 -0
  596. /package/{esm2022/f-connectors/f-node-outlet/index.mjs → esm2015/f-connectors/f-node-outlet/index.js} +0 -0
  597. /package/{esm2022/f-connectors/f-node-outlet/is-node-outlet.mjs → esm2015/f-connectors/f-node-outlet/is-node-outlet.js} +0 -0
  598. /package/{esm2022/f-connectors/f-node-output/index.mjs → esm2015/f-connectors/f-node-output/index.js} +0 -0
  599. /package/{esm2022/f-connectors/f-node-output/is-node-output.mjs → esm2015/f-connectors/f-node-output/is-node-output.js} +0 -0
  600. /package/{esm2022/f-connectors/index.mjs → esm2015/f-connectors/index.js} +0 -0
  601. /package/{esm2022/f-connectors/providers.mjs → esm2015/f-connectors/providers.js} +0 -0
  602. /package/{esm2022/f-draggable/canvas/canvas-move-finalize/index.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/index.js} +0 -0
  603. /package/{esm2022/f-draggable/canvas/canvas-move-finalize/providers.mjs → esm2015/f-draggable/canvas/canvas-move-finalize/providers.js} +0 -0
  604. /package/{esm2022/f-draggable/canvas/canvas-move-preparation/index.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/index.js} +0 -0
  605. /package/{esm2022/f-draggable/canvas/canvas-move-preparation/providers.mjs → esm2015/f-draggable/canvas/canvas-move-preparation/providers.js} +0 -0
  606. /package/{esm2022/f-draggable/canvas/index.mjs → esm2015/f-draggable/canvas/index.js} +0 -0
  607. /package/{esm2022/f-draggable/canvas/providers.mjs → esm2015/f-draggable/canvas/providers.js} +0 -0
  608. /package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/index.js} +0 -0
  609. /package/{esm2022/f-draggable/connections/create-connection/create-connection-finalize/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-finalize/providers.js} +0 -0
  610. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.js} +0 -0
  611. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/providers.js} +0 -0
  612. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.js} +0 -0
  613. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/providers.js} +0 -0
  614. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.js} +0 -0
  615. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/providers.js} +0 -0
  616. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/index.js} +0 -0
  617. /package/{esm2022/f-draggable/connections/create-connection/create-connection-preparation/providers.mjs → esm2015/f-draggable/connections/create-connection/create-connection-preparation/providers.js} +0 -0
  618. /package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.js} +0 -0
  619. /package/{esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.mjs → esm2015/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/providers.js} +0 -0
  620. /package/{esm2022/f-draggable/connections/create-connection/index.mjs → esm2015/f-draggable/connections/create-connection/index.js} +0 -0
  621. /package/{esm2022/f-draggable/connections/get-input-under-pointer/index.mjs → esm2015/f-draggable/connections/get-input-under-pointer/index.js} +0 -0
  622. /package/{esm2022/f-draggable/connections/get-input-under-pointer/providers.mjs → esm2015/f-draggable/connections/get-input-under-pointer/providers.js} +0 -0
  623. /package/{esm2022/f-draggable/connections/index.mjs → esm2015/f-draggable/connections/index.js} +0 -0
  624. /package/{esm2022/f-draggable/connections/providers.mjs → esm2015/f-draggable/connections/providers.js} +0 -0
  625. /package/{esm2022/f-draggable/connections/reassign-connection/index.mjs → esm2015/f-draggable/connections/reassign-connection/index.js} +0 -0
  626. /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.js} +0 -0
  627. /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-finalize/providers.js} +0 -0
  628. /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.js} +0 -0
  629. /package/{esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.mjs → esm2015/f-draggable/connections/reassign-connection/reassign-connection-preparation/providers.js} +0 -0
  630. /package/{esm2022/f-draggable/domain/get-node-padding/index.mjs → esm2015/f-draggable/domain/get-node-padding/index.js} +0 -0
  631. /package/{esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs → esm2015/f-draggable/domain/get-normalized-node-rect/index.js} +0 -0
  632. /package/{esm2022/f-draggable/domain/get-normalized-parent-node-rect/index.mjs → esm2015/f-draggable/domain/get-normalized-parent-node-rect/index.js} +0 -0
  633. /package/{esm2022/f-draggable/domain/get-parent-nodes/index.mjs → esm2015/f-draggable/domain/get-parent-nodes/index.js} +0 -0
  634. /package/{esm2022/f-draggable/domain/is-array-has-parent-node/index.mjs → esm2015/f-draggable/domain/is-array-has-parent-node/index.js} +0 -0
  635. /package/{esm2022/f-draggable/i-can-run-outside-angular.mjs → esm2015/f-draggable/i-can-run-outside-angular.js} +0 -0
  636. /package/{esm2022/f-draggable/i-draggable-item.mjs → esm2015/f-draggable/i-draggable-item.js} +0 -0
  637. /package/{esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs → esm2015/f-draggable/i-f-drag-and-drop-plugin.js} +0 -0
  638. /package/{esm2022/f-draggable/index.mjs → esm2015/f-draggable/index.js} +0 -0
  639. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.js} +0 -0
  640. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.js} +0 -0
  641. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.js} +0 -0
  642. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.js} +0 -0
  643. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.js} +0 -0
  644. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.js} +0 -0
  645. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/index.js} +0 -0
  646. /package/{esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs → esm2015/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.js} +0 -0
  647. /package/{esm2022/f-draggable/node/index.mjs → esm2015/f-draggable/node/index.js} +0 -0
  648. /package/{esm2022/f-draggable/node/node-move-finalize/index.mjs → esm2015/f-draggable/node/node-move-finalize/index.js} +0 -0
  649. /package/{esm2022/f-draggable/node/node-move-finalize/providers.mjs → esm2015/f-draggable/node/node-move-finalize/providers.js} +0 -0
  650. /package/{esm2022/f-draggable/node/node-move-preparation/index.mjs → esm2015/f-draggable/node/node-move-preparation/index.js} +0 -0
  651. /package/{esm2022/f-draggable/node/node-move-preparation/providers.mjs → esm2015/f-draggable/node/node-move-preparation/providers.js} +0 -0
  652. /package/{esm2022/f-draggable/node/providers.mjs → esm2015/f-draggable/node/providers.js} +0 -0
  653. /package/{esm2022/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/apply-child-resize-restrictions/index.js} +0 -0
  654. /package/{esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/apply-parent-resize-restrictions/index.js} +0 -0
  655. /package/{esm2022/f-draggable/node-resize/calculate-changed-position/index.mjs → esm2015/f-draggable/node-resize/calculate-changed-position/index.js} +0 -0
  656. /package/{esm2022/f-draggable/node-resize/calculate-changed-size/index.mjs → esm2015/f-draggable/node-resize/calculate-changed-size/index.js} +0 -0
  657. /package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.js} +0 -0
  658. /package/{esm2022/f-draggable/node-resize/get-node-resize-restrictions/index.mjs → esm2015/f-draggable/node-resize/get-node-resize-restrictions/index.js} +0 -0
  659. /package/{esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs → esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/index.js} +0 -0
  660. /package/{esm2022/f-draggable/node-resize/index.mjs → esm2015/f-draggable/node-resize/index.js} +0 -0
  661. /package/{esm2022/f-draggable/node-resize/node-resize-finalize/index.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/index.js} +0 -0
  662. /package/{esm2022/f-draggable/node-resize/node-resize-finalize/providers.mjs → esm2015/f-draggable/node-resize/node-resize-finalize/providers.js} +0 -0
  663. /package/{esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/index.js} +0 -0
  664. /package/{esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs → esm2015/f-draggable/node-resize/node-resize-preparation/providers.js} +0 -0
  665. /package/{esm2022/f-draggable/node-resize/providers.mjs → esm2015/f-draggable/node-resize/providers.js} +0 -0
  666. /package/{esm2022/f-draggable/node-resize/resize-direction.mjs → esm2015/f-draggable/node-resize/resize-direction.js} +0 -0
  667. /package/{esm2022/f-draggable/providers.mjs → esm2015/f-draggable/providers.js} +0 -0
  668. /package/{esm2022/f-draggable/single-select/index.mjs → esm2015/f-draggable/single-select/index.js} +0 -0
  669. /package/{esm2022/f-draggable/single-select/providers.mjs → esm2015/f-draggable/single-select/providers.js} +0 -0
  670. /package/{esm2022/f-external-item/domain/external-item-finalize/index.mjs → esm2015/f-external-item/domain/external-item-finalize/index.js} +0 -0
  671. /package/{esm2022/f-external-item/domain/external-item-finalize/providers.mjs → esm2015/f-external-item/domain/external-item-finalize/providers.js} +0 -0
  672. /package/{esm2022/f-external-item/domain/external-item-preparation/index.mjs → esm2015/f-external-item/domain/external-item-preparation/index.js} +0 -0
  673. /package/{esm2022/f-external-item/domain/external-item-preparation/providers.mjs → esm2015/f-external-item/domain/external-item-preparation/providers.js} +0 -0
  674. /package/{esm2022/f-external-item/domain/index.mjs → esm2015/f-external-item/domain/index.js} +0 -0
  675. /package/{esm2022/f-external-item/domain/providers.mjs → esm2015/f-external-item/domain/providers.js} +0 -0
  676. /package/{esm2022/f-external-item/index.mjs → esm2015/f-external-item/index.js} +0 -0
  677. /package/{esm2022/f-external-item/is-external-item.mjs → esm2015/f-external-item/is-external-item.js} +0 -0
  678. /package/{esm2022/f-external-item/providers.mjs → esm2015/f-external-item/providers.js} +0 -0
  679. /package/{esm2022/f-flow/f-flow-base.mjs → esm2015/f-flow/f-flow-base.js} +0 -0
  680. /package/{esm2022/f-flow/index.mjs → esm2015/f-flow/index.js} +0 -0
  681. /package/{esm2022/f-flow/providers.mjs → esm2015/f-flow/providers.js} +0 -0
  682. /package/{esm2022/f-line-alignment/domain/i-line-alignment-rect.mjs → esm2015/f-line-alignment/domain/i-line-alignment-rect.js} +0 -0
  683. /package/{esm2022/f-line-alignment/domain/i-line-alignment-result.mjs → esm2015/f-line-alignment/domain/i-line-alignment-result.js} +0 -0
  684. /package/{esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs → esm2015/f-line-alignment/domain/i-nearest-coordinate-result.js} +0 -0
  685. /package/{esm2022/f-line-alignment/domain/index.mjs → esm2015/f-line-alignment/domain/index.js} +0 -0
  686. /package/{esm2022/f-line-alignment/index.mjs → esm2015/f-line-alignment/index.js} +0 -0
  687. /package/{esm2022/f-line-alignment/providers.mjs → esm2015/f-line-alignment/providers.js} +0 -0
  688. /package/{esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/index.mjs → esm2015/f-minimap/domain/calculate-flow-point-from-minimap-point/index.js} +0 -0
  689. /package/{esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/index.js} +0 -0
  690. /package/{esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs → esm2015/f-minimap/domain/minimap-drag-finalize/providers.js} +0 -0
  691. /package/{esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/index.js} +0 -0
  692. /package/{esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs → esm2015/f-minimap/domain/minimap-drag-preparation/providers.js} +0 -0
  693. /package/{esm2022/f-minimap/domain/providers.mjs → esm2015/f-minimap/domain/providers.js} +0 -0
  694. /package/{esm2022/f-minimap/index.mjs → esm2015/f-minimap/index.js} +0 -0
  695. /package/{esm2022/f-minimap/providers.mjs → esm2015/f-minimap/providers.js} +0 -0
  696. /package/{esm2022/f-node/domain/index.mjs → esm2015/f-node/domain/index.js} +0 -0
  697. /package/{esm2022/f-node/domain/is-group.mjs → esm2015/f-node/domain/is-group.js} +0 -0
  698. /package/{esm2022/f-node/domain/is-node.mjs → esm2015/f-node/domain/is-node.js} +0 -0
  699. /package/{esm2022/f-node/f-drag-handle/index.mjs → esm2015/f-node/f-drag-handle/index.js} +0 -0
  700. /package/{esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs → esm2015/f-node/f-resize-handle/e-f-resize-handle-type.js} +0 -0
  701. /package/{esm2022/f-node/f-resize-handle/index.mjs → esm2015/f-node/f-resize-handle/index.js} +0 -0
  702. /package/{esm2022/f-node/f-resize-observer.mjs → esm2015/f-node/f-resize-observer.js} +0 -0
  703. /package/{esm2022/f-node/f-rotate-handle/index.mjs → esm2015/f-node/f-rotate-handle/index.js} +0 -0
  704. /package/{esm2022/f-node/index.mjs → esm2015/f-node/index.js} +0 -0
  705. /package/{esm2022/f-node/providers.mjs → esm2015/f-node/providers.js} +0 -0
  706. /package/{esm2022/f-selection-area/domain/index.mjs → esm2015/f-selection-area/domain/index.js} +0 -0
  707. /package/{esm2022/f-selection-area/domain/providers.mjs → esm2015/f-selection-area/domain/providers.js} +0 -0
  708. /package/{esm2022/f-selection-area/domain/selection-area-finalize/index.mjs → esm2015/f-selection-area/domain/selection-area-finalize/index.js} +0 -0
  709. /package/{esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs → esm2015/f-selection-area/domain/selection-area-finalize/providers.js} +0 -0
  710. /package/{esm2022/f-selection-area/domain/selection-area-preparation/index.mjs → esm2015/f-selection-area/domain/selection-area-preparation/index.js} +0 -0
  711. /package/{esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs → esm2015/f-selection-area/domain/selection-area-preparation/providers.js} +0 -0
  712. /package/{esm2022/f-selection-area/index.mjs → esm2015/f-selection-area/index.js} +0 -0
  713. /package/{esm2022/f-selection-area/providers.mjs → esm2015/f-selection-area/providers.js} +0 -0
  714. /package/{esm2022/f-storage/index.mjs → esm2015/f-storage/index.js} +0 -0
  715. /package/{esm2022/f-zoom/index.mjs → esm2015/f-zoom/index.js} +0 -0
  716. /package/{esm2022/f-zoom/providers.mjs → esm2015/f-zoom/providers.js} +0 -0
  717. /package/{esm2022/foblex-flow.mjs → esm2015/foblex-flow.js} +0 -0
  718. /package/{esm2022/i-has-state-changes.mjs → esm2015/i-has-state-changes.js} +0 -0
  719. /package/{esm2022/infrastructure/f-mediator/f-execution-register.mjs → esm2015/infrastructure/f-mediator/f-execution-register.js} +0 -0
  720. /package/{esm2022/infrastructure/f-mediator/f-validator-register.mjs → esm2015/infrastructure/f-mediator/f-validator-register.js} +0 -0
  721. /package/{esm2022/infrastructure/f-mediator/index.mjs → esm2015/infrastructure/f-mediator/index.js} +0 -0
  722. /package/{esm2022/infrastructure/index.mjs → esm2015/infrastructure/index.js} +0 -0
  723. /package/{esm2022/infrastructure/pipeline/i-execution.mjs → esm2015/infrastructure/pipeline/i-execution.js} +0 -0
  724. /package/{esm2022/infrastructure/pipeline/i-validator.mjs → esm2015/infrastructure/pipeline/i-validator.js} +0 -0
  725. /package/{esm2022/infrastructure/pipeline/index.mjs → esm2015/infrastructure/pipeline/index.js} +0 -0
  726. /package/{esm2022/public-api.mjs → esm2015/public-api.js} +0 -0
  727. /package/{index.d.ts → foblex-flow.d.ts} +0 -0
@@ -0,0 +1,156 @@
1
+ import { Arc, Line, PointExtensions, VectorExtensions } from '@foblex/core';
2
+ import { FConnectorShapeExtensions } from './f-connector-shape.extensions';
3
+ /**
4
+ * The IntersectionFinder class is designed to find intersection points between
5
+ * line segments and various geometric shapes. Currently, it supports rectangles,
6
+ * circles, and ellipses. In the future, support for additional shapes will be added.
7
+ */
8
+ export class IntersectionFinder {
9
+ /**
10
+ * Finds the guaranteed intersection points between a line segment and a rounded rectangle.
11
+ * @param from - Starting point of the line segment.
12
+ * @param to - Ending point of the line segment.
13
+ * @param shape - The shape to check for intersections.
14
+ * @returns An array of intersection points.
15
+ */
16
+ static getIntersections(from, to, shape) {
17
+ const segments = FConnectorShapeExtensions.getSegments(shape);
18
+ for (const segment of segments) {
19
+ if (segment instanceof Arc) {
20
+ const intersections = this.intersectArcWithLine(segment, from, to);
21
+ if (intersections.length > 0) {
22
+ return intersections;
23
+ }
24
+ }
25
+ else if (segment instanceof Line) {
26
+ const intersection = this.intersectLineSegments(from, to, segment.point1, segment.point2);
27
+ if (intersection) {
28
+ return [intersection];
29
+ }
30
+ }
31
+ }
32
+ return [];
33
+ }
34
+ /**
35
+ * Finds the intersection points between an arc and a line segment.
36
+ * @param arc - The arc to check for intersections.
37
+ * @param from - Starting point of the line segment.
38
+ * @param to - Ending point of the line segment.
39
+ * @returns An array of intersection points.
40
+ */
41
+ static intersectArcWithLine(arc, from, to) {
42
+ return this.filterPointsWithinArc(this.findEllipseLineIntersections(arc.center, arc.radiusX, arc.radiusY, from, to), arc);
43
+ }
44
+ /**
45
+ * Finds the intersection point between two line segments.
46
+ * @param p1 - Starting point of the first line segment.
47
+ * @param p2 - Ending point of the first line segment.
48
+ * @param p3 - Starting point of the second line segment.
49
+ * @param p4 - Ending point of the second line segment.
50
+ * @returns The intersection point or null if there is no intersection.
51
+ */
52
+ static intersectLineSegments(p1, p2, p3, p4) {
53
+ const s1_x = p2.x - p1.x;
54
+ const s1_y = p2.y - p1.y;
55
+ const s2_x = p4.x - p3.x;
56
+ const s2_y = p4.y - p3.y;
57
+ const s = (-s1_y * (p1.x - p3.x) + s1_x * (p1.y - p3.y)) / (-s2_x * s1_y + s1_x * s2_y);
58
+ const t = (s2_x * (p1.y - p3.y) - s2_y * (p1.x - p3.x)) / (-s2_x * s1_y + s1_x * s2_y);
59
+ if (s >= 0 && s <= 1 && t >= 0 && t <= 1) {
60
+ return { x: p1.x + (t * s1_x), y: p1.y + (t * s1_y) };
61
+ }
62
+ return null;
63
+ }
64
+ /**
65
+ * Filters intersection points to retain only those within the given arc.
66
+ * @param points - The points to filter.
67
+ * @param arc - The arc to check against.
68
+ * @returns An array of points within the arc.
69
+ */
70
+ static filterPointsWithinArc(points, arc) {
71
+ let { center, startAngle, endAngle } = arc;
72
+ if (points.length === 0) {
73
+ return points;
74
+ }
75
+ if (endAngle < startAngle) {
76
+ [startAngle, endAngle] = [endAngle, startAngle];
77
+ }
78
+ if (startAngle < 0 || endAngle < 0) {
79
+ startAngle += 2.0 * Math.PI;
80
+ endAngle += 2.0 * Math.PI;
81
+ }
82
+ const filteredPoints = [];
83
+ for (const point of points) {
84
+ let angle = this.normalizeAngle(VectorExtensions.angle(VectorExtensions.initialize(1, 0), VectorExtensions.initialize(point.x - center.x, point.y - center.y)));
85
+ if (angle < startAngle) {
86
+ angle += 2.0 * Math.PI;
87
+ }
88
+ if (startAngle <= angle && angle <= endAngle) {
89
+ filteredPoints.push(point);
90
+ }
91
+ }
92
+ return filteredPoints;
93
+ }
94
+ /**
95
+ * Normalizes an angle to be within the range 0 to 2π.
96
+ * @param radians - The angle in radians.
97
+ * @returns The normalized angle.
98
+ */
99
+ static normalizeAngle(radians) {
100
+ const normal = radians % (2.0 * Math.PI);
101
+ return normal < 0.0 ? (normal + (2.0 * Math.PI)) : normal;
102
+ }
103
+ /**
104
+ * Finds the intersection points between an ellipse and a line segment.
105
+ * @param center - Center of the ellipse.
106
+ * @param radiusX - X radius of the ellipse.
107
+ * @param radiusY - Y radius of the ellipse.
108
+ * @param pointA - Starting point of the line segment.
109
+ * @param pointB - Ending point of the line segment.
110
+ * @returns An array of intersection points.
111
+ */
112
+ static findEllipseLineIntersections(center, radiusX, radiusY, pointA, pointB) {
113
+ const origin = VectorExtensions.initialize(pointA.x, pointA.y);
114
+ const direction = VectorExtensions.fromPoints(pointA, pointB);
115
+ const ellipseCenter = VectorExtensions.initialize(center.x, center.y);
116
+ const diff = VectorExtensions.subtract(origin, ellipseCenter);
117
+ const scaledDir = VectorExtensions.initialize(direction.x / (radiusX * radiusX), direction.y / (radiusY * radiusY));
118
+ const scaledDiff = VectorExtensions.initialize(diff.x / (radiusX * radiusX), diff.y / (radiusY * radiusY));
119
+ const a = VectorExtensions.dotProduct(direction, scaledDir);
120
+ const b = VectorExtensions.dotProduct(direction, scaledDiff);
121
+ const c = VectorExtensions.dotProduct(diff, scaledDiff) - 1.0;
122
+ const discriminant = b * b - a * c;
123
+ return discriminant < 0 ? [] : this.calculateIntersectionPoints(discriminant, a, b, pointA, pointB);
124
+ }
125
+ /**
126
+ * Calculates the intersection points based on the discriminant.
127
+ * @param discriminant - The discriminant value.
128
+ * @param a - Coefficient 'a' in the quadratic equation.
129
+ * @param b - Coefficient 'b' in the quadratic equation.
130
+ * @param pointA - Starting point of the line segment.
131
+ * @param pointB - Ending point of the line segment.
132
+ * @returns An array of intersection points.
133
+ */
134
+ static calculateIntersectionPoints(discriminant, a, b, pointA, pointB) {
135
+ const points = [];
136
+ if (discriminant > 0) {
137
+ const root = Math.sqrt(discriminant);
138
+ const t1 = (-b - root) / a;
139
+ const t2 = (-b + root) / a;
140
+ if (t1 >= 0 && t1 <= 1) {
141
+ points.push(PointExtensions.interpolatePoints(pointA, pointB, t1));
142
+ }
143
+ if (t2 >= 0 && t2 <= 1) {
144
+ points.push(PointExtensions.interpolatePoints(pointA, pointB, t2));
145
+ }
146
+ }
147
+ else {
148
+ const t = -b / a;
149
+ if (t >= 0 && t <= 1) {
150
+ points.push(PointExtensions.interpolatePoints(pointA, pointB, t));
151
+ }
152
+ }
153
+ return points;
154
+ }
155
+ }
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJzZWN0aW9uLWZpbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2ludGVyc2VjdGlvbnMvaW50ZXJzZWN0aW9uLWZpbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFnQixJQUFJLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzdFLE1BQU0sUUFBUSxHQUFtQix5QkFBeUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUUsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUU7WUFDOUIsSUFBSSxPQUFPLFlBQVksR0FBRyxFQUFFO2dCQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDNUIsT0FBTyxhQUFhLENBQUM7aUJBQ3RCO2FBQ0Y7aUJBQU0sSUFBSSxPQUFPLFlBQVksSUFBSSxFQUFFO2dCQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUYsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLE9BQU8sQ0FBRSxZQUFZLENBQUUsQ0FBQztpQkFDekI7YUFDRjtTQUNGO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssTUFBTSxDQUFDLG9CQUFvQixDQUFDLEdBQVMsRUFBRSxJQUFZLEVBQUUsRUFBVTtRQUNyRSxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FDL0IsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFDakYsR0FBRyxDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFVO1FBQ2pGLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV6QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDeEYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztRQUV2RixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDdkQ7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxNQUFnQixFQUFFLEdBQVM7UUFDOUQsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBRTNDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkIsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELElBQUksUUFBUSxHQUFHLFVBQVUsRUFBRTtZQUN6QixDQUFFLFVBQVUsRUFBRSxRQUFRLENBQUUsR0FBRyxDQUFFLFFBQVEsRUFBRSxVQUFVLENBQUUsQ0FBQztTQUNyRDtRQUVELElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLFVBQVUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1QixRQUFRLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDM0I7UUFFRCxNQUFNLGNBQWMsR0FBYSxFQUFFLENBQUM7UUFFcEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDMUIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FDN0IsZ0JBQWdCLENBQUMsS0FBSyxDQUNwQixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNqQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNwRSxDQUNGLENBQUM7WUFFRixJQUFJLEtBQUssR0FBRyxVQUFVLEVBQUU7Z0JBQ3RCLEtBQUssSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUN4QjtZQUVELElBQUksVUFBVSxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksUUFBUSxFQUFFO2dCQUM1QyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1NBQ0Y7UUFFRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBZTtRQUMzQyxNQUFNLE1BQU0sR0FBRyxPQUFPLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSyxNQUFNLENBQUMsNEJBQTRCLENBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsTUFBYyxFQUFFLE1BQWM7UUFDMUgsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUQsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDOUQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BILE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUUzRyxNQUFNLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVELE1BQU0sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0QsTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDOUQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxZQUFvQixFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsTUFBYyxFQUFFLE1BQWM7UUFDbkgsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBRTVCLElBQUksWUFBWSxHQUFHLENBQUMsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTNCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDcEU7WUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3BFO1NBQ0Y7YUFBTTtZQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25FO1NBQ0Y7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmMsIElBcmMsIElQb2ludCwgTGluZSwgUG9pbnRFeHRlbnNpb25zLCBWZWN0b3JFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElDb25uZWN0b3JTaGFwZSB9IGZyb20gJy4vaS1jb25uZWN0b3Itc2hhcGUnO1xuaW1wb3J0IHsgRkNvbm5lY3RvclNoYXBlRXh0ZW5zaW9ucyB9IGZyb20gJy4vZi1jb25uZWN0b3Itc2hhcGUuZXh0ZW5zaW9ucyc7XG5cbi8qKlxuICogVGhlIEludGVyc2VjdGlvbkZpbmRlciBjbGFzcyBpcyBkZXNpZ25lZCB0byBmaW5kIGludGVyc2VjdGlvbiBwb2ludHMgYmV0d2VlblxuICogbGluZSBzZWdtZW50cyBhbmQgdmFyaW91cyBnZW9tZXRyaWMgc2hhcGVzLiBDdXJyZW50bHksIGl0IHN1cHBvcnRzIHJlY3RhbmdsZXMsXG4gKiBjaXJjbGVzLCBhbmQgZWxsaXBzZXMuIEluIHRoZSBmdXR1cmUsIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgc2hhcGVzIHdpbGwgYmUgYWRkZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlcnNlY3Rpb25GaW5kZXIge1xuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgZ3VhcmFudGVlZCBpbnRlcnNlY3Rpb24gcG9pbnRzIGJldHdlZW4gYSBsaW5lIHNlZ21lbnQgYW5kIGEgcm91bmRlZCByZWN0YW5nbGUuXG4gICAqIEBwYXJhbSBmcm9tIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHRvIC0gRW5kaW5nIHBvaW50IG9mIHRoZSBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBzaGFwZSAtIFRoZSBzaGFwZSB0byBjaGVjayBmb3IgaW50ZXJzZWN0aW9ucy5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0SW50ZXJzZWN0aW9ucyhmcm9tOiBJUG9pbnQsIHRvOiBJUG9pbnQsIHNoYXBlOiBJQ29ubmVjdG9yU2hhcGUpOiBJUG9pbnRbXSB7XG4gICAgY29uc3Qgc2VnbWVudHM6IChBcmMgfCBMaW5lKVtdID0gRkNvbm5lY3RvclNoYXBlRXh0ZW5zaW9ucy5nZXRTZWdtZW50cyhzaGFwZSk7XG5cbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2Ygc2VnbWVudHMpIHtcbiAgICAgIGlmIChzZWdtZW50IGluc3RhbmNlb2YgQXJjKSB7XG4gICAgICAgIGNvbnN0IGludGVyc2VjdGlvbnMgPSB0aGlzLmludGVyc2VjdEFyY1dpdGhMaW5lKHNlZ21lbnQsIGZyb20sIHRvKTtcbiAgICAgICAgaWYgKGludGVyc2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBpbnRlcnNlY3Rpb25zO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNlZ21lbnQgaW5zdGFuY2VvZiBMaW5lKSB7XG4gICAgICAgIGNvbnN0IGludGVyc2VjdGlvbiA9IHRoaXMuaW50ZXJzZWN0TGluZVNlZ21lbnRzKGZyb20sIHRvLCBzZWdtZW50LnBvaW50MSwgc2VnbWVudC5wb2ludDIpO1xuICAgICAgICBpZiAoaW50ZXJzZWN0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIFsgaW50ZXJzZWN0aW9uIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGludGVyc2VjdGlvbiBwb2ludHMgYmV0d2VlbiBhbiBhcmMgYW5kIGEgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gYXJjIC0gVGhlIGFyYyB0byBjaGVjayBmb3IgaW50ZXJzZWN0aW9ucy5cbiAgICogQHBhcmFtIGZyb20gLSBTdGFydGluZyBwb2ludCBvZiB0aGUgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gdG8gLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGludGVyc2VjdEFyY1dpdGhMaW5lKGFyYzogSUFyYywgZnJvbTogSVBvaW50LCB0bzogSVBvaW50KTogSVBvaW50W10ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlclBvaW50c1dpdGhpbkFyYyhcbiAgICAgIHRoaXMuZmluZEVsbGlwc2VMaW5lSW50ZXJzZWN0aW9ucyhhcmMuY2VudGVyLCBhcmMucmFkaXVzWCwgYXJjLnJhZGl1c1ksIGZyb20sIHRvKSxcbiAgICAgIGFyY1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGludGVyc2VjdGlvbiBwb2ludCBiZXR3ZWVuIHR3byBsaW5lIHNlZ21lbnRzLlxuICAgKiBAcGFyYW0gcDEgLSBTdGFydGluZyBwb2ludCBvZiB0aGUgZmlyc3QgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gcDIgLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGZpcnN0IGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHAzIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIHNlY29uZCBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwNCAtIEVuZGluZyBwb2ludCBvZiB0aGUgc2Vjb25kIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgVGhlIGludGVyc2VjdGlvbiBwb2ludCBvciBudWxsIGlmIHRoZXJlIGlzIG5vIGludGVyc2VjdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGludGVyc2VjdExpbmVTZWdtZW50cyhwMTogSVBvaW50LCBwMjogSVBvaW50LCBwMzogSVBvaW50LCBwNDogSVBvaW50KTogSVBvaW50IHwgbnVsbCB7XG4gICAgY29uc3QgczFfeCA9IHAyLnggLSBwMS54O1xuICAgIGNvbnN0IHMxX3kgPSBwMi55IC0gcDEueTtcbiAgICBjb25zdCBzMl94ID0gcDQueCAtIHAzLng7XG4gICAgY29uc3QgczJfeSA9IHA0LnkgLSBwMy55O1xuXG4gICAgY29uc3QgcyA9ICgtczFfeSAqIChwMS54IC0gcDMueCkgKyBzMV94ICogKHAxLnkgLSBwMy55KSkgLyAoLXMyX3ggKiBzMV95ICsgczFfeCAqIHMyX3kpO1xuICAgIGNvbnN0IHQgPSAoczJfeCAqIChwMS55IC0gcDMueSkgLSBzMl95ICogKHAxLnggLSBwMy54KSkgLyAoLXMyX3ggKiBzMV95ICsgczFfeCAqIHMyX3kpO1xuXG4gICAgaWYgKHMgPj0gMCAmJiBzIDw9IDEgJiYgdCA+PSAwICYmIHQgPD0gMSkge1xuICAgICAgcmV0dXJuIHsgeDogcDEueCArICh0ICogczFfeCksIHk6IHAxLnkgKyAodCAqIHMxX3kpIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBpbnRlcnNlY3Rpb24gcG9pbnRzIHRvIHJldGFpbiBvbmx5IHRob3NlIHdpdGhpbiB0aGUgZ2l2ZW4gYXJjLlxuICAgKiBAcGFyYW0gcG9pbnRzIC0gVGhlIHBvaW50cyB0byBmaWx0ZXIuXG4gICAqIEBwYXJhbSBhcmMgLSBUaGUgYXJjIHRvIGNoZWNrIGFnYWluc3QuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBvaW50cyB3aXRoaW4gdGhlIGFyYy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGZpbHRlclBvaW50c1dpdGhpbkFyYyhwb2ludHM6IElQb2ludFtdLCBhcmM6IElBcmMpOiBJUG9pbnRbXSB7XG4gICAgbGV0IHsgY2VudGVyLCBzdGFydEFuZ2xlLCBlbmRBbmdsZSB9ID0gYXJjO1xuXG4gICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgaWYgKGVuZEFuZ2xlIDwgc3RhcnRBbmdsZSkge1xuICAgICAgWyBzdGFydEFuZ2xlLCBlbmRBbmdsZSBdID0gWyBlbmRBbmdsZSwgc3RhcnRBbmdsZSBdO1xuICAgIH1cblxuICAgIGlmIChzdGFydEFuZ2xlIDwgMCB8fCBlbmRBbmdsZSA8IDApIHtcbiAgICAgIHN0YXJ0QW5nbGUgKz0gMi4wICogTWF0aC5QSTtcbiAgICAgIGVuZEFuZ2xlICs9IDIuMCAqIE1hdGguUEk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHM6IElQb2ludFtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHBvaW50IG9mIHBvaW50cykge1xuICAgICAgbGV0IGFuZ2xlID0gdGhpcy5ub3JtYWxpemVBbmdsZShcbiAgICAgICAgVmVjdG9yRXh0ZW5zaW9ucy5hbmdsZShcbiAgICAgICAgICBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoMSwgMCksXG4gICAgICAgICAgVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKHBvaW50LnggLSBjZW50ZXIueCwgcG9pbnQueSAtIGNlbnRlci55KVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICBpZiAoYW5nbGUgPCBzdGFydEFuZ2xlKSB7XG4gICAgICAgIGFuZ2xlICs9IDIuMCAqIE1hdGguUEk7XG4gICAgICB9XG5cbiAgICAgIGlmIChzdGFydEFuZ2xlIDw9IGFuZ2xlICYmIGFuZ2xlIDw9IGVuZEFuZ2xlKSB7XG4gICAgICAgIGZpbHRlcmVkUG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZFBvaW50cztcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIGFuIGFuZ2xlIHRvIGJlIHdpdGhpbiB0aGUgcmFuZ2UgMCB0byAyz4AuXG4gICAqIEBwYXJhbSByYWRpYW5zIC0gVGhlIGFuZ2xlIGluIHJhZGlhbnMuXG4gICAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGFuZ2xlLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgbm9ybWFsaXplQW5nbGUocmFkaWFuczogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBub3JtYWwgPSByYWRpYW5zICUgKDIuMCAqIE1hdGguUEkpO1xuICAgIHJldHVybiBub3JtYWwgPCAwLjAgPyAobm9ybWFsICsgKDIuMCAqIE1hdGguUEkpKSA6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cyBiZXR3ZWVuIGFuIGVsbGlwc2UgYW5kIGEgbGluZSBzZWdtZW50LlxuICAgKiBAcGFyYW0gY2VudGVyIC0gQ2VudGVyIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcmFkaXVzWCAtIFggcmFkaXVzIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcmFkaXVzWSAtIFkgcmFkaXVzIG9mIHRoZSBlbGxpcHNlLlxuICAgKiBAcGFyYW0gcG9pbnRBIC0gU3RhcnRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHBhcmFtIHBvaW50QiAtIEVuZGluZyBwb2ludCBvZiB0aGUgbGluZSBzZWdtZW50LlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBpbnRlcnNlY3Rpb24gcG9pbnRzLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZmluZEVsbGlwc2VMaW5lSW50ZXJzZWN0aW9ucyhjZW50ZXI6IElQb2ludCwgcmFkaXVzWDogbnVtYmVyLCByYWRpdXNZOiBudW1iZXIsIHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IElQb2ludFtdIHtcbiAgICBjb25zdCBvcmlnaW4gPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUocG9pbnRBLngsIHBvaW50QS55KTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBWZWN0b3JFeHRlbnNpb25zLmZyb21Qb2ludHMocG9pbnRBLCBwb2ludEIpO1xuICAgIGNvbnN0IGVsbGlwc2VDZW50ZXIgPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoY2VudGVyLngsIGNlbnRlci55KTtcbiAgICBjb25zdCBkaWZmID0gVmVjdG9yRXh0ZW5zaW9ucy5zdWJ0cmFjdChvcmlnaW4sIGVsbGlwc2VDZW50ZXIpO1xuICAgIGNvbnN0IHNjYWxlZERpciA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaXJlY3Rpb24ueCAvIChyYWRpdXNYICogcmFkaXVzWCksIGRpcmVjdGlvbi55IC8gKHJhZGl1c1kgKiByYWRpdXNZKSk7XG4gICAgY29uc3Qgc2NhbGVkRGlmZiA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZShkaWZmLnggLyAocmFkaXVzWCAqIHJhZGl1c1gpLCBkaWZmLnkgLyAocmFkaXVzWSAqIHJhZGl1c1kpKTtcblxuICAgIGNvbnN0IGEgPSBWZWN0b3JFeHRlbnNpb25zLmRvdFByb2R1Y3QoZGlyZWN0aW9uLCBzY2FsZWREaXIpO1xuICAgIGNvbnN0IGIgPSBWZWN0b3JFeHRlbnNpb25zLmRvdFByb2R1Y3QoZGlyZWN0aW9uLCBzY2FsZWREaWZmKTtcbiAgICBjb25zdCBjID0gVmVjdG9yRXh0ZW5zaW9ucy5kb3RQcm9kdWN0KGRpZmYsIHNjYWxlZERpZmYpIC0gMS4wO1xuICAgIGNvbnN0IGRpc2NyaW1pbmFudCA9IGIgKiBiIC0gYSAqIGM7XG5cbiAgICByZXR1cm4gZGlzY3JpbWluYW50IDwgMCA/IFtdIDogdGhpcy5jYWxjdWxhdGVJbnRlcnNlY3Rpb25Qb2ludHMoZGlzY3JpbWluYW50LCBhLCBiLCBwb2ludEEsIHBvaW50Qik7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgaW50ZXJzZWN0aW9uIHBvaW50cyBiYXNlZCBvbiB0aGUgZGlzY3JpbWluYW50LlxuICAgKiBAcGFyYW0gZGlzY3JpbWluYW50IC0gVGhlIGRpc2NyaW1pbmFudCB2YWx1ZS5cbiAgICogQHBhcmFtIGEgLSBDb2VmZmljaWVudCAnYScgaW4gdGhlIHF1YWRyYXRpYyBlcXVhdGlvbi5cbiAgICogQHBhcmFtIGIgLSBDb2VmZmljaWVudCAnYicgaW4gdGhlIHF1YWRyYXRpYyBlcXVhdGlvbi5cbiAgICogQHBhcmFtIHBvaW50QSAtIFN0YXJ0aW5nIHBvaW50IG9mIHRoZSBsaW5lIHNlZ21lbnQuXG4gICAqIEBwYXJhbSBwb2ludEIgLSBFbmRpbmcgcG9pbnQgb2YgdGhlIGxpbmUgc2VnbWVudC5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgaW50ZXJzZWN0aW9uIHBvaW50cy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGNhbGN1bGF0ZUludGVyc2VjdGlvblBvaW50cyhkaXNjcmltaW5hbnQ6IG51bWJlciwgYTogbnVtYmVyLCBiOiBudW1iZXIsIHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IElQb2ludFtdIHtcbiAgICBjb25zdCBwb2ludHM6IElQb2ludFtdID0gW107XG5cbiAgICBpZiAoZGlzY3JpbWluYW50ID4gMCkge1xuICAgICAgY29uc3Qgcm9vdCA9IE1hdGguc3FydChkaXNjcmltaW5hbnQpO1xuICAgICAgY29uc3QgdDEgPSAoLWIgLSByb290KSAvIGE7XG4gICAgICBjb25zdCB0MiA9ICgtYiArIHJvb3QpIC8gYTtcblxuICAgICAgaWYgKHQxID49IDAgJiYgdDEgPD0gMSkge1xuICAgICAgICBwb2ludHMucHVzaChQb2ludEV4dGVuc2lvbnMuaW50ZXJwb2xhdGVQb2ludHMocG9pbnRBLCBwb2ludEIsIHQxKSk7XG4gICAgICB9XG4gICAgICBpZiAodDIgPj0gMCAmJiB0MiA8PSAxKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKFBvaW50RXh0ZW5zaW9ucy5pbnRlcnBvbGF0ZVBvaW50cyhwb2ludEEsIHBvaW50QiwgdDIpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdCA9IC1iIC8gYTtcbiAgICAgIGlmICh0ID49IDAgJiYgdCA8PSAxKSB7XG4gICAgICAgIHBvaW50cy5wdXNoKFBvaW50RXh0ZW5zaW9ucy5pbnRlcnBvbGF0ZVBvaW50cyhwb2ludEEsIHBvaW50QiwgdCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwb2ludHM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { Point } from '@foblex/core';
2
+ import { EFConnectorShape } from '../e-f-connector-shape';
3
+ export class RoundedRect {
4
+ constructor(x = 0, y = 0, width = 0, height = 0, radius1 = 0, radius2 = 0, radius3 = 0, radius4 = 0) {
5
+ this.x = x;
6
+ this.y = y;
7
+ this.width = width;
8
+ this.height = height;
9
+ this.radius1 = radius1;
10
+ this.radius2 = radius2;
11
+ this.radius3 = radius3;
12
+ this.radius4 = radius4;
13
+ this.type = EFConnectorShape.ROUNDED_RECT;
14
+ this.gravityCenter = { x: 0, y: 0 };
15
+ this.gravityCenter = this.calculateGravityCenter(this);
16
+ }
17
+ calculateGravityCenter(rect) {
18
+ return new Point(rect.x + rect.width / 2, rect.y + rect.height / 2);
19
+ }
20
+ static fromRect(rect) {
21
+ return new RoundedRect(rect.x, rect.y, rect.width, rect.height);
22
+ }
23
+ static fromRoundedRect(rect) {
24
+ return new RoundedRect(rect.x, rect.y, rect.width, rect.height, rect.radius1, rect.radius2, rect.radius3, rect.radius4);
25
+ }
26
+ static fromElement(element, fBrowser) {
27
+ const { x, y, width, height } = element.getBoundingClientRect();
28
+ return this.setRadiusFromElement(new RoundedRect(x, y, width, height), element, fBrowser);
29
+ }
30
+ static setRadiusFromElement(rect, element, fBrowser) {
31
+ const data = fBrowser.window.getComputedStyle(element);
32
+ rect.radius1 = fBrowser.toPixels(data.borderTopLeftRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
33
+ rect.radius2 = fBrowser.toPixels(data.borderTopRightRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
34
+ rect.radius3 = fBrowser.toPixels(data.borderBottomRightRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
35
+ rect.radius4 = fBrowser.toPixels(data.borderBottomLeftRadius, element.clientWidth, element.clientHeight, data.fontSize) || 0;
36
+ return rect;
37
+ }
38
+ addPoint(point) {
39
+ const copy = RoundedRect.fromRoundedRect(this);
40
+ copy.x += point.x;
41
+ copy.y += point.y;
42
+ copy.gravityCenter = this.calculateGravityCenter(copy);
43
+ return copy;
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmRlZC1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vaW50ZXJzZWN0aW9ucy9yb3VuZGVkLXJlY3Qvcm91bmRlZC1yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUIsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzFELE1BQU0sT0FBTyxXQUFXO0lBTXRCLFlBQ1MsSUFBWSxDQUFDLEVBQ2IsSUFBWSxDQUFDLEVBQ2IsUUFBZ0IsQ0FBQyxFQUNqQixTQUFpQixDQUFDLEVBQ2xCLFVBQWtCLENBQUMsRUFDbkIsVUFBa0IsQ0FBQyxFQUNuQixVQUFrQixDQUFDLEVBQ25CLFVBQWtCLENBQUM7UUFQbkIsTUFBQyxHQUFELENBQUMsQ0FBWTtRQUNiLE1BQUMsR0FBRCxDQUFDLENBQVk7UUFDYixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQVpaLFNBQUksR0FBcUIsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1FBRWhFLGtCQUFhLEdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQVk1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsSUFBa0I7UUFDL0MsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFXO1FBQ2hDLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLElBQWtCO1FBQzlDLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUgsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBaUMsRUFBRSxRQUF3QjtRQUNuRixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDaEUsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBaUIsRUFBRSxPQUFpQyxFQUFFLFFBQXdCO1FBQ2hILE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxSCxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNILElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3SCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUMzQixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUm91bmRlZFJlY3QgfSBmcm9tICcuL2ktcm91bmRlZC1yZWN0JztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIFBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEVGQ29ubmVjdG9yU2hhcGUgfSBmcm9tICcuLi9lLWYtY29ubmVjdG9yLXNoYXBlJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbmV4cG9ydCBjbGFzcyBSb3VuZGVkUmVjdCBpbXBsZW1lbnRzIElSb3VuZGVkUmVjdCB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEVGQ29ubmVjdG9yU2hhcGUgPSBFRkNvbm5lY3RvclNoYXBlLlJPVU5ERURfUkVDVDtcblxuICBwdWJsaWMgZ3Jhdml0eUNlbnRlcjogSVBvaW50ID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHg6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHk6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHdpZHRoOiBudW1iZXIgPSAwLFxuICAgIHB1YmxpYyBoZWlnaHQ6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czE6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czI6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czM6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJhZGl1czQ6IG51bWJlciA9IDBcbiAgKSB7XG4gICAgdGhpcy5ncmF2aXR5Q2VudGVyID0gdGhpcy5jYWxjdWxhdGVHcmF2aXR5Q2VudGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVHcmF2aXR5Q2VudGVyKHJlY3Q6IElSb3VuZGVkUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIG5ldyBQb2ludChyZWN0LnggKyByZWN0LndpZHRoIC8gMiwgcmVjdC55ICsgcmVjdC5oZWlnaHQgLyAyKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJlY3QocmVjdDogSVJlY3QpOiBSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChyZWN0LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tUm91bmRlZFJlY3QocmVjdDogSVJvdW5kZWRSZWN0KTogUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiBuZXcgUm91bmRlZFJlY3QocmVjdC54LCByZWN0LnksIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0LCByZWN0LnJhZGl1czEsIHJlY3QucmFkaXVzMiwgcmVjdC5yYWRpdXMzLCByZWN0LnJhZGl1czQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQsIGZCcm93c2VyOiBCcm93c2VyU2VydmljZSk6IFJvdW5kZWRSZWN0IHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHRoaXMuc2V0UmFkaXVzRnJvbUVsZW1lbnQobmV3IFJvdW5kZWRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpLCBlbGVtZW50LCBmQnJvd3Nlcik7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBzZXRSYWRpdXNGcm9tRWxlbWVudChyZWN0OiBSb3VuZGVkUmVjdCwgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LCBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2UpOiBSb3VuZGVkUmVjdCB7XG4gICAgY29uc3QgZGF0YSA9IGZCcm93c2VyLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIHJlY3QucmFkaXVzMSA9IGZCcm93c2VyLnRvUGl4ZWxzKGRhdGEuYm9yZGVyVG9wTGVmdFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMyID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJUb3BSaWdodFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXMzID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJCb3R0b21SaWdodFJhZGl1cywgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGRhdGEuZm9udFNpemUpIHx8IDA7XG4gICAgcmVjdC5yYWRpdXM0ID0gZkJyb3dzZXIudG9QaXhlbHMoZGF0YS5ib3JkZXJCb3R0b21MZWZ0UmFkaXVzLCBlbGVtZW50LmNsaWVudFdpZHRoLCBlbGVtZW50LmNsaWVudEhlaWdodCwgZGF0YS5mb250U2l6ZSkgfHwgMDtcbiAgICByZXR1cm4gcmVjdDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRQb2ludChwb2ludDogSVBvaW50KTogUm91bmRlZFJlY3Qge1xuICAgIGNvbnN0IGNvcHkgPSBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcyk7XG4gICAgY29weS54ICs9IHBvaW50Lng7XG4gICAgY29weS55ICs9IHBvaW50Lnk7XG4gICAgY29weS5ncmF2aXR5Q2VudGVyID0gdGhpcy5jYWxjdWxhdGVHcmF2aXR5Q2VudGVyKGNvcHkpO1xuICAgIHJldHVybiBjb3B5O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,76 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { FExecutionRegister } from '../../infrastructure';
4
+ import { IsConnectionUnderNodeRequest } from './is-connection-under-node.request';
5
+ import { NodeDragHandler } from '../../f-draggable';
6
+ import { GetElementRectInFlowRequest } from '../get-element-rect-in-flow';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../f-storage";
9
+ import * as i2 from "../../f-draggable";
10
+ import * as i3 from "../../infrastructure";
11
+ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
12
+ constructor(fComponentsStore, fDraggableDataContext, fMediator) {
13
+ this.fComponentsStore = fComponentsStore;
14
+ this.fDraggableDataContext = fDraggableDataContext;
15
+ this.fMediator = fMediator;
16
+ }
17
+ get transform() {
18
+ return this.fComponentsStore.fCanvas.transform;
19
+ }
20
+ get flowHost() {
21
+ return this.fComponentsStore.fFlow.hostElement;
22
+ }
23
+ handle() {
24
+ const isValid = this.isValidRequest();
25
+ if (!isValid) {
26
+ return;
27
+ }
28
+ const fNode = this.fDraggableDataContext.draggableItems[0].fNode;
29
+ const outputsOfNode = this.getOutputsForNode(fNode);
30
+ const inputsOfNode = this.getInputsForNode(fNode);
31
+ const isCantBeConnectedByOutput = outputsOfNode.some((x) => !x.canBeConnected);
32
+ const isCantBeConnectedByInput = this.fComponentsStore.fConnections.some((x) => {
33
+ return inputsOfNode.find((input) => input.id === x.fInputId);
34
+ });
35
+ if (!isCantBeConnectedByInput && outputsOfNode.length && !isCantBeConnectedByOutput && inputsOfNode.length) {
36
+ const output = outputsOfNode[0];
37
+ const input = inputsOfNode[0];
38
+ // const outgoingConnections = this.getOutgoingConnectionsHandler.handle([ output ]);
39
+ // const incomingConnections = this.getIncomingConnectionsHandler.handle([ input ]);
40
+ // if (outgoingConnections.length === 0 && incomingConnections.length === 0) {
41
+ // const connections = this.findConnectionsUnderNode(fNode);
42
+ // if (connections.length) {
43
+ // //TODO: need to implement
44
+ // }
45
+ // }
46
+ }
47
+ }
48
+ isValidRequest() {
49
+ const result = this.fDraggableDataContext.draggableItems.length === 1 &&
50
+ this.fDraggableDataContext.draggableItems[0] instanceof NodeDragHandler;
51
+ return result;
52
+ }
53
+ getOutputsForNode(node) {
54
+ return this.fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
55
+ }
56
+ getInputsForNode(node) {
57
+ return this.fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
58
+ }
59
+ findConnectionsUnderNode(node) {
60
+ const nodeRect = this.fMediator.send(new GetElementRectInFlowRequest(node.hostElement));
61
+ return this.fComponentsStore.fConnections.filter((x) => {
62
+ // const intersection = [];// RectExtensions.intersectionWithVector(nodeRect, x.line.point1, x.line.point2, 0, 0, 0, 0);
63
+ return ([]).length > 0;
64
+ });
65
+ }
66
+ };
67
+ IsConnectionUnderNodeExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsConnectionUnderNodeExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable });
68
+ IsConnectionUnderNodeExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsConnectionUnderNodeExecution });
69
+ IsConnectionUnderNodeExecution = __decorate([
70
+ FExecutionRegister(IsConnectionUnderNodeRequest)
71
+ ], IsConnectionUnderNodeExecution);
72
+ export { IsConnectionUnderNodeExecution };
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IsConnectionUnderNodeExecution, decorators: [{
74
+ type: Injectable
75
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FFlowMediator }]; } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVsRixPQUFPLEVBQXlCLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTNFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztJQUk3RCw4QkFBOEIsU0FBOUIsOEJBQThCO0lBVXpDLFlBQ1ksZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUF3QjtRQUZ4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUlwQyxDQUFDO0lBZkQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFXTSxNQUFNO1FBRVgsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPO1NBQ1I7UUFFRCxNQUFNLEtBQUssR0FBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFFLENBQUMsQ0FBc0IsQ0FBQyxLQUFLLENBQUM7UUFFeEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsRCxNQUFNLHlCQUF5QixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRS9FLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM3RSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHdCQUF3QixJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQzFHLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBRSxDQUFDLENBQUUsQ0FBQztZQUNsQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUUsQ0FBQyxDQUFFLENBQUM7WUFDaEMscUZBQXFGO1lBQ3JGLG9GQUFvRjtZQUNwRiw4RUFBOEU7WUFDOUUsOERBQThEO1lBQzlELDhCQUE4QjtZQUM5QixnQ0FBZ0M7WUFDaEMsTUFBTTtZQUNOLElBQUk7U0FDTDtJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sTUFBTSxHQUNSLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDdEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBRSxDQUFDLENBQUUsWUFBWSxlQUFlLENBQUM7UUFFOUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQWU7UUFDdkMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBZTtRQUN0QyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxJQUFlO1FBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDL0YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RELHdIQUF3SDtZQUN2SCxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFBOzRIQTFFWSw4QkFBOEI7Z0lBQTlCLDhCQUE4QjtBQUE5Qiw4QkFBOEI7SUFEMUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUM7R0FDcEMsOEJBQThCLENBMEUxQztTQTFFWSw4QkFBOEI7NEZBQTlCLDhCQUE4QjtrQkFGMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRkZsb3dNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJy4uLy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QgfSBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0LCBOb2RlRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCB9IGZyb20gJy4uL2dldC1lbGVtZW50LXJlY3QtaW4tZmxvdyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoSXNDb25uZWN0aW9uVW5kZXJOb2RlUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPElzQ29ubmVjdGlvblVuZGVyTm9kZVJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZGbG93IS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICAgICAgLy8gcHJpdmF0ZSBnZXRPdXRnb2luZ0Nvbm5lY3Rpb25zSGFuZGxlcjogR2V0T3V0Z29pbmdDb25uZWN0aW9uc0hhbmRsZXIsXG4gICAgICAvLyBwcml2YXRlIGdldEluY29taW5nQ29ubmVjdGlvbnNIYW5kbGVyOiBHZXRJbmNvbWluZ0Nvbm5lY3Rpb25zSGFuZGxlclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoKTogdm9pZCB7XG5cbiAgICBjb25zdCBpc1ZhbGlkID0gdGhpcy5pc1ZhbGlkUmVxdWVzdCgpO1xuICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGZOb2RlID0gKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zWyAwIF0gYXMgTm9kZURyYWdIYW5kbGVyKS5mTm9kZTtcblxuICAgIGNvbnN0IG91dHB1dHNPZk5vZGUgPSB0aGlzLmdldE91dHB1dHNGb3JOb2RlKGZOb2RlKTtcbiAgICBjb25zdCBpbnB1dHNPZk5vZGUgPSB0aGlzLmdldElucHV0c0Zvck5vZGUoZk5vZGUpO1xuXG4gICAgY29uc3QgaXNDYW50QmVDb25uZWN0ZWRCeU91dHB1dCA9IG91dHB1dHNPZk5vZGUuc29tZSgoeCkgPT4gIXguY2FuQmVDb25uZWN0ZWQpO1xuXG4gICAgY29uc3QgaXNDYW50QmVDb25uZWN0ZWRCeUlucHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucy5zb21lKCh4KSA9PiB7XG4gICAgICByZXR1cm4gaW5wdXRzT2ZOb2RlLmZpbmQoKGlucHV0KSA9PiBpbnB1dC5pZCA9PT0geC5mSW5wdXRJZCk7XG4gICAgfSk7XG5cbiAgICBpZiAoIWlzQ2FudEJlQ29ubmVjdGVkQnlJbnB1dCAmJiBvdXRwdXRzT2ZOb2RlLmxlbmd0aCAmJiAhaXNDYW50QmVDb25uZWN0ZWRCeU91dHB1dCAmJiBpbnB1dHNPZk5vZGUubGVuZ3RoKSB7XG4gICAgICBjb25zdCBvdXRwdXQgPSBvdXRwdXRzT2ZOb2RlWyAwIF07XG4gICAgICBjb25zdCBpbnB1dCA9IGlucHV0c09mTm9kZVsgMCBdO1xuICAgICAgLy8gY29uc3Qgb3V0Z29pbmdDb25uZWN0aW9ucyA9IHRoaXMuZ2V0T3V0Z29pbmdDb25uZWN0aW9uc0hhbmRsZXIuaGFuZGxlKFsgb3V0cHV0IF0pO1xuICAgICAgLy8gY29uc3QgaW5jb21pbmdDb25uZWN0aW9ucyA9IHRoaXMuZ2V0SW5jb21pbmdDb25uZWN0aW9uc0hhbmRsZXIuaGFuZGxlKFsgaW5wdXQgXSk7XG4gICAgICAvLyBpZiAob3V0Z29pbmdDb25uZWN0aW9ucy5sZW5ndGggPT09IDAgJiYgaW5jb21pbmdDb25uZWN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vICAgY29uc3QgY29ubmVjdGlvbnMgPSB0aGlzLmZpbmRDb25uZWN0aW9uc1VuZGVyTm9kZShmTm9kZSk7XG4gICAgICAvLyAgIGlmIChjb25uZWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgIC8vICAgICAvL1RPRE86IG5lZWQgdG8gaW1wbGVtZW50XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRSZXF1ZXN0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlc3VsdCA9XG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtc1sgMCBdIGluc3RhbmNlb2YgTm9kZURyYWdIYW5kbGVyO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZENvbm5lY3Rpb25zVW5kZXJOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICBjb25zdCBub2RlUmVjdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXRFbGVtZW50UmVjdEluRmxvd1JlcXVlc3Qobm9kZS5ob3N0RWxlbWVudCkpO1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLmZpbHRlcigoeCkgPT4ge1xuICAgICAvLyBjb25zdCBpbnRlcnNlY3Rpb24gPSBbXTsvLyBSZWN0RXh0ZW5zaW9ucy5pbnRlcnNlY3Rpb25XaXRoVmVjdG9yKG5vZGVSZWN0LCB4LmxpbmUucG9pbnQxLCB4LmxpbmUucG9pbnQyLCAwLCAwLCAwLCAwKTtcbiAgICAgIHJldHVybiAoW10pLmxlbmd0aCA+IDBcbiAgICB9KTtcbiAgfVxufVxuLy8gQEluamVjdGFibGUoKVxuLy8gZXhwb3J0IGNsYXNzIEdldEluY29taW5nQ29ubmVjdGlvbnNIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8RkNvbm5lY3RvckJhc2VbXSwgRkNvbm5lY3Rpb25CYXNlW10+IHtcbi8vXG4vLyAgIHByaXZhdGUgZ2V0IGZDb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4vLyAgICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnM7XG4vLyAgIH1cbi8vXG4vLyAgIGNvbnN0cnVjdG9yKFxuLy8gICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbi8vICAgKSB7XG4vLyAgIH1cbi8vXG4vLyAgIHB1YmxpYyBoYW5kbGUoaW5wdXRzOiBGQ29ubmVjdG9yQmFzZVtdKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuLy8gICAgIGNvbnN0IGlucHV0c0lkcyA9IGlucHV0cy5tYXAoKHgpID0+IHguaWQpO1xuLy8gICAgIHJldHVybiB0aGlzLmZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+IHtcbi8vICAgICAgIHJldHVybiBpbnB1dHNJZHMuaW5jbHVkZXMoeC5mSW5wdXRJZCk7XG4vLyAgICAgfSkhO1xuLy8gICB9XG4vLyB9XG4vLyBASW5qZWN0YWJsZSgpXG4vLyBleHBvcnQgY2xhc3MgR2V0T3V0Z29pbmdDb25uZWN0aW9uc0hhbmRsZXIgaW1wbGVtZW50cyBJSGFuZGxlcjxGQ29ubmVjdG9yQmFzZVtdLCBGQ29ubmVjdGlvbkJhc2VbXT4ge1xuLy9cbi8vICAgcHJpdmF0ZSBnZXQgZkNvbm5lY3Rpb25zKCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbi8vICAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucztcbi8vICAgfVxuLy9cbi8vICAgY29uc3RydWN0b3IoXG4vLyAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuLy8gICApIHtcbi8vICAgfVxuLy9cbi8vICAgcHVibGljIGhhbmRsZShvdXRwdXRzOiBGQ29ubmVjdG9yQmFzZVtdKTogRkNvbm5lY3Rpb25CYXNlW10ge1xuLy8gICAgIGNvbnN0IG91dHB1dHNJZHMgPSBvdXRwdXRzLm1hcCgoeCkgPT4geC5pZCk7XG4vLyAgICAgcmV0dXJuIHRoaXMuZkNvbm5lY3Rpb25zLmZpbHRlcigoeCkgPT4ge1xuLy8gICAgICAgcmV0dXJuIG91dHB1dHNJZHMuaW5jbHVkZXMoeC5mT3V0cHV0SWQpO1xuLy8gICAgIH0pITtcbi8vICAgfVxuLy8gfVxuIl19
@@ -0,0 +1,60 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { RedrawConnectionsRequest } from './redraw-connections-request';
4
+ import { GetConnectionLineRequest } from '../get-connection-line';
5
+ import { FExecutionRegister } from '../../infrastructure';
6
+ import { GetElementRectInFlowRequest } from '../get-element-rect-in-flow';
7
+ import { CreateConnectionMarkersRequest } from '../create-connection-markers';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../f-storage";
10
+ import * as i2 from "../../infrastructure";
11
+ let RedrawConnectionsExecution = class RedrawConnectionsExecution {
12
+ constructor(fComponentsStore, fMediator) {
13
+ this.fComponentsStore = fComponentsStore;
14
+ this.fMediator = fMediator;
15
+ }
16
+ handle(request) {
17
+ this.resetConnectors();
18
+ if (this.fComponentsStore.fTempConnection) {
19
+ this.setMarkers(this.fComponentsStore.fTempConnection);
20
+ }
21
+ this.fComponentsStore.fConnections.forEach((connection) => {
22
+ const output = this.fComponentsStore.fOutputs.find((x) => x.id === connection.fOutputId);
23
+ const input = this.fComponentsStore.fInputs.find((x) => x.id === connection.fInputId);
24
+ if (output && input) {
25
+ this.setupConnection(output, input, connection);
26
+ }
27
+ });
28
+ }
29
+ resetConnectors() {
30
+ this.fComponentsStore.fOutputs.forEach((output) => output.setConnected(false));
31
+ this.fComponentsStore.fInputs.forEach((input) => input.setConnected(false));
32
+ }
33
+ setupConnection(output, input, connection) {
34
+ output.setConnected(true);
35
+ input.setConnected(true);
36
+ const line = this.getLine(output, input, connection);
37
+ this.setMarkers(connection);
38
+ connection.setLine(line.point1, output.fConnectableSide, line.point2, input.fConnectableSide);
39
+ connection.initialize();
40
+ connection.isSelected() ? connection.select() : null;
41
+ }
42
+ getLine(output, input, connection) {
43
+ const outputRect = this.fMediator.send(new GetElementRectInFlowRequest(output.hostElement));
44
+ const inputRect = this.fMediator.send(new GetElementRectInFlowRequest(input.hostElement));
45
+ return this.fMediator.send(new GetConnectionLineRequest(outputRect, inputRect, connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
46
+ }
47
+ setMarkers(connection) {
48
+ this.fMediator.send(new CreateConnectionMarkersRequest(connection));
49
+ }
50
+ };
51
+ RedrawConnectionsExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RedrawConnectionsExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ RedrawConnectionsExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RedrawConnectionsExecution });
53
+ RedrawConnectionsExecution = __decorate([
54
+ FExecutionRegister(RedrawConnectionsRequest)
55
+ ], RedrawConnectionsExecution);
56
+ export { RedrawConnectionsExecution };
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RedrawConnectionsExecution, decorators: [{
58
+ type: Injectable
59
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FFlowMediator }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3JlZHJhdy1jb25uZWN0aW9ucy9yZWRyYXctY29ubmVjdGlvbnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztJQUtqRSwwQkFBMEIsU0FBMUIsMEJBQTBCO0lBRXJDLFlBQ21CLGdCQUFrQyxFQUMzQyxTQUF3QjtRQURmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDM0MsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUVsQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6RixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdEYsSUFBSSxNQUFNLElBQUksS0FBSyxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDakQ7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQXNCLEVBQUUsS0FBcUIsRUFBRSxVQUEyQjtRQUNoRyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTlGLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QixVQUFVLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUM7SUFFTyxPQUFPLENBQUMsTUFBc0IsRUFBRSxLQUFxQixFQUFFLFVBQTJCO1FBQ3hGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFrQixJQUFJLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzdHLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFrQixJQUFJLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzNHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSx3QkFBd0IsQ0FDbkQsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLENBQUMsU0FBUyxFQUNwQixNQUFNLENBQUMsZ0JBQWdCLEVBQ3ZCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDdkIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FBQyxVQUEyQjtRQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDakIsSUFBSSw4QkFBOEIsQ0FBQyxVQUFVLENBQUMsQ0FDL0MsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFBO3dIQTdEWSwwQkFBMEI7NEhBQTFCLDBCQUEwQjtBQUExQiwwQkFBMEI7SUFEdEMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsMEJBQTBCLENBNkR0QztTQTdEWSwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFGdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdCB9IGZyb20gJy4vcmVkcmF3LWNvbm5lY3Rpb25zLXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QgfSBmcm9tICcuLi9nZXQtY29ubmVjdGlvbi1saW5lJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZGbG93TWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICcuLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBHZXRFbGVtZW50UmVjdEluRmxvd1JlcXVlc3QgfSBmcm9tICcuLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cnO1xuaW1wb3J0IHsgQ3JlYXRlQ29ubmVjdGlvbk1hcmtlcnNSZXF1ZXN0IH0gZnJvbSAnLi4vY3JlYXRlLWNvbm5lY3Rpb24tbWFya2Vycyc7XG5pbXBvcnQgeyBJQ29ubmVjdG9yU2hhcGUgfSBmcm9tICcuLi9pbnRlcnNlY3Rpb25zJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgUmVkcmF3Q29ubmVjdGlvbnNFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRDb25uZWN0b3JzKCk7XG5cbiAgICBpZiAodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZUZW1wQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5zZXRNYXJrZXJzKHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24pO1xuICAgIH1cblxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMuZm9yRWFjaCgoY29ubmVjdGlvbikgPT4ge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5pZCA9PT0gY29ubmVjdGlvbi5mSW5wdXRJZCk7XG4gICAgICBpZiAob3V0cHV0ICYmIGlucHV0KSB7XG4gICAgICAgIHRoaXMuc2V0dXBDb25uZWN0aW9uKG91dHB1dCwgaW5wdXQsIGNvbm5lY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENvbm5lY3RvcnMoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZvckVhY2goKG91dHB1dCkgPT4gb3V0cHV0LnNldENvbm5lY3RlZChmYWxzZSkpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiBpbnB1dC5zZXRDb25uZWN0ZWQoZmFsc2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDb25uZWN0aW9uKG91dHB1dDogRkNvbm5lY3RvckJhc2UsIGlucHV0OiBGQ29ubmVjdG9yQmFzZSwgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKTogdm9pZCB7XG4gICAgb3V0cHV0LnNldENvbm5lY3RlZCh0cnVlKTtcbiAgICBpbnB1dC5zZXRDb25uZWN0ZWQodHJ1ZSk7XG5cbiAgICBjb25zdCBsaW5lID0gdGhpcy5nZXRMaW5lKG91dHB1dCwgaW5wdXQsIGNvbm5lY3Rpb24pO1xuXG4gICAgdGhpcy5zZXRNYXJrZXJzKGNvbm5lY3Rpb24pO1xuXG4gICAgY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUucG9pbnQxLCBvdXRwdXQuZkNvbm5lY3RhYmxlU2lkZSwgbGluZS5wb2ludDIsIGlucHV0LmZDb25uZWN0YWJsZVNpZGUpO1xuXG4gICAgY29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gICAgY29ubmVjdGlvbi5pc1NlbGVjdGVkKCkgPyBjb25uZWN0aW9uLnNlbGVjdCgpIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGluZShvdXRwdXQ6IEZDb25uZWN0b3JCYXNlLCBpbnB1dDogRkNvbm5lY3RvckJhc2UsIGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IElMaW5lIHtcbiAgICBjb25zdCBvdXRwdXRSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yU2hhcGU+KG5ldyBHZXRFbGVtZW50UmVjdEluRmxvd1JlcXVlc3Qob3V0cHV0Lmhvc3RFbGVtZW50KSk7XG4gICAgY29uc3QgaW5wdXRSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yU2hhcGU+KG5ldyBHZXRFbGVtZW50UmVjdEluRmxvd1JlcXVlc3QoaW5wdXQuaG9zdEVsZW1lbnQpKTtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgICBvdXRwdXRSZWN0LFxuICAgICAgICBpbnB1dFJlY3QsXG4gICAgICAgIGNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICBvdXRwdXQuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgaW5wdXQuZkNvbm5lY3RhYmxlU2lkZVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldE1hcmtlcnMoY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKTogdm9pZCB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChcbiAgICAgIG5ldyBDcmVhdGVDb25uZWN0aW9uTWFya2Vyc1JlcXVlc3QoY29ubmVjdGlvbilcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { __decorate } from "tslib";
2
+ import { SelectRequest } from './select.request';
3
+ import { Injectable } from '@angular/core';
4
+ import { FExecutionRegister } from '../../infrastructure';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../f-storage";
7
+ import * as i2 from "../../f-draggable";
8
+ let SelectExecution = class SelectExecution {
9
+ constructor(fDataContext, fDraggableDataContext) {
10
+ this.fDataContext = fDataContext;
11
+ this.fDraggableDataContext = fDraggableDataContext;
12
+ }
13
+ handle(request) {
14
+ this.fDraggableDataContext.selectedItems.forEach((x) => {
15
+ x.deselect();
16
+ });
17
+ this.fDraggableDataContext.selectedItems = [];
18
+ request.nodes.forEach((key) => {
19
+ const node = this.fDataContext.fNodes.find((x) => x.fId === key);
20
+ if (node) {
21
+ node.select();
22
+ this.fDraggableDataContext.selectedItems.push(node);
23
+ }
24
+ });
25
+ request.connections.forEach((key) => {
26
+ const connection = this.fDataContext.fConnections.find((x) => x.fId === key);
27
+ if (connection) {
28
+ connection.select();
29
+ this.fDraggableDataContext.selectedItems.push(connection);
30
+ }
31
+ });
32
+ this.fDraggableDataContext.isSelectedChanged = true;
33
+ }
34
+ };
35
+ SelectExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ SelectExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectExecution });
37
+ SelectExecution = __decorate([
38
+ FExecutionRegister(SelectRequest)
39
+ ], SelectExecution);
40
+ export { SelectExecution };
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectExecution, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3NlbGVjdC9zZWxlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQzs7OztJQUl6RCxlQUFlLFNBQWYsZUFBZTtJQUUxQixZQUNVLFlBQThCLEVBQzlCLHFCQUE0QztRQUQ1QyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV0RCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXNCO1FBQ2xDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckQsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUU5QyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNqRSxJQUFHLElBQUksRUFBRTtnQkFDUCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDckQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQzdFLElBQUcsVUFBVSxFQUFFO2dCQUNiLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDdEQsQ0FBQztDQUNGLENBQUE7NkdBaENZLGVBQWU7aUhBQWYsZUFBZTtBQUFmLGVBQWU7SUFEM0Isa0JBQWtCLENBQUMsYUFBYSxDQUFDO0dBQ3JCLGVBQWUsQ0FnQzNCO1NBaENZLGVBQWU7NEZBQWYsZUFBZTtrQkFGM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IFNlbGVjdFJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNlbGVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgU2VsZWN0RXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTZWxlY3RSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRGF0YUNvbnRleHQ6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNlbGVjdFJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguZGVzZWxlY3QoKTtcbiAgICB9KTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zID0gW107XG5cbiAgICByZXF1ZXN0Lm5vZGVzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZkRhdGFDb250ZXh0LmZOb2Rlcy5maW5kKCh4KSA9PiB4LmZJZCA9PT0ga2V5KTtcbiAgICAgIGlmKG5vZGUpIHtcbiAgICAgICAgbm9kZS5zZWxlY3QoKTtcbiAgICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKG5vZGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmVxdWVzdC5jb25uZWN0aW9ucy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLmZEYXRhQ29udGV4dC5mQ29ubmVjdGlvbnMuZmluZCgoeCkgPT4geC5mSWQgPT09IGtleSk7XG4gICAgICBpZihjb25uZWN0aW9uKSB7XG4gICAgICAgIGNvbm5lY3Rpb24uc2VsZWN0KCk7XG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMucHVzaChjb25uZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ export class SelectRequest {
2
+ constructor(nodes, connections) {
3
+ this.nodes = nodes;
4
+ this.connections = connections;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zZWxlY3Qvc2VsZWN0LnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFDUyxLQUFlLEVBQ2YsV0FBcUI7UUFEckIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFVO0lBRTlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTZWxlY3RSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbm9kZXM6IHN0cmluZ1tdLFxuICAgIHB1YmxpYyBjb25uZWN0aW9uczogc3RyaW5nW11cbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { __decorate } from "tslib";
2
+ import { SelectAllRequest } from './select-all.request';
3
+ import { Injectable } from '@angular/core';
4
+ import { FExecutionRegister } from '../../infrastructure';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../f-storage";
7
+ import * as i2 from "../../f-draggable";
8
+ let SelectAllExecution = class SelectAllExecution {
9
+ constructor(fDataContext, fDraggableDataContext) {
10
+ this.fDataContext = fDataContext;
11
+ this.fDraggableDataContext = fDraggableDataContext;
12
+ }
13
+ handle(request) {
14
+ this.fDraggableDataContext.selectedItems.forEach((x) => {
15
+ x.deselect();
16
+ });
17
+ this.fDraggableDataContext.selectedItems = [];
18
+ this.fDataContext.fNodes.forEach((x) => {
19
+ x.select();
20
+ this.fDraggableDataContext.selectedItems.push(x);
21
+ });
22
+ this.fDataContext.fConnections.forEach((x) => {
23
+ x.select();
24
+ this.fDraggableDataContext.selectedItems.push(x);
25
+ });
26
+ this.fDraggableDataContext.isSelectedChanged = true;
27
+ }
28
+ };
29
+ SelectAllExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectAllExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ SelectAllExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectAllExecution });
31
+ SelectAllExecution = __decorate([
32
+ FExecutionRegister(SelectAllRequest)
33
+ ], SelectAllExecution);
34
+ export { SelectAllExecution };
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectAllExecution, decorators: [{
36
+ type: Injectable
37
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }]; } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFsbC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zZWxlY3QtYWxsL3NlbGVjdC1hbGwuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLHNCQUFzQixDQUFDOzs7O0lBSXpELGtCQUFrQixTQUFsQixrQkFBa0I7SUFFN0IsWUFDVSxZQUE4QixFQUM5QixxQkFBNEM7UUFENUMsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7SUFFdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF5QjtRQUNyQyxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JELENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDdEQsQ0FBQztDQUNGLENBQUE7Z0hBdkJZLGtCQUFrQjtvSEFBbEIsa0JBQWtCO0FBQWxCLGtCQUFrQjtJQUQ5QixrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztHQUN4QixrQkFBa0IsQ0F1QjlCO1NBdkJZLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUY5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0QWxsUmVxdWVzdCB9IGZyb20gJy4vc2VsZWN0LWFsbC5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNlbGVjdEFsbFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgU2VsZWN0QWxsRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTZWxlY3RBbGxSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRGF0YUNvbnRleHQ6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNlbGVjdEFsbFJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguZGVzZWxlY3QoKTtcbiAgICB9KTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5mRGF0YUNvbnRleHQuZk5vZGVzLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguc2VsZWN0KCk7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goeCk7XG4gICAgfSk7XG4gICAgdGhpcy5mRGF0YUNvbnRleHQuZkNvbm5lY3Rpb25zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHguc2VsZWN0KCk7XG4gICAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goeCk7XG4gICAgfSk7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { __decorate } from "tslib";
2
+ import { SelectAndUpdateNodeLayerRequest } from './select-and-update-node-layer.request';
3
+ import { Injectable } from '@angular/core';
4
+ import { FExecutionRegister } from '../../infrastructure';
5
+ import { UpdateItemAndChildrenLayersRequest } from '../update-item-and-children-layers';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../f-draggable";
8
+ import * as i2 from "../../infrastructure";
9
+ let SelectAndUpdateNodeLayerExecution = class SelectAndUpdateNodeLayerExecution {
10
+ constructor(fDraggableDataContext, fMediator) {
11
+ this.fDraggableDataContext = fDraggableDataContext;
12
+ this.fMediator = fMediator;
13
+ }
14
+ handle(request) {
15
+ this.selectNodeIfNotSelected(request.node);
16
+ this.fMediator.send(new UpdateItemAndChildrenLayersRequest(request.node, request.node.hostElement.parentElement));
17
+ }
18
+ selectNodeIfNotSelected(node) {
19
+ if (!this.fDraggableDataContext.selectedItems.includes(node) && !node.fSelectionDisabled) {
20
+ this.fDraggableDataContext.selectedItems.push(node);
21
+ node.select();
22
+ this.fDraggableDataContext.isSelectedChanged = true;
23
+ }
24
+ }
25
+ };
26
+ SelectAndUpdateNodeLayerExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectAndUpdateNodeLayerExecution, deps: [{ token: i1.FDraggableDataContext }, { token: i2.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable });
27
+ SelectAndUpdateNodeLayerExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectAndUpdateNodeLayerExecution });
28
+ SelectAndUpdateNodeLayerExecution = __decorate([
29
+ FExecutionRegister(SelectAndUpdateNodeLayerRequest)
30
+ ], SelectAndUpdateNodeLayerExecution);
31
+ export { SelectAndUpdateNodeLayerExecution };
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SelectAndUpdateNodeLayerExecution, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: function () { return [{ type: i1.FDraggableDataContext }, { type: i2.FFlowMediator }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7OztJQUkzRSxpQ0FBaUMsU0FBakMsaUNBQWlDO0lBRTVDLFlBQ1UscUJBQTRDLEVBQzVDLFNBQXdCO1FBRHhCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUVsQyxDQUFDO0lBQ00sTUFBTSxDQUFDLE9BQXdDO1FBQ3BELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLElBQUksa0NBQWtDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUE0QixDQUFDLENBQzVHLENBQUM7SUFDSixDQUFDO0lBRU8sdUJBQXVCLENBQUMsSUFBZTtRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDeEYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztTQUNyRDtJQUNILENBQUM7Q0FDRixDQUFBOytIQXRCWSxpQ0FBaUM7bUlBQWpDLGlDQUFpQztBQUFqQyxpQ0FBaUM7SUFEN0Msa0JBQWtCLENBQUMsK0JBQStCLENBQUM7R0FDdkMsaUNBQWlDLENBc0I3QztTQXRCWSxpQ0FBaUM7NEZBQWpDLGlDQUFpQztrQkFGN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCB9IGZyb20gJy4uL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyRXhlY3V0aW9uIGltcGxlbWVudHMgSUhhbmRsZXI8U2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3JcbiAgKSB7XG4gIH1cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3ROb2RlSWZOb3RTZWxlY3RlZChyZXF1ZXN0Lm5vZGUpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihcbiAgICAgIG5ldyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KHJlcXVlc3Qubm9kZSwgcmVxdWVzdC5ub2RlLmhvc3RFbGVtZW50LnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0Tm9kZUlmTm90U2VsZWN0ZWQobm9kZTogRk5vZGVCYXNlKSB7XG4gICAgaWYgKCF0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKG5vZGUpICYmICFub2RlLmZTZWxlY3Rpb25EaXNhYmxlZCkge1xuICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKG5vZGUpO1xuICAgICAgbm9kZS5zZWxlY3QoKTtcbiAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  export class SelectAndUpdateNodeLayerRequest {
2
- node;
3
2
  constructor(node) {
4
3
  this.node = node;
5
4
  }
6
5
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vc2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLCtCQUErQjtJQUdqQztJQURULFlBQ1MsSUFBZTtRQUFmLFNBQUksR0FBSixJQUFJLENBQVc7SUFFeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBub2RlOiBGTm9kZUJhc2VcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vc2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLCtCQUErQjtJQUUxQyxZQUNTLElBQWU7UUFBZixTQUFJLEdBQUosSUFBSSxDQUFXO0lBRXhCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbm9kZTogRk5vZGVCYXNlXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { __decorate } from "tslib";
2
+ import { SortItemLayersRequest } from './sort-item-layers.request';
3
+ import { Injectable } from '@angular/core';
4
+ import { FExecutionRegister } from '../../infrastructure';
5
+ import { SortNodeLayersRequest } from './sort-node-layers-by-groups';
6
+ import { SortItemsByParentRequest } from './sort-items-by-parent';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../infrastructure";
9
+ import * as i2 from "../../f-storage";
10
+ let SortItemLayersExecution = class SortItemLayersExecution {
11
+ constructor(fMediator, fComponentsStore) {
12
+ this.fMediator = fMediator;
13
+ this.fComponentsStore = fComponentsStore;
14
+ }
15
+ handle(request) {
16
+ this.fMediator.send(new SortItemsByParentRequest(this.fComponentsStore.fCanvas.fGroupsContainer.nativeElement));
17
+ this.fMediator.send(new SortNodeLayersRequest());
18
+ this.fMediator.send(new SortItemsByParentRequest(this.fComponentsStore.fCanvas.fNodesContainer.nativeElement));
19
+ }
20
+ };
21
+ SortItemLayersExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortItemLayersExecution, deps: [{ token: i1.FFlowMediator }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
22
+ SortItemLayersExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortItemLayersExecution });
23
+ SortItemLayersExecution = __decorate([
24
+ FExecutionRegister(SortItemLayersRequest)
25
+ ], SortItemLayersExecution);
26
+ export { SortItemLayersExecution };
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SortItemLayersExecution, decorators: [{
28
+ type: Injectable
29
+ }], ctorParameters: function () { return [{ type: i1.FFlowMediator }, { type: i2.FComponentsStore }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zb3J0LWl0ZW0tbGF5ZXJzL3NvcnQtaXRlbS1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztJQUtyRCx1QkFBdUIsU0FBdkIsdUJBQXVCO0lBRWxDLFlBQ1UsU0FBd0IsRUFDeEIsZ0JBQWtDO1FBRGxDLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQThCO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ2pILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUkscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO0NBQ0YsQ0FBQTtxSEFiWSx1QkFBdUI7eUhBQXZCLHVCQUF1QjtBQUF2Qix1QkFBdUI7SUFEbkMsa0JBQWtCLENBQUMscUJBQXFCLENBQUM7R0FDN0IsdUJBQXVCLENBYW5DO1NBYlksdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRm5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0SXRlbUxheWVyc1JlcXVlc3QgfSBmcm9tICcuL3NvcnQtaXRlbS1sYXllcnMucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZGbG93TWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICcuLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBTb3J0Tm9kZUxheWVyc1JlcXVlc3QgfSBmcm9tICcuL3NvcnQtbm9kZS1sYXllcnMtYnktZ3JvdXBzJztcbmltcG9ydCB7IFNvcnRJdGVtc0J5UGFyZW50UmVxdWVzdCB9IGZyb20gJy4vc29ydC1pdGVtcy1ieS1wYXJlbnQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoU29ydEl0ZW1MYXllcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNvcnRJdGVtTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTb3J0SXRlbUxheWVyc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTb3J0SXRlbUxheWVyc1JlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBTb3J0SXRlbXNCeVBhcmVudFJlcXVlc3QodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLmZHcm91cHNDb250YWluZXIubmF0aXZlRWxlbWVudCkpO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IFNvcnROb2RlTGF5ZXJzUmVxdWVzdCgpKTtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBTb3J0SXRlbXNCeVBhcmVudFJlcXVlc3QodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLmZOb2Rlc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50KSk7XG4gIH1cbn1cbiJdfQ==