@foblex/flow 12.5.1 → 12.6.1

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 (452) hide show
  1. package/README.md +12 -9
  2. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.d.ts +13 -0
  3. package/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.d.ts +4 -0
  4. package/domain/get-deep-children-nodes-and-groups/index.d.ts +2 -0
  5. package/domain/get-nodes-rect/get-nodes-rect.execution.d.ts +2 -2
  6. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.d.ts +14 -0
  7. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.d.ts +2 -0
  8. package/domain/get-scaled-node-rects-with-flow-position/index.d.ts +2 -0
  9. package/domain/index.d.ts +4 -5
  10. package/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -5
  11. package/domain/providers.d.ts +5 -6
  12. package/domain/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +1 -3
  13. package/domain/sort-item-layers/index.d.ts +4 -0
  14. package/domain/sort-item-layers/sort-item-layers.execution.d.ts +12 -0
  15. package/domain/sort-item-layers/sort-item-layers.request.d.ts +2 -0
  16. package/domain/sort-item-layers/sort-items-by-parent/index.d.ts +2 -0
  17. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +20 -0
  18. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.d.ts +4 -0
  19. package/domain/sort-item-layers/sort-node-layers-by-groups/index.d.ts +2 -0
  20. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.d.ts +21 -0
  21. package/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.d.ts +2 -0
  22. package/domain/update-item-and-children-layers/index.d.ts +3 -0
  23. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts +2 -0
  24. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.d.ts +8 -0
  25. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.d.ts +8 -0
  26. package/domain/update-item-and-children-layers/update-item-and-children-layers.execution.d.ts +25 -0
  27. package/domain/{update-item-layer/update-item-layer.request.d.ts → update-item-and-children-layers/update-item-and-children-layers.request.d.ts} +1 -1
  28. package/esm2022/domain/clear-selection/clear-selection.execution.mjs +5 -7
  29. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +5 -5
  30. package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +3 -3
  31. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +3 -3
  32. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +3 -3
  33. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +36 -0
  34. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +7 -0
  35. package/esm2022/domain/get-deep-children-nodes-and-groups/index.mjs +3 -0
  36. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +3 -3
  37. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.execution.mjs +3 -3
  38. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +4 -4
  39. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.execution.mjs +3 -3
  40. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +3 -3
  41. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +35 -0
  42. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs +3 -0
  43. package/esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs +3 -0
  44. package/esm2022/domain/get-selection/get-selection.execution.mjs +3 -3
  45. package/esm2022/domain/index.mjs +5 -6
  46. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +16 -22
  47. package/esm2022/domain/providers.mjs +12 -11
  48. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +4 -4
  49. package/esm2022/domain/select/select.execution.mjs +5 -5
  50. package/esm2022/domain/select-all/select-all.execution.mjs +4 -4
  51. package/esm2022/domain/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +9 -12
  52. package/esm2022/domain/sort-item-layers/index.mjs +5 -0
  53. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +32 -0
  54. package/esm2022/domain/sort-item-layers/sort-item-layers.request.mjs +3 -0
  55. package/esm2022/domain/sort-item-layers/sort-items-by-parent/index.mjs +3 -0
  56. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +61 -0
  57. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +8 -0
  58. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs +3 -0
  59. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +62 -0
  60. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs +3 -0
  61. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +5 -5
  62. package/esm2022/domain/update-item-and-children-layers/index.mjs +4 -0
  63. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +3 -0
  64. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +30 -0
  65. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +14 -0
  66. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +99 -0
  67. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +9 -0
  68. package/esm2022/f-backgroud/f-background-base.mjs +3 -3
  69. package/esm2022/f-backgroud/f-background.component.mjs +3 -3
  70. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +3 -3
  71. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +3 -3
  72. package/esm2022/f-canvas/f-canvas-base.mjs +4 -4
  73. package/esm2022/f-canvas/f-canvas.component.mjs +11 -7
  74. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +2 -2
  75. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -2
  76. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +2 -2
  77. package/esm2022/f-connection/common/f-connection-base.mjs +8 -6
  78. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +5 -5
  79. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +5 -5
  80. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +6 -6
  81. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +5 -5
  82. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +11 -11
  83. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +5 -5
  84. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  85. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +2 -1
  86. package/esm2022/f-connection/f-connection/f-connection.component.mjs +24 -19
  87. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +3 -3
  88. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +1 -1
  89. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +3 -3
  90. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +21 -14
  91. package/esm2022/f-connection/f-marker/f-marker-base.mjs +3 -3
  92. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  93. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +3 -3
  94. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  95. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +3 -3
  96. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  97. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +3 -3
  98. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  99. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +5 -7
  100. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +6 -6
  101. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +3 -3
  102. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +9 -4
  103. package/esm2022/f-draggable/canvas/canvas.drag-handler.mjs +1 -3
  104. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +3 -3
  105. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +6 -6
  106. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +12 -6
  107. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +4 -6
  108. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +8 -15
  109. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +7 -14
  110. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +3 -3
  111. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +3 -3
  112. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +3 -3
  113. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +9 -9
  114. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +3 -3
  115. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +3 -3
  116. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +3 -3
  117. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +3 -3
  118. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +5 -5
  119. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +6 -6
  120. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +6 -6
  121. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +3 -3
  122. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +1 -3
  123. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.mjs +13 -0
  124. package/esm2022/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.mjs +49 -0
  125. package/esm2022/f-draggable/domain/convert-computed-to-pixels/index.mjs +3 -0
  126. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +38 -0
  127. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +9 -0
  128. package/esm2022/f-draggable/domain/get-node-padding/index.mjs +3 -0
  129. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +30 -0
  130. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +7 -0
  131. package/esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs +3 -0
  132. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +50 -0
  133. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +7 -0
  134. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/index.mjs +3 -0
  135. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +37 -0
  136. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +7 -0
  137. package/esm2022/f-draggable/domain/get-parent-nodes/index.mjs +3 -0
  138. package/esm2022/f-draggable/domain/index.mjs +8 -0
  139. package/esm2022/f-draggable/domain/is-array-has-parent-node/index.mjs +3 -0
  140. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +35 -0
  141. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +9 -0
  142. package/esm2022/f-draggable/domain/providers.mjs +15 -0
  143. package/esm2022/f-draggable/f-draggable-base.mjs +11 -6
  144. package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -5
  145. package/esm2022/f-draggable/f-draggable.directive.mjs +6 -10
  146. package/esm2022/f-draggable/i-draggable-item.mjs +1 -1
  147. package/esm2022/f-draggable/index.mjs +2 -4
  148. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +42 -0
  149. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +14 -26
  150. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +14 -26
  151. package/esm2022/f-draggable/node/connection.drag-handler.mjs +16 -24
  152. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +48 -58
  153. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +45 -0
  154. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +9 -0
  155. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +2 -0
  156. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +4 -0
  157. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +3 -0
  158. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +72 -0
  159. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +11 -0
  160. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +3 -0
  161. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +72 -0
  162. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +11 -0
  163. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +2 -0
  164. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -1
  165. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +7 -1
  166. package/esm2022/f-draggable/node/index.mjs +3 -1
  167. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +5 -5
  168. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +6 -6
  169. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +6 -7
  170. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +3 -3
  171. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +13 -0
  172. package/esm2022/f-draggable/node/node.drag-handler.mjs +21 -7
  173. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +49 -0
  174. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +9 -0
  175. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs +3 -0
  176. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +49 -0
  177. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +9 -0
  178. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs +3 -0
  179. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +25 -0
  180. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +13 -0
  181. package/esm2022/f-draggable/node-resize/calculate-changed-position/index.mjs +3 -0
  182. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +34 -0
  183. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +11 -0
  184. package/esm2022/f-draggable/node-resize/calculate-changed-size/index.mjs +3 -0
  185. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +32 -0
  186. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +9 -0
  187. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +2 -0
  188. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/index.mjs +4 -0
  189. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +42 -0
  190. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +9 -0
  191. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs +3 -0
  192. package/esm2022/f-draggable/node-resize/index.mjs +8 -1
  193. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +3 -3
  194. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +6 -6
  195. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +5 -5
  196. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +3 -3
  197. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +38 -39
  198. package/esm2022/f-draggable/node-resize/providers.mjs +13 -1
  199. package/esm2022/f-draggable/node-resize/resize-direction.mjs +8 -0
  200. package/esm2022/f-draggable/providers.mjs +7 -5
  201. package/esm2022/f-draggable/single-select/single-select.execution.mjs +13 -13
  202. package/esm2022/f-draggable/single-select/single-select.validator.mjs +3 -3
  203. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +58 -0
  204. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +7 -0
  205. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +26 -0
  206. package/esm2022/f-external-item/domain/external-item-finalize/index.mjs +5 -0
  207. package/esm2022/f-external-item/domain/external-item-finalize/providers.mjs +7 -0
  208. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +44 -0
  209. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +7 -0
  210. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +30 -0
  211. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +5 -0
  212. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +7 -0
  213. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +36 -0
  214. package/esm2022/f-external-item/domain/f-create-node.event.mjs +9 -0
  215. package/esm2022/f-external-item/domain/index.mjs +6 -0
  216. package/esm2022/f-external-item/domain/providers.mjs +7 -0
  217. package/esm2022/f-external-item/f-external-item-base.mjs +3 -3
  218. package/esm2022/f-external-item/f-external-item.directive.mjs +3 -3
  219. package/esm2022/f-external-item/f-external-item.service.mjs +3 -3
  220. package/esm2022/f-external-item/index.mjs +2 -1
  221. package/esm2022/f-flow/f-flow.component.mjs +18 -10
  222. package/esm2022/f-flow.module.mjs +10 -9
  223. package/esm2022/f-line-alignment/domain/line-service.mjs +3 -1
  224. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +3 -3
  225. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +5 -5
  226. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +3 -3
  227. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +1 -3
  228. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +3 -3
  229. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +5 -5
  230. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +3 -3
  231. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +3 -3
  232. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +11 -13
  233. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +6 -5
  234. package/esm2022/f-minimap/f-minimap-view.directive.mjs +3 -3
  235. package/esm2022/f-minimap/f-minimap.component.mjs +3 -3
  236. package/esm2022/f-node/domain/index.mjs +3 -0
  237. package/esm2022/f-node/domain/is-group.mjs +4 -0
  238. package/esm2022/f-node/domain/is-node.mjs +4 -0
  239. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +3 -3
  240. package/esm2022/f-node/f-group.directive.mjs +147 -0
  241. package/esm2022/f-node/f-node-base.mjs +2 -1
  242. package/esm2022/f-node/f-node.directive.mjs +14 -6
  243. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  244. package/esm2022/f-node/index.mjs +3 -2
  245. package/esm2022/f-node/providers.mjs +3 -2
  246. package/esm2022/f-selection-area/domain/index.mjs +5 -2
  247. package/esm2022/f-selection-area/domain/providers.mjs +7 -0
  248. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +5 -0
  249. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +7 -0
  250. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +27 -0
  251. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +7 -0
  252. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +26 -0
  253. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +5 -0
  254. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +7 -0
  255. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +41 -0
  256. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +9 -0
  257. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +30 -0
  258. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +52 -0
  259. package/esm2022/f-selection-area/f-selection-area-base.mjs +5 -6
  260. package/esm2022/f-selection-area/f-selection-area.component.mjs +22 -15
  261. package/esm2022/f-storage/f-components-store.mjs +17 -7
  262. package/esm2022/f-storage/f-transform-store.mjs +3 -3
  263. package/esm2022/f-zoom/f-zoom.directive.mjs +3 -3
  264. package/esm2022/infrastructure/f-mediator/f-flow-mediator.mjs +3 -3
  265. package/f-canvas/f-canvas-base.d.ts +1 -0
  266. package/f-canvas/f-canvas.component.d.ts +2 -1
  267. package/f-connection/common/f-connection-base.d.ts +2 -1
  268. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
  269. package/f-connection/common/i-has-connection-from-to.d.ts +1 -1
  270. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -0
  271. package/f-connection/f-connection/f-connection.component.d.ts +4 -3
  272. package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +1 -0
  273. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -3
  274. package/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.d.ts +1 -0
  275. package/f-draggable/canvas/canvas.drag-handler.d.ts +0 -2
  276. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +1 -0
  277. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +2 -3
  278. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +0 -1
  279. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +0 -1
  280. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +2 -4
  281. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +0 -2
  282. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels-request.d.ts +7 -0
  283. package/f-draggable/domain/convert-computed-to-pixels/convert-computed-to-pixels.execution.d.ts +12 -0
  284. package/f-draggable/domain/convert-computed-to-pixels/index.d.ts +2 -0
  285. package/f-draggable/domain/get-node-padding/get-node-padding.execution.d.ts +12 -0
  286. package/f-draggable/domain/get-node-padding/get-node-padding.request.d.ts +7 -0
  287. package/f-draggable/domain/get-node-padding/index.d.ts +2 -0
  288. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +13 -0
  289. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.d.ts +5 -0
  290. package/f-draggable/domain/get-normalized-node-rect/index.d.ts +2 -0
  291. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +17 -0
  292. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.d.ts +5 -0
  293. package/f-draggable/domain/get-normalized-parent-node-rect/index.d.ts +2 -0
  294. package/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.d.ts +13 -0
  295. package/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.d.ts +5 -0
  296. package/f-draggable/domain/get-parent-nodes/index.d.ts +2 -0
  297. package/f-draggable/domain/index.d.ts +7 -0
  298. package/f-draggable/domain/is-array-has-parent-node/index.d.ts +2 -0
  299. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.d.ts +13 -0
  300. package/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.d.ts +6 -0
  301. package/f-draggable/domain/providers.d.ts +7 -0
  302. package/f-draggable/f-draggable-base.d.ts +2 -1
  303. package/f-draggable/f-draggable-data-context.d.ts +0 -2
  304. package/f-draggable/f-draggable.directive.d.ts +1 -1
  305. package/f-draggable/i-draggable-item.d.ts +0 -2
  306. package/f-draggable/index.d.ts +1 -3
  307. package/f-draggable/node/connection-base-drag-handler.d.ts +23 -0
  308. package/f-draggable/node/connection-source.drag-handler.d.ts +6 -12
  309. package/f-draggable/node/connection-target.drag-handler.d.ts +6 -12
  310. package/f-draggable/node/connection.drag-handler.d.ts +7 -10
  311. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +4 -6
  312. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +13 -0
  313. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.d.ts +6 -0
  314. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.d.ts +5 -0
  315. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.d.ts +3 -0
  316. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.d.ts +2 -0
  317. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +22 -0
  318. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +8 -0
  319. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.d.ts +2 -0
  320. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +22 -0
  321. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +8 -0
  322. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +6 -0
  323. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -0
  324. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +4 -1
  325. package/f-draggable/node/index.d.ts +2 -0
  326. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +10 -0
  327. package/f-draggable/node/node.drag-handler.d.ts +6 -3
  328. package/f-draggable/node/providers.d.ts +1 -1
  329. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +13 -0
  330. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +6 -0
  331. package/f-draggable/node-resize/apply-child-resize-restrictions/index.d.ts +2 -0
  332. package/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +13 -0
  333. package/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +6 -0
  334. package/f-draggable/node-resize/apply-parent-resize-restrictions/index.d.ts +2 -0
  335. package/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.d.ts +10 -0
  336. package/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.d.ts +9 -0
  337. package/f-draggable/node-resize/calculate-changed-position/index.d.ts +2 -0
  338. package/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.d.ts +10 -0
  339. package/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.d.ts +8 -0
  340. package/f-draggable/node-resize/calculate-changed-size/index.d.ts +2 -0
  341. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +11 -0
  342. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts +7 -0
  343. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +5 -0
  344. package/f-draggable/node-resize/get-node-resize-restrictions/index.d.ts +3 -0
  345. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +15 -0
  346. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +7 -0
  347. package/f-draggable/node-resize/get-normalized-children-nodes-rect/index.d.ts +2 -0
  348. package/f-draggable/node-resize/index.d.ts +7 -0
  349. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +11 -10
  350. package/f-draggable/node-resize/providers.d.ts +7 -1
  351. package/f-draggable/node-resize/resize-direction.d.ts +18 -0
  352. package/f-draggable/providers.d.ts +1 -1
  353. package/f-draggable/single-select/single-select.execution.d.ts +2 -3
  354. package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.execution.d.ts +1 -1
  355. package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.validator.d.ts +1 -1
  356. package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.execution.d.ts +1 -1
  357. package/{f-draggable/external-item → f-external-item/domain}/external-item.drag-handler.d.ts +1 -3
  358. package/f-external-item/domain/providers.d.ts +1 -0
  359. package/f-external-item/index.d.ts +1 -0
  360. package/f-flow/f-flow.component.d.ts +2 -1
  361. package/f-flow.module.d.ts +8 -7
  362. package/f-minimap/domain/f-minimap.drag-handler.d.ts +1 -2
  363. package/f-minimap/f-minimap-canvas.directive.d.ts +1 -3
  364. package/f-node/domain/index.d.ts +2 -0
  365. package/f-node/domain/is-group.d.ts +1 -0
  366. package/f-node/f-group.directive.d.ts +40 -0
  367. package/f-node/f-node-base.d.ts +3 -0
  368. package/f-node/f-node.directive.d.ts +6 -4
  369. package/f-node/index.d.ts +2 -1
  370. package/f-node/providers.d.ts +2 -1
  371. package/f-selection-area/domain/index.d.ts +4 -1
  372. package/f-selection-area/domain/providers.d.ts +1 -0
  373. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.execution.d.ts +1 -1
  374. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.validator.d.ts +1 -1
  375. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/selection-area-preparation.execution.d.ts +1 -1
  376. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +7 -0
  377. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/selection-area-preparation.validator.d.ts +1 -1
  378. package/{f-draggable/selection-area → f-selection-area/domain}/selection-area.drag-handle.d.ts +4 -5
  379. package/f-selection-area/f-selection-area-base.d.ts +2 -5
  380. package/f-selection-area/f-selection-area.component.d.ts +9 -6
  381. package/f-storage/f-components-store.d.ts +6 -2
  382. package/fesm2022/foblex-flow.mjs +2396 -1297
  383. package/fesm2022/foblex-flow.mjs.map +1 -1
  384. package/package.json +3 -3
  385. package/domain/get-connection.handler.d.ts +0 -12
  386. package/domain/get-external-nodes-rect/get-external-nodes-rect.execution.d.ts +0 -14
  387. package/domain/get-external-nodes-rect/get-external-nodes-rect.request.d.ts +0 -2
  388. package/domain/get-external-nodes-rect/index.d.ts +0 -2
  389. package/domain/get-incoming-connections.handler.d.ts +0 -13
  390. package/domain/get-outgoing-connections.handler.d.ts +0 -13
  391. package/domain/update-item-layer/index.d.ts +0 -2
  392. package/domain/update-item-layer/update-item-layer.execution.d.ts +0 -8
  393. package/esm2022/domain/get-connection.handler.mjs +0 -21
  394. package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.execution.mjs +0 -35
  395. package/esm2022/domain/get-external-nodes-rect/get-external-nodes-rect.request.mjs +0 -3
  396. package/esm2022/domain/get-external-nodes-rect/index.mjs +0 -3
  397. package/esm2022/domain/get-incoming-connections.handler.mjs +0 -24
  398. package/esm2022/domain/get-outgoing-connections.handler.mjs +0 -24
  399. package/esm2022/domain/update-item-layer/index.mjs +0 -3
  400. package/esm2022/domain/update-item-layer/update-item-layer.execution.mjs +0 -28
  401. package/esm2022/domain/update-item-layer/update-item-layer.request.mjs +0 -9
  402. package/esm2022/f-draggable/e-f-draggable-type.mjs +0 -13
  403. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.execution.mjs +0 -58
  404. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.request.mjs +0 -7
  405. package/esm2022/f-draggable/external-item/external-item-finalize/external-item-finalize.validator.mjs +0 -26
  406. package/esm2022/f-draggable/external-item/external-item-finalize/index.mjs +0 -5
  407. package/esm2022/f-draggable/external-item/external-item-finalize/providers.mjs +0 -7
  408. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.execution.mjs +0 -44
  409. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.request.mjs +0 -7
  410. package/esm2022/f-draggable/external-item/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  411. package/esm2022/f-draggable/external-item/external-item-preparation/index.mjs +0 -5
  412. package/esm2022/f-draggable/external-item/external-item-preparation/providers.mjs +0 -7
  413. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +0 -38
  414. package/esm2022/f-draggable/external-item/f-create-node.event.mjs +0 -9
  415. package/esm2022/f-draggable/external-item/index.mjs +0 -6
  416. package/esm2022/f-draggable/external-item/providers.mjs +0 -7
  417. package/esm2022/f-draggable/selection-area/index.mjs +0 -5
  418. package/esm2022/f-draggable/selection-area/providers.mjs +0 -7
  419. package/esm2022/f-draggable/selection-area/selection-area-finalize/index.mjs +0 -5
  420. package/esm2022/f-draggable/selection-area/selection-area-finalize/providers.mjs +0 -7
  421. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.execution.mjs +0 -27
  422. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.request.mjs +0 -7
  423. package/esm2022/f-draggable/selection-area/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  424. package/esm2022/f-draggable/selection-area/selection-area-preparation/index.mjs +0 -5
  425. package/esm2022/f-draggable/selection-area/selection-area-preparation/providers.mjs +0 -7
  426. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.execution.mjs +0 -41
  427. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.mjs +0 -7
  428. package/esm2022/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.validator.mjs +0 -31
  429. package/esm2022/f-draggable/selection-area/selection-area.drag-handle.mjs +0 -57
  430. package/esm2022/f-node/is-node.mjs +0 -4
  431. package/esm2022/f-selection-area/domain/i-selection-area-rect.mjs +0 -2
  432. package/f-draggable/e-f-draggable-type.d.ts +0 -11
  433. package/f-draggable/external-item/providers.d.ts +0 -1
  434. package/f-draggable/selection-area/index.d.ts +0 -4
  435. package/f-draggable/selection-area/providers.d.ts +0 -1
  436. package/f-draggable/selection-area/selection-area-preparation/selection-area-preparation.request.d.ts +0 -5
  437. package/f-selection-area/domain/i-selection-area-rect.d.ts +0 -6
  438. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/external-item-finalize.request.d.ts +0 -0
  439. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/index.d.ts +0 -0
  440. /package/{f-draggable/external-item → f-external-item/domain}/external-item-finalize/providers.d.ts +0 -0
  441. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.request.d.ts +0 -0
  442. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/external-item-preparation.validator.d.ts +0 -0
  443. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/index.d.ts +0 -0
  444. /package/{f-draggable/external-item → f-external-item/domain}/external-item-preparation/providers.d.ts +0 -0
  445. /package/{f-draggable/external-item → f-external-item/domain}/f-create-node.event.d.ts +0 -0
  446. /package/{f-draggable/external-item → f-external-item/domain}/index.d.ts +0 -0
  447. /package/f-node/{is-node.d.ts → domain/is-node.d.ts} +0 -0
  448. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/index.d.ts +0 -0
  449. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/providers.d.ts +0 -0
  450. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-finalize/selection-area-finalize.request.d.ts +0 -0
  451. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/index.d.ts +0 -0
  452. /package/{f-draggable/selection-area → f-selection-area/domain}/selection-area-preparation/providers.d.ts +0 -0
@@ -0,0 +1,30 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { SelectionAreaPreparationRequest } from './selection-area-preparation.request';
4
+ import { FValidatorRegister } from '../../../infrastructure';
5
+ import { MouseEventExtensions } from '@foblex/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../f-draggable";
8
+ let SelectionAreaPreparationValidator = class SelectionAreaPreparationValidator {
9
+ fDraggableDataContext;
10
+ constructor(fDraggableDataContext) {
11
+ this.fDraggableDataContext = fDraggableDataContext;
12
+ }
13
+ handle(request) {
14
+ return this.isDragHandlesEmpty()
15
+ && MouseEventExtensions.isShiftPressed(request.event.originalEvent);
16
+ }
17
+ isDragHandlesEmpty() {
18
+ return !this.fDraggableDataContext.draggableItems.length;
19
+ }
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SelectionAreaPreparationValidator, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SelectionAreaPreparationValidator });
22
+ };
23
+ SelectionAreaPreparationValidator = __decorate([
24
+ FValidatorRegister(SelectionAreaPreparationRequest)
25
+ ], SelectionAreaPreparationValidator);
26
+ export { SelectionAreaPreparationValidator };
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: SelectionAreaPreparationValidator, decorators: [{
28
+ type: Injectable
29
+ }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24udmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2RvbWFpbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi9zZWxlY3Rpb24tYXJlYS1wcmVwYXJhdGlvbi52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFLN0MsSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFHbEM7SUFEVixZQUNVLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBRXRELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBd0M7UUFDcEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7ZUFDM0Isb0JBQW9CLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7SUFDM0QsQ0FBQzt1R0FkVSxpQ0FBaUM7MkdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQWU3Qzs7MkZBZlksaUNBQWlDO2tCQUY3QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vc2VsZWN0aW9uLWFyZWEtcHJlcGFyYXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGVmFsaWRhdG9yUmVnaXN0ZXIsIElWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi8uLi9pbmZyYXN0cnVjdHVyZSc7XG5pbXBvcnQgeyBNb3VzZUV2ZW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGVmFsaWRhdG9yUmVnaXN0ZXIoU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25WYWxpZGF0b3IgaW1wbGVtZW50cyBJVmFsaWRhdG9yPFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvblJlcXVlc3Q+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0XG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTZWxlY3Rpb25BcmVhUHJlcGFyYXRpb25SZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEcmFnSGFuZGxlc0VtcHR5KClcbiAgICAgICYmIE1vdXNlRXZlbnRFeHRlbnNpb25zLmlzU2hpZnRQcmVzc2VkKHJlcXVlc3QuZXZlbnQub3JpZ2luYWxFdmVudCk7XG4gIH1cblxuICBwcml2YXRlIGlzRHJhZ0hhbmRsZXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aDtcbiAgfVxufVxuIl19
@@ -0,0 +1,52 @@
1
+ import { Point, RectExtensions } from '@foblex/core';
2
+ import { EmitTransformChangesRequest } from '../../domain';
3
+ import { GetCanBeSelectedItemsRequest } from '../../domain/get-can-be-selected-items/get-can-be-selected-items-request';
4
+ export class SelectionAreaDragHandle {
5
+ fComponentsStore;
6
+ fSelectionArea;
7
+ fDraggableDataContext;
8
+ fMediator;
9
+ canBeSelected = [];
10
+ selectedByMove = [];
11
+ get canvasPosition() {
12
+ return Point.fromPoint(this.fComponentsStore.fCanvas.transform.position).add(this.fComponentsStore.fCanvas.transform.scaledPosition);
13
+ }
14
+ constructor(fComponentsStore, fSelectionArea, fDraggableDataContext, fMediator) {
15
+ this.fComponentsStore = fComponentsStore;
16
+ this.fSelectionArea = fSelectionArea;
17
+ this.fDraggableDataContext = fDraggableDataContext;
18
+ this.fMediator = fMediator;
19
+ }
20
+ initialize() {
21
+ this.canBeSelected = this.fMediator.send(new GetCanBeSelectedItemsRequest());
22
+ this.fSelectionArea.show();
23
+ this.fSelectionArea.draw(RectExtensions.initialize(this.fDraggableDataContext.onPointerDownPosition.x, this.fDraggableDataContext.onPointerDownPosition.y));
24
+ }
25
+ move(difference) {
26
+ const currentPoint = Point.fromPoint(difference).add(this.fDraggableDataContext.onPointerDownPosition);
27
+ const x = Math.min(this.fDraggableDataContext.onPointerDownPosition.x, currentPoint.x);
28
+ const y = Math.min(this.fDraggableDataContext.onPointerDownPosition.y, currentPoint.y);
29
+ const width = Math.abs(difference.x);
30
+ const height = Math.abs(difference.y);
31
+ this.fSelectionArea.draw(RectExtensions.initialize(x, y, width, height));
32
+ this.selectedByMove = [];
33
+ this.canBeSelected.forEach((item) => {
34
+ item.element.deselect();
35
+ const itemRect = RectExtensions.addPoint(item.rect, this.canvasPosition);
36
+ const isIntersect = RectExtensions.intersectionWithRect(itemRect, RectExtensions.initialize(x, y, width, height));
37
+ if (isIntersect) {
38
+ item.element.select();
39
+ this.selectedByMove.push(item.element);
40
+ }
41
+ });
42
+ this.fMediator.send(new EmitTransformChangesRequest());
43
+ }
44
+ complete() {
45
+ this.fSelectionArea.hide();
46
+ this.fDraggableDataContext.selectedItems.push(...this.selectedByMove);
47
+ if (this.selectedByMove.length > 0) {
48
+ this.fDraggableDataContext.isSelectedChanged = true;
49
+ }
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFyZWEuZHJhZy1oYW5kbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL3NlbGVjdGlvbi1hcmVhLmRyYWctaGFuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdELE9BQU8sRUFBRSwyQkFBMkIsRUFBdUIsTUFBTSxjQUFjLENBQUM7QUFHaEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFJeEgsTUFBTSxPQUFPLHVCQUF1QjtJQVd4QjtJQUNBO0lBQ0E7SUFDQTtJQVpGLGFBQWEsR0FBMEIsRUFBRSxDQUFDO0lBRTFDLGNBQWMsR0FBa0IsRUFBRSxDQUFDO0lBRTNDLElBQVksY0FBYztRQUN4QixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pJLENBQUM7SUFFRCxZQUNVLGdCQUFrQyxFQUNsQyxjQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsU0FBd0I7UUFIeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxjQUFTLEdBQVQsU0FBUyxDQUFlO0lBRWxDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUE0QixFQUFFLENBQUMsQ0FBQztRQUU3RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN0QixjQUFjLENBQUMsVUFBVSxDQUN2QixJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUNsRCxJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUNuRCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sSUFBSSxDQUFDLFVBQWtCO1FBQzVCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZHLE1BQU0sQ0FBQyxHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0YsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEIsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FDL0MsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUV4QixNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRXpFLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2xILElBQUksV0FBVyxFQUFFLENBQUM7Z0JBRWhCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBTyxJQUFJLDJCQUEyQixFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCwgSVNlbGVjdGFibGVXaXRoUmVjdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vLi4vaW5mcmFzdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMtcmVxdWVzdCc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkFyZWFCYXNlIH0gZnJvbSAnLi4vZi1zZWxlY3Rpb24tYXJlYS1iYXNlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbkFyZWFEcmFnSGFuZGxlIGltcGxlbWVudHMgSURyYWdnYWJsZUl0ZW0ge1xuXG4gIHByaXZhdGUgY2FuQmVTZWxlY3RlZDogSVNlbGVjdGFibGVXaXRoUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZEJ5TW92ZTogSVNlbGVjdGFibGVbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2V0IGNhbnZhc1Bvc2l0aW9uKCk6IFBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm0ucG9zaXRpb24pLmFkZCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZTZWxlY3Rpb25BcmVhOiBGU2VsZWN0aW9uQXJlYUJhc2UsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbkJlU2VsZWN0ZWQgPSB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBHZXRDYW5CZVNlbGVjdGVkSXRlbXNSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5mU2VsZWN0aW9uQXJlYS5zaG93KCk7XG4gICAgdGhpcy5mU2VsZWN0aW9uQXJlYS5kcmF3KFxuICAgICAgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShcbiAgICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uLngsXG4gICAgICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbi55XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQb2ludCA9IFBvaW50LmZyb21Qb2ludChkaWZmZXJlbmNlKS5hZGQodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uKTtcbiAgICBjb25zdCB4OiBudW1iZXIgPSBNYXRoLm1pbih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5vblBvaW50ZXJEb3duUG9zaXRpb24ueCwgY3VycmVudFBvaW50LngpO1xuICAgIGNvbnN0IHk6IG51bWJlciA9IE1hdGgubWluKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0Lm9uUG9pbnRlckRvd25Qb3NpdGlvbi55LCBjdXJyZW50UG9pbnQueSk7XG5cbiAgICBjb25zdCB3aWR0aCA9IE1hdGguYWJzKGRpZmZlcmVuY2UueCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5hYnMoZGlmZmVyZW5jZS55KTtcblxuICAgIHRoaXMuZlNlbGVjdGlvbkFyZWEuZHJhdyhcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoeCwgeSwgd2lkdGgsIGhlaWdodClcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRCeU1vdmUgPSBbXTtcbiAgICB0aGlzLmNhbkJlU2VsZWN0ZWQuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5lbGVtZW50LmRlc2VsZWN0KCk7XG5cbiAgICAgIGNvbnN0IGl0ZW1SZWN0ID0gUmVjdEV4dGVuc2lvbnMuYWRkUG9pbnQoaXRlbS5yZWN0LCB0aGlzLmNhbnZhc1Bvc2l0aW9uKTtcblxuICAgICAgY29uc3QgaXNJbnRlcnNlY3QgPSBSZWN0RXh0ZW5zaW9ucy5pbnRlcnNlY3Rpb25XaXRoUmVjdChpdGVtUmVjdCwgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh4LCB5LCB3aWR0aCwgaGVpZ2h0KSk7XG4gICAgICBpZiAoaXNJbnRlcnNlY3QpIHtcblxuICAgICAgICBpdGVtLmVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRCeU1vdmUucHVzaChpdGVtLmVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZTZWxlY3Rpb25BcmVhLmhpZGUoKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goLi4udGhpcy5zZWxlY3RlZEJ5TW92ZSk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRCeU1vdmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,11 +1,10 @@
1
- import { Directive, InjectionToken } from '@angular/core';
1
+ import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export const F_SELECTION_AREA = new InjectionToken('F_SELECTION_AREA');
4
3
  export class FSelectionAreaBase {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FSelectionAreaBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: FSelectionAreaBase, ngImport: i0 });
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FSelectionAreaBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: FSelectionAreaBase, ngImport: i0 });
7
6
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FSelectionAreaBase, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FSelectionAreaBase, decorators: [{
9
8
  type: Directive
10
9
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQXFCLGtCQUFrQixDQUFDLENBQUM7QUFHM0YsTUFBTSxPQUFnQixrQkFBa0I7dUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTZWxlY3Rpb25BcmVhUmVjdCB9IGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0IGNvbnN0IEZfU0VMRUNUSU9OX0FSRUEgPSBuZXcgSW5qZWN0aW9uVG9rZW48RlNlbGVjdGlvbkFyZWFCYXNlPignRl9TRUxFQ1RJT05fQVJFQScpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGU2VsZWN0aW9uQXJlYUJhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBoaWRlKCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHNob3coKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZHJhdyhvYmplY3Q6IElTZWxlY3Rpb25BcmVhUmVjdCk6IHZvaWQ7XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXNlbGVjdGlvbi1hcmVhL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcxQyxNQUFNLE9BQWdCLGtCQUFrQjt1R0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElSZWN0IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGU2VsZWN0aW9uQXJlYUJhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBoaWRlKCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHNob3coKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZHJhdyhvYmplY3Q6IElSZWN0KTogdm9pZDtcbn1cbiJdfQ==
@@ -1,20 +1,21 @@
1
1
  import { Component } from '@angular/core';
2
- import { F_SELECTION_AREA, FSelectionAreaBase } from './f-selection-area-base';
2
+ import { FSelectionAreaBase } from './f-selection-area-base';
3
+ import { F_DRAG_AND_DROP_PLUGIN } from '../f-draggable';
4
+ import { SelectionAreaFinalizeRequest, SelectionAreaPreparationRequest } from './domain';
3
5
  import * as i0 from "@angular/core";
4
- import * as i1 from "../f-draggable";
6
+ import * as i1 from "../infrastructure";
5
7
  export class FSelectionAreaComponent extends FSelectionAreaBase {
6
8
  elementReference;
7
- fDraggableDataContext;
9
+ fMediator;
8
10
  get hostElement() {
9
11
  return this.elementReference.nativeElement;
10
12
  }
11
- constructor(elementReference, fDraggableDataContext) {
13
+ constructor(elementReference, fMediator) {
12
14
  super();
13
15
  this.elementReference = elementReference;
14
- this.fDraggableDataContext = fDraggableDataContext;
16
+ this.fMediator = fMediator;
15
17
  }
16
18
  ngOnInit() {
17
- this.fDraggableDataContext.fSelectionArea = this;
18
19
  this.hostElement.style.display = 'none';
19
20
  }
20
21
  hide() {
@@ -25,22 +26,28 @@ export class FSelectionAreaComponent extends FSelectionAreaBase {
25
26
  }
26
27
  draw(object) {
27
28
  const style = this.hostElement.style;
28
- style.left = object.left + 'px';
29
- style.top = object.top + 'px';
29
+ style.left = object.x + 'px';
30
+ style.top = object.y + 'px';
30
31
  style.width = object.width + 'px';
31
32
  style.height = object.height + 'px';
32
33
  }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FSelectionAreaComponent, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Component });
34
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: FSelectionAreaComponent, selector: "f-selection-area", host: { classAttribute: "f-selection-area f-component" }, providers: [
35
- { provide: F_SELECTION_AREA, useExisting: FSelectionAreaComponent }
34
+ onPointerDown(event) {
35
+ this.fMediator.send(new SelectionAreaPreparationRequest(event, this));
36
+ }
37
+ onPointerUp(event) {
38
+ this.fMediator.send(new SelectionAreaFinalizeRequest(event));
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FSelectionAreaComponent, deps: [{ token: i0.ElementRef }, { token: i1.FFlowMediator }], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.3", type: FSelectionAreaComponent, selector: "f-selection-area", host: { classAttribute: "f-selection-area f-component" }, providers: [
42
+ { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
36
43
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] });
37
44
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FSelectionAreaComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FSelectionAreaComponent, decorators: [{
39
46
  type: Component,
40
47
  args: [{ selector: "f-selection-area", template: ``, host: {
41
48
  'class': 'f-selection-area f-component'
42
49
  }, providers: [
43
- { provide: F_SELECTION_AREA, useExisting: FSelectionAreaComponent }
50
+ { provide: F_DRAG_AND_DROP_PLUGIN, useExisting: FSelectionAreaComponent },
44
51
  ], styles: [":host{position:absolute}\n"] }]
45
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FDraggableDataContext }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQWUvRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBT2pEO0lBQ0E7SUFOWixJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBeUMsRUFDekMscUJBQTRDO1FBRXRELEtBQUssRUFBRSxDQUFDO1FBSEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBR3hELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRWUsSUFBSTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFZSxJQUFJO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQUVlLElBQUksQ0FBQyxNQUEwQjtRQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNyQyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLEtBQUssQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDOUIsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3RDLENBQUM7dUdBaENVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHFHQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUNwRSxpREFQUyxFQUFFOzsyRkFTRCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLEVBQUUsUUFFTjt3QkFDSixPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQ3BFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfU0VMRUNUSU9OX0FSRUEsIEZTZWxlY3Rpb25BcmVhQmFzZSB9IGZyb20gJy4vZi1zZWxlY3Rpb24tYXJlYS1iYXNlJztcbmltcG9ydCB7IElTZWxlY3Rpb25BcmVhUmVjdCB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtc2VsZWN0aW9uLWFyZWFcIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZVVybHM6IFsgJy4vZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuc2NzcycgXSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLXNlbGVjdGlvbi1hcmVhIGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfU0VMRUNUSU9OX0FSRUEsIHVzZUV4aXN0aW5nOiBGU2VsZWN0aW9uQXJlYUNvbXBvbmVudCB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IGV4dGVuZHMgRlNlbGVjdGlvbkFyZWFCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0XG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZlNlbGVjdGlvbkFyZWEgPSB0aGlzO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZHJhdyhvYmplY3Q6IElTZWxlY3Rpb25BcmVhUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5ob3N0RWxlbWVudC5zdHlsZTtcbiAgICBzdHlsZS5sZWZ0ID0gb2JqZWN0LmxlZnQgKyAncHgnO1xuICAgIHN0eWxlLnRvcCA9IG9iamVjdC50b3AgKyAncHgnO1xuICAgIHN0eWxlLndpZHRoID0gb2JqZWN0LndpZHRoICsgJ3B4JztcbiAgICBzdHlsZS5oZWlnaHQgPSBvYmplY3QuaGVpZ2h0ICsgJ3B4JztcbiAgfVxufVxuIl19
52
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FFlowMediator }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUF1QixNQUFNLGdCQUFnQixDQUFDO0FBRzdFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBYXpGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFPakQ7SUFDQTtJQU5aLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUNZLGdCQUF5QyxFQUN6QyxTQUF3QjtRQUVsQyxLQUFLLEVBQUUsQ0FBQztRQUhFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUdwQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVlLElBQUk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRWUsSUFBSTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFZSxJQUFJLENBQUMsTUFBYTtRQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNyQyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUIsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQW9CO1FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO3VHQXZDVSx1QkFBdUI7MkZBQXZCLHVCQUF1QixxR0FKdkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDMUUsaURBUFMsRUFBRTs7MkZBU0QsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixFQUFFLFFBRU47d0JBQ0osT0FBTyxFQUFFLDhCQUE4QjtxQkFDeEMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3FCQUMxRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQXJlYUJhc2UgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZSc7XG5pbXBvcnQgeyBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgSVBvaW50ZXJFdmVudCwgSVJlY3QgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uL2luZnJhc3RydWN0dXJlJztcbmltcG9ydCB7IFNlbGVjdGlvbkFyZWFGaW5hbGl6ZVJlcXVlc3QsIFNlbGVjdGlvbkFyZWFQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLXNlbGVjdGlvbi1hcmVhXCIsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVVcmxzOiBbICcuL2Ytc2VsZWN0aW9uLWFyZWEuY29tcG9uZW50LnNjc3MnIF0sXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1zZWxlY3Rpb24tYXJlYSBmLWNvbXBvbmVudCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCB1c2VFeGlzdGluZzogRlNlbGVjdGlvbkFyZWFDb21wb25lbnQgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRlNlbGVjdGlvbkFyZWFDb21wb25lbnQgZXh0ZW5kcyBGU2VsZWN0aW9uQXJlYUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIElGRHJhZ0FuZERyb3BQbHVnaW4gIHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvclxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZHJhdyhvYmplY3Q6IElSZWN0KTogdm9pZCB7XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmhvc3RFbGVtZW50LnN0eWxlO1xuICAgIHN0eWxlLmxlZnQgPSBvYmplY3QueCArICdweCc7XG4gICAgc3R5bGUudG9wID0gb2JqZWN0LnkgKyAncHgnO1xuICAgIHN0eWxlLndpZHRoID0gb2JqZWN0LndpZHRoICsgJ3B4JztcbiAgICBzdHlsZS5oZWlnaHQgPSBvYmplY3QuaGVpZ2h0ICsgJ3B4JztcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgU2VsZWN0aW9uQXJlYVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcykpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgU2VsZWN0aW9uQXJlYUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuICB9XG59XG4iXX0=
@@ -2,7 +2,14 @@ import { Injectable } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export class FComponentsStore {
5
- changes = new Subject();
5
+ componentsDataChanges = new Subject();
6
+ get componentsData$() {
7
+ return this.componentsDataChanges.asObservable();
8
+ }
9
+ componentsCountChanges = new Subject();
10
+ get componentsCount$() {
11
+ return this.componentsCountChanges.asObservable();
12
+ }
6
13
  get flowHost() {
7
14
  return this.fFlow?.hostElement;
8
15
  }
@@ -25,19 +32,22 @@ export class FComponentsStore {
25
32
  }
26
33
  addComponent(collection, component) {
27
34
  collection.push(component);
28
- this.changes.next();
35
+ this.componentsCountChanges.next();
29
36
  }
30
37
  removeComponent(collection, component) {
31
38
  const index = collection.indexOf(component);
32
39
  if (index > -1) {
33
40
  collection.splice(index, 1);
34
- this.changes.next();
41
+ this.componentsCountChanges.next();
35
42
  }
36
43
  }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FComponentsStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FComponentsStore });
44
+ componentDataChanged() {
45
+ this.componentsDataChanges.next();
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FComponentsStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
48
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FComponentsStore });
39
49
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FComponentsStore, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FComponentsStore, decorators: [{
41
51
  type: Injectable
42
52
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb21wb25lbnRzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZi1jb21wb25lbnRzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFXL0IsTUFBTSxPQUFPLGdCQUFnQjtJQUVYLE9BQU8sR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUU3RCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVksQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBd0I7SUFFN0IsT0FBTyxDQUEwQjtJQUVqQyxXQUFXLENBQThCO0lBRXpDLE1BQU0sR0FBZ0IsRUFBRSxDQUFDO0lBRXpCLFlBQVksR0FBc0IsRUFBRSxDQUFDO0lBRXJDLGVBQWUsQ0FBOEI7SUFFN0MsUUFBUSxHQUFrQixFQUFFLENBQUM7SUFFN0IsUUFBUSxHQUFxQixFQUFFLENBQUM7SUFFaEMsT0FBTyxHQUFxQixFQUFFLENBQUM7SUFFL0IsUUFBUSxHQUFxQixFQUFFLENBQUM7SUFFaEMsVUFBVSxDQUE2QjtJQUV2QyxRQUFRLENBQUMsT0FBaUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sWUFBWSxDQUFJLFVBQWUsRUFBRSxTQUFZO1FBQ2xELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sZUFBZSxDQUFJLFVBQWUsRUFBRSxTQUFZO1FBQ3JELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNmLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7dUdBakRVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVRyYW5zZm9ybU1vZGVsIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgRk1hcmtlckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkZsb3dCYXNlIH0gZnJvbSAnLi4vZi1mbG93JztcbmltcG9ydCB7IEZDYW52YXNCYXNlIH0gZnJvbSAnLi4vZi1jYW52YXMnO1xuaW1wb3J0IHsgRkJhY2tncm91bmRCYXNlIH0gZnJvbSAnLi4vZi1iYWNrZ3JvdWQnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkNvbXBvbmVudHNTdG9yZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgZmxvd0hvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZGbG93Py5ob3N0RWxlbWVudCE7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDYW52YXM/LnRyYW5zZm9ybSE7XG4gIH1cblxuICBwdWJsaWMgZkZsb3c6IEZGbG93QmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkNhbnZhczogRkNhbnZhc0Jhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZCYWNrZ3JvdW5kOiBGQmFja2dyb3VuZEJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZOb2RlczogRk5vZGVCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZkNvbm5lY3Rpb25zOiBGQ29ubmVjdGlvbkJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmVGVtcENvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZk1hcmtlcnM6IEZNYXJrZXJCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZk91dHB1dHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZklucHV0czogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmT3V0bGV0czogRkNvbm5lY3RvckJhc2VbXSA9IFtdO1xuXG4gIHB1YmxpYyBmRHJhZ2dhYmxlOiBGRHJhZ2dhYmxlQmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZmluZE5vZGUoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mTm9kZXMuZmluZChuID0+IG4uaXNDb250YWlucyhlbGVtZW50KSk7XG4gIH1cblxuICBwdWJsaWMgYWRkQ29tcG9uZW50PFQ+KGNvbGxlY3Rpb246IFRbXSwgY29tcG9uZW50OiBUKTogdm9pZCB7XG4gICAgY29sbGVjdGlvbi5wdXNoKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDb21wb25lbnQ8VD4oY29sbGVjdGlvbjogVFtdLCBjb21wb25lbnQ6IFQpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IGNvbGxlY3Rpb24uaW5kZXhPZihjb21wb25lbnQpO1xuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb2xsZWN0aW9uLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICAgIH1cbiAgfVxufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb21wb25lbnRzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLXN0b3JhZ2UvZi1jb21wb25lbnRzLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFXM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUVWLHFCQUFxQixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQzVFLElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRWdCLHNCQUFzQixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQzdFLElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVksQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBd0I7SUFFN0IsT0FBTyxDQUEwQjtJQUVqQyxXQUFXLENBQThCO0lBRXpDLE1BQU0sR0FBZ0IsRUFBRSxDQUFDO0lBRXpCLFlBQVksR0FBc0IsRUFBRSxDQUFDO0lBRXJDLGVBQWUsQ0FBOEI7SUFFN0MsUUFBUSxHQUFrQixFQUFFLENBQUM7SUFFN0IsUUFBUSxHQUFxQixFQUFFLENBQUM7SUFFaEMsT0FBTyxHQUFxQixFQUFFLENBQUM7SUFFL0IsUUFBUSxHQUFxQixFQUFFLENBQUM7SUFFaEMsVUFBVSxDQUE2QjtJQUV2QyxRQUFRLENBQUMsT0FBaUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sWUFBWSxDQUFJLFVBQWUsRUFBRSxTQUFZO1FBQ2xELFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxlQUFlLENBQUksVUFBZSxFQUFFLFNBQVk7UUFDckQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBRU0sb0JBQW9CO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO3VHQTdEVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZGbG93QmFzZSB9IGZyb20gJy4uL2YtZmxvdyc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uL2YtY2FudmFzJztcbmltcG9ydCB7IEZCYWNrZ3JvdW5kQmFzZSB9IGZyb20gJy4uL2YtYmFja2dyb3VkJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4uL2YtZHJhZ2dhYmxlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZDb21wb25lbnRzU3RvcmUge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50c0RhdGFDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIGdldCBjb21wb25lbnRzRGF0YSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50c0RhdGFDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRzQ291bnRDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIGdldCBjb21wb25lbnRzQ291bnQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudHNDb3VudENoYW5nZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mRmxvdz8uaG9zdEVsZW1lbnQhO1xuICB9XG5cbiAgcHVibGljIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ2FudmFzPy50cmFuc2Zvcm0hO1xuICB9XG5cbiAgcHVibGljIGZGbG93OiBGRmxvd0Jhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZDYW52YXM6IEZDYW52YXNCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmQmFja2dyb3VuZDogRkJhY2tncm91bmRCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBmTm9kZXM6IEZOb2RlQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZDb25uZWN0aW9uczogRkNvbm5lY3Rpb25CYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZlRlbXBDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZNYXJrZXJzOiBGTWFya2VyQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZPdXRwdXRzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZJbnB1dHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZk91dGxldHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZkRyYWdnYWJsZTogRkRyYWdnYWJsZUJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZpbmROb2RlKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IEZOb2RlQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZk5vZGVzLmZpbmQobiA9PiBuLmlzQ29udGFpbnMoZWxlbWVudCkpO1xuICB9XG5cbiAgcHVibGljIGFkZENvbXBvbmVudDxUPihjb2xsZWN0aW9uOiBUW10sIGNvbXBvbmVudDogVCk6IHZvaWQge1xuICAgIGNvbGxlY3Rpb24ucHVzaChjb21wb25lbnQpO1xuICAgIHRoaXMuY29tcG9uZW50c0NvdW50Q2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ29tcG9uZW50PFQ+KGNvbGxlY3Rpb246IFRbXSwgY29tcG9uZW50OiBUKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSBjb2xsZWN0aW9uLmluZGV4T2YoY29tcG9uZW50KTtcbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgY29sbGVjdGlvbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgdGhpcy5jb21wb25lbnRzQ291bnRDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29tcG9uZW50RGF0YUNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRzRGF0YUNoYW5nZXMubmV4dCgpO1xuICB9XG59XG4iXX0=
@@ -3,10 +3,10 @@ import { Subject } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export class FTransformStore {
5
5
  changes = new Subject();
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FTransformStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FTransformStore });
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FTransformStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FTransformStore });
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FTransformStore, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FTransformStore, decorators: [{
10
10
  type: Injectable
11
11
  }] });
12
12
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi10cmFuc2Zvcm0tc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytc3RvcmFnZS9mLXRyYW5zZm9ybS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxlQUFlO0lBRVYsT0FBTyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO3VHQUZsRCxlQUFlOzJHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGVHJhbnNmb3JtU3RvcmUge1xuXG4gIHB1YmxpYyByZWFkb25seSBjaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbn1cbiJdfQ==
@@ -27,10 +27,10 @@ export class FZoomDirective extends FZoomBase {
27
27
  ngOnDestroy() {
28
28
  super.unsubscribe();
29
29
  }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FZoomDirective, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive });
31
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: FZoomDirective, selector: "f-canvas[fZoom]", inputs: { fFlowZoom: ["fZoom", "fFlowZoom"], minimum: ["fZoomMinimum", "minimum"], maximum: ["fZoomMaximum", "maximum"], step: ["fZoomStep", "step"], dblClickStep: ["fZoomDblClickStep", "dblClickStep"] }, host: { classAttribute: "f-zoom f-component" }, providers: [{ provide: F_ZOOM, useExisting: FZoomDirective }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 });
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FZoomDirective, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive });
31
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.3", type: FZoomDirective, selector: "f-canvas[fZoom]", inputs: { fFlowZoom: ["fZoom", "fFlowZoom"], minimum: ["fZoomMinimum", "minimum"], maximum: ["fZoomMaximum", "maximum"], step: ["fZoomStep", "step"], dblClickStep: ["fZoomDblClickStep", "dblClickStep"] }, host: { classAttribute: "f-zoom f-component" }, providers: [{ provide: F_ZOOM, useExisting: FZoomDirective }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 });
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FZoomDirective, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FZoomDirective, decorators: [{
34
34
  type: Directive,
35
35
  args: [{
36
36
  selector: "f-canvas[fZoom]",
@@ -21,10 +21,10 @@ export class FFlowMediator {
21
21
  }
22
22
  throw new Error('Handler not registered for request type.');
23
23
  }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FFlowMediator, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
25
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FFlowMediator });
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FFlowMediator, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FFlowMediator });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: FFlowMediator, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: FFlowMediator, decorators: [{
28
28
  type: Injectable
29
29
  }], ctorParameters: () => [{ type: i0.Injector }] });
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LW1lZGlhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9pbmZyYXN0cnVjdHVyZS9mLW1lZGlhdG9yL2YtZmxvdy1tZWRpYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQTBCLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFHL0QsTUFBTSxPQUFPLGFBQWE7SUFHZDtJQURWLFlBQ1UsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUU1QixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBOEIsQ0FBQztJQUV6RCxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLElBQW9CLEVBQ3BCLE9BQTJFLEVBQzNFLFdBQW9CO1FBRXBCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsRUFBdUIsQ0FBQztRQUN0RixXQUFXO1lBQ1QsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBcUMsQ0FBQztZQUM5RCxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFnRCxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sSUFBSSxDQUFZLE9BQVk7UUFDakMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUM5RCxDQUFDO3VHQTdCVSxhQUFhOzJHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUV4ZWN1dGlvbiwgSVZhbGlkYXRvciwgUGlwZWxpbmUgfSBmcm9tICcuLi9waXBlbGluZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGRmxvd01lZGlhdG9yIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHBpcGVsaW5lcyA9IG5ldyBNYXA8c3RyaW5nLCBQaXBlbGluZTxhbnksIGFueT4+KCk7XG5cbiAgcHVibGljIHN0YXRpYyByZWdpc3RlclBpcGVsaW5lPFRSZXF1ZXN0LCBUUmVzcG9uc2U+KFxuICAgIHR5cGU6IFR5cGU8VFJlcXVlc3Q+LFxuICAgIGhhbmRsZXI6IFR5cGU8SVZhbGlkYXRvcjxUUmVxdWVzdD4+IHwgVHlwZTxJRXhlY3V0aW9uPFRSZXF1ZXN0LCBUUmVzcG9uc2U+PixcbiAgICBpc1ZhbGlkYXRvcjogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBjb25zdCBwaXBlbGluZSA9IHRoaXMucGlwZWxpbmVzLmdldCh0eXBlLm5hbWUpIHx8IG5ldyBQaXBlbGluZTxUUmVxdWVzdCwgVFJlc3BvbnNlPigpO1xuICAgIGlzVmFsaWRhdG9yXG4gICAgICA/IHBpcGVsaW5lLnNldFZhbGlkYXRvcihoYW5kbGVyIGFzIFR5cGU8SVZhbGlkYXRvcjxUUmVxdWVzdD4+KVxuICAgICAgOiBwaXBlbGluZS5zZXRFeGVjdXRpb24oaGFuZGxlciBhcyBUeXBlPElFeGVjdXRpb248VFJlcXVlc3QsIFRSZXNwb25zZT4+KTtcblxuICAgIHRoaXMucGlwZWxpbmVzLnNldCh0eXBlLm5hbWUsIHBpcGVsaW5lKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kPFRSZXNwb25zZT4ocmVxdWVzdDogYW55KTogVFJlc3BvbnNlIHtcbiAgICBjb25zdCBwaXBlbGluZSA9IEZGbG93TWVkaWF0b3IucGlwZWxpbmVzLmdldChyZXF1ZXN0LmNvbnN0cnVjdG9yLm5hbWUpO1xuICAgIGlmIChwaXBlbGluZSkge1xuICAgICAgcmV0dXJuIHBpcGVsaW5lLmhhbmRsZShyZXF1ZXN0LCB0aGlzLmluamVjdG9yKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0hhbmRsZXIgbm90IHJlZ2lzdGVyZWQgZm9yIHJlcXVlc3QgdHlwZS4nKTtcbiAgfVxufVxuIl19
@@ -13,6 +13,7 @@ export declare abstract class FCanvasBase extends MIXIN_BASE implements IHasHost
13
13
  abstract fCanvasChange: EventEmitter<FCanvasChangeEvent>;
14
14
  abstract fNodes: FNodeBase[];
15
15
  abstract hostElement: HTMLElement;
16
+ abstract fGroupsContainer: ElementRef<HTMLElement>;
16
17
  abstract fNodesContainer: ElementRef<HTMLElement>;
17
18
  abstract fConnectionsContainer: ElementRef<HTMLElement>;
18
19
  protected constructor();
@@ -15,6 +15,7 @@ export declare class FCanvasComponent extends FCanvasBase implements OnInit {
15
15
  set scale(value: number | undefined);
16
16
  get fNodes(): FNodeBase[];
17
17
  get hostElement(): HTMLElement;
18
+ fGroupsContainer: ElementRef<HTMLElement>;
18
19
  fNodesContainer: ElementRef<HTMLElement>;
19
20
  fConnectionsContainer: ElementRef<HTMLElement>;
20
21
  constructor(elementReference: ElementRef<HTMLElement>, fMediator: FFlowMediator, fComponentsStore: FComponentsStore);
@@ -24,5 +25,5 @@ export declare class FCanvasComponent extends FCanvasBase implements OnInit {
24
25
  fitToScreen(toCenter?: IPoint, animated?: boolean): void;
25
26
  oneToOne(): void;
26
27
  static ɵfac: i0.ɵɵFactoryDeclaration<FCanvasComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<FCanvasComponent, "f-canvas", ["fComponent"], { "position": { "alias": "position"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; }, { "fCanvasChange": "fCanvasChange"; }, never, ["f-connection", "f-connection-for-create", "[fGroup]", "[fNode]"], false, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<FCanvasComponent, "f-canvas", ["fComponent"], { "position": { "alias": "position"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; }, { "fCanvasChange": "fCanvasChange"; }, never, ["[fGroup]", "f-connection", "f-connection-for-create", "[fNode]"], false, never>;
28
29
  }
@@ -24,7 +24,7 @@ declare const MIXIN_BASE: import("@foblex/core").Constructor<ISelectable> & impo
24
24
  };
25
25
  export declare abstract class FConnectionBase extends MIXIN_BASE implements IHasHostElement, ISelectable, ICanChangeConnectionVisibility, IHasStateChanges, IHasConnectionColor, IHasConnectionFromTo, IHasConnectionText {
26
26
  private cFactory;
27
- abstract fConnectionId: string;
27
+ abstract fId: string;
28
28
  abstract fStartColor: string;
29
29
  abstract fEndColor: string;
30
30
  abstract fOutputId: string;
@@ -48,6 +48,7 @@ export declare abstract class FConnectionBase extends MIXIN_BASE implements IHas
48
48
  abstract fTextComponent: IConnectionText;
49
49
  abstract fText: string;
50
50
  abstract fConnectionCenter: ElementRef<HTMLDivElement>;
51
+ private penultimatePoint;
51
52
  protected constructor(elementReference: ElementRef<HTMLElement>, cFactory: FConnectionFactory);
52
53
  initialize(): void;
53
54
  isContains(element: HTMLElement | SVGElement): boolean;
@@ -7,7 +7,7 @@ export declare class FConnectionDragHandleComponent implements IHasHostElement {
7
7
  readonly class: string;
8
8
  get hostElement(): SVGCircleElement;
9
9
  constructor(elementReference: ElementRef<SVGCircleElement>);
10
- redraw(start: IPoint, end: IPoint): void;
10
+ redraw(penultimatePoint: IPoint, endPoint: IPoint): void;
11
11
  private calculateCircleCenter;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionDragHandleComponent, never>;
13
13
  static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionDragHandleComponent, "circle[f-connection-drag-handle]", never, {}, {}, never, never, false, never>;
@@ -1,5 +1,5 @@
1
1
  export interface IHasConnectionFromTo {
2
- fConnectionId: string;
2
+ fId: string;
3
3
  fOutputId: string;
4
4
  fInputId: string;
5
5
  }
@@ -1,5 +1,6 @@
1
1
  import { IHasHostElement, AbstractConstructor, Constructor } from '@foblex/core';
2
2
  export interface ISelectable {
3
+ fId: string;
3
4
  fSelectionDisabled: boolean;
4
5
  hostElement: HTMLElement | SVGElement;
5
6
  select(): void;
@@ -1,15 +1,16 @@
1
1
  import { ElementRef, OnDestroy, OnInit, QueryList } from "@angular/core";
2
- import { FConnectionBase, FConnectionDragHandleComponent, FConnectionSelectionComponent, IConnectionGradient, IConnectionPath, IConnectionText } from '../common';
2
+ import { FConnectionDragHandleComponent, FConnectionSelectionComponent, IConnectionGradient, IConnectionPath, IConnectionText } from '../common';
3
3
  import { EFConnectionBehavior } from '../common';
4
4
  import { EFConnectionType } from '../common';
5
5
  import { FComponentsStore } from '../../f-storage';
6
6
  import { FMarkerBase } from '../f-marker';
7
7
  import { FConnectionCenterDirective } from '../f-connection-center';
8
8
  import { FConnectionFactory } from '../f-connection-builder';
9
+ import { FConnectionBase } from '../common/f-connection-base';
9
10
  import * as i0 from "@angular/core";
10
11
  export declare class FConnectionComponent extends FConnectionBase implements OnInit, OnDestroy {
11
12
  private fComponentsStore;
12
- fConnectionId: string;
13
+ fId: string;
13
14
  private _fText;
14
15
  set fText(value: string);
15
16
  get fText(): string;
@@ -53,5 +54,5 @@ export declare class FConnectionComponent extends FConnectionBase implements OnI
53
54
  ngOnInit(): void;
54
55
  ngOnDestroy(): void;
55
56
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionComponent, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionComponent, "f-connection", ["fComponent"], { "fConnectionId": { "alias": "fConnectionId"; "required": false; }; "fText": { "alias": "fText"; "required": false; }; "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fOutputId": { "alias": "fOutputId"; "required": false; }; "fInputId": { "alias": "fInputId"; "required": false; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fDraggingDisabled": { "alias": "fReassignDisabled"; "required": false; }; "fSelectionDisabled": { "alias": "fSelectionDisabled"; "required": false; }; }, {}, ["fConnectionCenters"], ["*", "[fConnectionCenter]"], false, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionComponent, "f-connection", ["fComponent"], { "fId": { "alias": "fConnectionId"; "required": false; }; "fText": { "alias": "fText"; "required": false; }; "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fOutputId": { "alias": "fOutputId"; "required": false; }; "fInputId": { "alias": "fInputId"; "required": false; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fDraggingDisabled": { "alias": "fReassignDisabled"; "required": false; }; "fSelectionDisabled": { "alias": "fSelectionDisabled"; "required": false; }; }, {}, ["fConnectionCenters"], ["*", "[fConnectionCenter]"], false, never>;
57
58
  }
@@ -2,4 +2,5 @@ import { IPoint } from '@foblex/core';
2
2
  export interface IFConnectionBuilderResponse {
3
3
  path: string;
4
4
  connectionCenter: IPoint;
5
+ penultimatePoint: IPoint;
5
6
  }
@@ -1,15 +1,16 @@
1
1
  import { AfterViewInit, ElementRef, OnDestroy, OnInit, QueryList } from "@angular/core";
2
- import { FConnectionBase, FConnectionDragHandleComponent, FConnectionSelectionComponent, IConnectionGradient, IConnectionPath, IConnectionText } from '../common';
2
+ import { FConnectionDragHandleComponent, FConnectionSelectionComponent, IConnectionGradient, IConnectionPath, IConnectionText } from '../common';
3
3
  import { EFConnectionBehavior } from '../common';
4
4
  import { EFConnectionType } from '../common';
5
5
  import { FMarkerBase } from '../f-marker';
6
6
  import { FConnectionCenterDirective } from '../f-connection-center';
7
7
  import { FConnectionFactory } from '../f-connection-builder';
8
8
  import { FComponentsStore } from '../../f-storage';
9
+ import { FConnectionBase } from '../common/f-connection-base';
9
10
  import * as i0 from "@angular/core";
10
11
  export declare class FConnectionForCreateComponent extends FConnectionBase implements AfterViewInit, OnInit, OnDestroy {
11
12
  private fComponentsStore;
12
- fConnectionId: string;
13
+ fId: string;
13
14
  fText: string;
14
15
  private _fStartColor;
15
16
  set fStartColor(value: string);
@@ -48,5 +49,5 @@ export declare class FConnectionForCreateComponent extends FConnectionBase imple
48
49
  ngAfterViewInit(): void;
49
50
  ngOnDestroy(): void;
50
51
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionForCreateComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionForCreateComponent, "f-connection-for-create", never, { "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; }, {}, ["fConnectionCenters"], ["*", "[fConnectionCenter]"], false, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionForCreateComponent, "f-connection-for-create", never, { "fId": { "alias": "fConnectionId"; "required": false; }; "fStartColor": { "alias": "fStartColor"; "required": false; }; "fEndColor": { "alias": "fEndColor"; "required": false; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; }, {}, ["fConnectionCenters"], ["*", "[fConnectionCenter]"], false, never>;
52
53
  }
@@ -12,6 +12,7 @@ export declare class CanvasMovePreparationValidator implements IValidator<Canvas
12
12
  private isBackgroundElement;
13
13
  private isDragOnHost;
14
14
  private getNode;
15
+ private isNodeHasDragHandle;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<CanvasMovePreparationValidator, never>;
16
17
  static ɵprov: i0.ɵɵInjectableDeclaration<CanvasMovePreparationValidator>;
17
18
  }
@@ -1,10 +1,8 @@
1
1
  import { IPoint } from '@foblex/core';
2
2
  import { IDraggableItem } from '../i-draggable-item';
3
- import { EFDraggableType } from '../e-f-draggable-type';
4
3
  import { FComponentsStore } from '../../f-storage';
5
4
  export declare class CanvasDragHandler implements IDraggableItem {
6
5
  private fComponentsStore;
7
- readonly type: EFDraggableType;
8
6
  private onPointerDownPosition;
9
7
  constructor(fComponentsStore: FComponentsStore);
10
8
  initialize(): void;
@@ -8,6 +8,7 @@ export declare class CreateConnectionDragHandlerExecution implements IHandler<Cr
8
8
  private fComponentsStore;
9
9
  private fDraggableDataContext;
10
10
  private fMediator;
11
+ private get flowHost();
11
12
  private get transform();
12
13
  constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fMediator: FFlowMediator);
13
14
  handle(request: CreateConnectionDragHandlerRequest): void;
@@ -1,8 +1,7 @@
1
1
  import { IPoint } from '@foblex/core';
2
2
  import { FConnectorBase } from '../../../../../f-connectors';
3
3
  export declare class CreateConnectionDragHandlerRequest {
4
- position: IPoint;
4
+ onPointerDownPosition: IPoint;
5
5
  connector: FConnectorBase;
6
- connectorCenter: IPoint;
7
- constructor(position: IPoint, connector: FConnectorBase, connectorCenter: IPoint);
6
+ constructor(onPointerDownPosition: IPoint, connector: FConnectorBase);
8
7
  }
@@ -6,7 +6,6 @@ import * as i0 from "@angular/core";
6
6
  export declare class CreateConnectionFromOutletPreparationExecution implements IHandler<CreateConnectionFromOutletPreparationRequest, void> {
7
7
  private fComponentsStore;
8
8
  private fMediator;
9
- private get flowHost();
10
9
  constructor(fComponentsStore: FComponentsStore, fMediator: FFlowMediator);
11
10
  handle(request: CreateConnectionFromOutletPreparationRequest): void;
12
11
  private createDragHandler;
@@ -6,7 +6,6 @@ import * as i0 from "@angular/core";
6
6
  export declare class CreateConnectionFromOutputPreparationExecution implements IHandler<CreateConnectionFromOutputPreparationRequest, void> {
7
7
  private fComponentsStore;
8
8
  private fMediator;
9
- private get flowHost();
10
9
  constructor(fComponentsStore: FComponentsStore, fMediator: FFlowMediator);
11
10
  handle(request: CreateConnectionFromOutputPreparationRequest): void;
12
11
  private createDragHandler;
@@ -1,17 +1,15 @@
1
1
  import { IPoint } from '@foblex/core';
2
2
  import { IDraggableItem } from '../../i-draggable-item';
3
- import { EFDraggableType } from '../../e-f-draggable-type';
4
3
  import { FConnectionBase } from '../../../f-connection';
5
4
  import { FFlowMediator } from '../../../infrastructure';
6
5
  export declare class CreateConnectionDragHandler implements IDraggableItem {
7
6
  private fMediator;
8
7
  connection: FConnectionBase;
9
- private mouseDownPoint;
10
- readonly type: EFDraggableType;
8
+ private onPointerDownPosition;
11
9
  private onPointerDownFromConnectorRect;
12
10
  private onPointerDownToConnectorRect;
13
11
  private outputSide;
14
- constructor(fMediator: FFlowMediator, connection: FConnectionBase, mouseDownPoint: IPoint);
12
+ constructor(fMediator: FFlowMediator, connection: FConnectionBase, onPointerDownPosition: IPoint);
15
13
  initialize(): void;
16
14
  move(difference: IPoint): void;
17
15
  complete(): void;
@@ -1,12 +1,10 @@
1
1
  import { IPoint } from '@foblex/core';
2
2
  import { IDraggableItem } from '../../i-draggable-item';
3
- import { EFDraggableType } from '../../e-f-draggable-type';
4
3
  import { FConnectionBase } from '../../../f-connection';
5
4
  import { FFlowMediator } from '../../../infrastructure';
6
5
  export declare class ReassignConnectionDragHandler implements IDraggableItem {
7
6
  private fMediator;
8
7
  connection: FConnectionBase;
9
- readonly type: EFDraggableType;
10
8
  private onPointerDownFromConnectorRect;
11
9
  private onPointerDownToConnectorRect;
12
10
  private outputSide;
@@ -0,0 +1,7 @@
1
+ export declare class ConvertComputedToPixelsRequest {
2
+ value: string;
3
+ clientWidth: number;
4
+ clientHeight: number;
5
+ fontSize: string;
6
+ constructor(value: string, clientWidth: number, clientHeight: number, fontSize: string);
7
+ }
@@ -0,0 +1,12 @@
1
+ import { ConvertComputedToPixelsRequest } from './convert-computed-to-pixels-request';
2
+ import { WindowService } from '@foblex/core';
3
+ import { IExecution } from '../../../infrastructure';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ConvertComputedToPixelsExecution implements IExecution<ConvertComputedToPixelsRequest, number> {
6
+ private windowService;
7
+ constructor(windowService: WindowService);
8
+ handle(request: ConvertComputedToPixelsRequest): number;
9
+ private convert;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConvertComputedToPixelsExecution, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConvertComputedToPixelsExecution>;
12
+ }
@@ -0,0 +1,2 @@
1
+ export * from './convert-computed-to-pixels.execution';
2
+ export * from './convert-computed-to-pixels-request';
@@ -0,0 +1,12 @@
1
+ import { GetNodePaddingRequest } from './get-node-padding.request';
2
+ import { FFlowMediator, IExecution } from '../../../infrastructure';
3
+ import * as i0 from "@angular/core";
4
+ export declare class GetNodePaddingExecution implements IExecution<GetNodePaddingRequest, [number, number, number, number]> {
5
+ private fMediator;
6
+ constructor(fMediator: FFlowMediator);
7
+ handle(request: GetNodePaddingRequest): [number, number, number, number];
8
+ private getPaddingData;
9
+ private convertToPixels;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<GetNodePaddingExecution, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<GetNodePaddingExecution>;
12
+ }