@foblex/flow 14.0.0 → 16.0.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 (678) hide show
  1. package/esm2022/domain/create-connection-markers/create-connection-markers.execution.mjs +60 -0
  2. package/esm2022/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.mjs +38 -0
  3. package/esm2022/domain/emit-transform-changes/emit-transform-changes.execution.mjs +23 -0
  4. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +46 -0
  5. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +48 -0
  6. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +55 -0
  7. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +32 -0
  8. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +27 -0
  9. package/esm2022/domain/f-canvas/reset-scale/reset-scale.execution.mjs +28 -0
  10. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +50 -0
  11. package/esm2022/domain/f-canvas/update-scale/update-scale.execution.mjs +33 -0
  12. package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.mjs +38 -0
  13. package/esm2022/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +54 -0
  14. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +27 -0
  15. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +25 -0
  16. package/esm2022/domain/f-selection/get-selection/get-selection.execution.mjs +34 -0
  17. package/esm2022/domain/f-selection/select/select.execution.mjs +43 -0
  18. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +37 -0
  19. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +34 -0
  20. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +56 -0
  21. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +66 -0
  22. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +34 -0
  23. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +42 -0
  24. package/esm2022/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +32 -0
  25. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +49 -0
  26. package/esm2022/domain/get-flow-state/get-flow-state.execution.mjs +38 -0
  27. package/esm2022/domain/get-nodes-rect/get-nodes-rect.execution.mjs +30 -0
  28. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +31 -0
  29. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +33 -0
  30. package/esm2022/domain/is-connection-under-node/is-connection-under-node.execution.mjs +75 -0
  31. package/esm2022/domain/redraw-connections/redraw-connections.execution.mjs +62 -0
  32. package/esm2022/domain/show-connections-after-calculations/show-connections-after-calculations.execution.mjs +25 -0
  33. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +29 -0
  34. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +56 -0
  35. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +58 -0
  36. package/esm2022/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +25 -0
  37. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +29 -0
  38. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +93 -0
  39. package/{esm2020 → esm2022}/f-backgroud/f-background-base.mjs +4 -4
  40. package/{esm2020 → esm2022}/f-backgroud/f-background.component.mjs +7 -7
  41. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +104 -0
  42. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +122 -0
  43. package/{esm2020 → esm2022}/f-canvas/f-canvas-base.mjs +4 -4
  44. package/esm2022/f-canvas/f-canvas.component.mjs +86 -0
  45. package/esm2022/f-connection/common/f-connection-base.mjs +66 -0
  46. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +70 -0
  47. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +66 -0
  48. package/{esm2020 → esm2022}/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +7 -7
  49. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +63 -0
  50. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +59 -0
  51. package/{esm2020 → esm2022}/f-connection/common/f-selection/f-connection-selection.component.mjs +8 -8
  52. package/esm2022/f-connection/f-connection/f-connection.component.mjs +171 -0
  53. package/{esm2020 → esm2022}/f-connection/f-connection-builder/f-connection-factory.mjs +4 -4
  54. package/{esm2020 → esm2022}/f-connection/f-connection-center/f-connection-center.directive.mjs +4 -4
  55. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +136 -0
  56. package/{esm2020 → esm2022}/f-connection/f-marker/f-marker-base.mjs +4 -4
  57. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +58 -0
  58. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +136 -0
  59. package/{esm2020 → esm2022}/f-connectors/f-node-input/f-node-input-base.mjs +4 -4
  60. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +87 -0
  61. package/{esm2020 → esm2022}/f-connectors/f-node-outlet/f-node-outlet-base.mjs +4 -4
  62. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +71 -0
  63. package/{esm2020 → esm2022}/f-connectors/f-node-output/f-node-output-base.mjs +4 -4
  64. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +94 -0
  65. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +23 -0
  66. package/esm2022/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +24 -0
  67. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +35 -0
  68. package/esm2022/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +42 -0
  69. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +54 -0
  70. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +24 -0
  71. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +43 -0
  72. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +52 -0
  73. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +38 -0
  74. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +33 -0
  75. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +42 -0
  76. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +31 -0
  77. package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +13 -8
  78. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +42 -0
  79. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +26 -0
  80. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +84 -0
  81. package/esm2022/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +34 -0
  82. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +49 -0
  83. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +24 -0
  84. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +63 -0
  85. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +43 -0
  86. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +66 -0
  87. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +32 -0
  88. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +28 -0
  89. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +47 -0
  90. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +35 -0
  91. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +33 -0
  92. package/{esm2020 → esm2022}/f-draggable/f-draggable-base.mjs +4 -4
  93. package/{esm2020 → esm2022}/f-draggable/f-draggable-data-context.mjs +4 -4
  94. package/esm2022/f-draggable/f-draggable.directive.mjs +160 -0
  95. package/{esm2020 → esm2022}/f-draggable/node/connection-base-drag-handler.mjs +4 -4
  96. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +84 -0
  97. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +43 -0
  98. 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 +69 -0
  99. 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 +69 -0
  100. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +50 -0
  101. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +24 -0
  102. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +58 -0
  103. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +40 -0
  104. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +48 -0
  105. package/{esm2020 → esm2022}/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +1 -1
  106. package/esm2022/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +48 -0
  107. package/esm2022/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +24 -0
  108. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +33 -0
  109. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +36 -0
  110. package/{esm2020 → esm2022}/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  111. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +37 -0
  112. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +7 -0
  113. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +25 -0
  114. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +24 -0
  115. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +52 -0
  116. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +40 -0
  117. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +49 -0
  118. package/esm2022/f-draggable/single-select/single-select.execution.mjs +88 -0
  119. package/esm2022/f-draggable/single-select/single-select.validator.mjs +26 -0
  120. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +56 -0
  121. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +24 -0
  122. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +42 -0
  123. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +28 -0
  124. package/{esm2020 → esm2022}/f-external-item/f-external-item-base.mjs +4 -4
  125. package/{esm2020 → esm2022}/f-external-item/f-external-item.directive.mjs +9 -9
  126. package/{esm2020 → esm2022}/f-external-item/f-external-item.service.mjs +4 -4
  127. package/esm2022/f-flow/f-flow.component.mjs +118 -0
  128. package/{esm2020 → esm2022}/f-flow.module.mjs +5 -5
  129. package/{esm2020 → esm2022}/f-line-alignment/f-line-alignment-base.mjs +4 -4
  130. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +92 -0
  131. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +41 -0
  132. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +25 -0
  133. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +24 -0
  134. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +48 -0
  135. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +27 -0
  136. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +66 -0
  137. package/{esm2020 → esm2022}/f-minimap/f-minimap-flow.directive.mjs +10 -10
  138. package/{esm2020 → esm2022}/f-minimap/f-minimap-view.directive.mjs +8 -8
  139. package/{esm2020 → esm2022}/f-minimap/f-minimap.component.mjs +6 -6
  140. package/{esm2020 → esm2022}/f-node/f-drag-handle/f-drag-handle.directive.mjs +7 -7
  141. package/esm2022/f-node/f-group.directive.mjs +145 -0
  142. package/esm2022/f-node/f-node.directive.mjs +146 -0
  143. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +43 -0
  144. package/{esm2020 → esm2022}/f-node/f-rotate-handle/f-rotate-handle.directive.mjs +5 -5
  145. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +25 -0
  146. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +24 -0
  147. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +37 -0
  148. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +30 -0
  149. package/{esm2020 → esm2022}/f-selection-area/domain/selection-area.drag-handle.mjs +4 -4
  150. package/{esm2020 → esm2022}/f-selection-area/f-selection-area-base.mjs +4 -4
  151. package/{esm2020 → esm2022}/f-selection-area/f-selection-area.component.mjs +9 -9
  152. package/{esm2020 → esm2022}/f-storage/f-components-store.mjs +4 -4
  153. package/{esm2020 → esm2022}/f-storage/f-transform-store.mjs +4 -4
  154. package/esm2022/f-zoom/f-zoom-base.mjs +97 -0
  155. package/esm2022/f-zoom/f-zoom.directive.mjs +59 -0
  156. package/esm2022/mixins/change-selection/change-selection.mjs +28 -0
  157. package/f-backgroud/f-background-base.d.ts +1 -1
  158. package/f-backgroud/f-background.component.d.ts +1 -1
  159. package/f-backgroud/f-circle-pattern/f-circle-pattern.component.d.ts +1 -1
  160. package/f-backgroud/f-rect-pattern/f-rect-pattern.component.d.ts +1 -1
  161. package/f-canvas/f-canvas-base.d.ts +1 -1
  162. package/f-canvas/f-canvas.component.d.ts +1 -1
  163. package/f-connection/common/f-connection-base.d.ts +1 -1
  164. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -1
  165. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +1 -1
  166. package/f-connection/common/f-drag-handle/f-connection-drag-handle.component.d.ts +1 -1
  167. package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +1 -1
  168. package/f-connection/common/f-path/f-connection-path.component.d.ts +1 -1
  169. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +1 -1
  170. package/f-connection/f-connection/f-connection.component.d.ts +1 -1
  171. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +1 -1
  172. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  173. package/f-connection/f-marker/f-marker-base.d.ts +1 -1
  174. package/f-connection/f-marker/f-marker.directive.d.ts +1 -1
  175. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +1 -1
  176. package/f-connectors/f-node-input/f-node-input-base.d.ts +1 -1
  177. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -1
  178. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -1
  179. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -1
  180. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -1
  181. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -1
  182. package/f-draggable/connections/providers.d.ts +1 -1
  183. package/f-draggable/f-draggable-base.d.ts +1 -1
  184. package/f-draggable/f-draggable.directive.d.ts +1 -1
  185. package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
  186. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  187. package/f-draggable/node/providers.d.ts +1 -1
  188. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +1 -0
  189. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +2 -1
  190. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -1
  191. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +2 -3
  192. package/f-draggable/node-resize/providers.d.ts +1 -1
  193. package/f-draggable/providers.d.ts +1 -1
  194. package/f-external-item/f-external-item-base.d.ts +1 -1
  195. package/f-external-item/f-external-item.directive.d.ts +1 -1
  196. package/f-flow/f-flow.component.d.ts +1 -1
  197. package/f-line-alignment/f-line-alignment-base.d.ts +1 -1
  198. package/f-line-alignment/f-line-alignment.component.d.ts +1 -1
  199. package/f-minimap/f-minimap-canvas.directive.d.ts +1 -1
  200. package/f-minimap/f-minimap-flow.directive.d.ts +1 -1
  201. package/f-minimap/f-minimap-view.directive.d.ts +1 -1
  202. package/f-minimap/f-minimap.component.d.ts +1 -1
  203. package/f-node/f-drag-handle/f-drag-handle.directive.d.ts +1 -1
  204. package/f-node/f-group.directive.d.ts +1 -1
  205. package/f-node/f-node.directive.d.ts +1 -1
  206. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  207. package/f-selection-area/f-selection-area-base.d.ts +1 -1
  208. package/f-selection-area/f-selection-area.component.d.ts +1 -1
  209. package/f-zoom/f-zoom.directive.d.ts +1 -1
  210. package/{fesm2020 → fesm2022}/foblex-flow.mjs +870 -854
  211. package/fesm2022/foblex-flow.mjs.map +1 -0
  212. package/mixins/change-selection/change-selection.d.ts +1 -1
  213. package/mixins/change-visibility/change-visibility.d.ts +1 -1
  214. package/mixins/constructor.d.ts +2 -2
  215. package/package.json +5 -11
  216. package/esm2020/domain/create-connection-markers/create-connection-markers.execution.mjs +0 -61
  217. package/esm2020/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.mjs +0 -39
  218. package/esm2020/domain/emit-transform-changes/emit-transform-changes.execution.mjs +0 -24
  219. package/esm2020/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +0 -47
  220. package/esm2020/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +0 -49
  221. package/esm2020/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +0 -56
  222. package/esm2020/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +0 -33
  223. package/esm2020/domain/f-canvas/input-canvas-scale/input-canvas-scale.execution.mjs +0 -28
  224. package/esm2020/domain/f-canvas/reset-scale/reset-scale.execution.mjs +0 -29
  225. package/esm2020/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +0 -51
  226. package/esm2020/domain/f-canvas/update-scale/update-scale.execution.mjs +0 -34
  227. package/esm2020/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.mjs +0 -39
  228. package/esm2020/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.execution.mjs +0 -55
  229. package/esm2020/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +0 -28
  230. package/esm2020/domain/f-selection/clear-selection/clear-selection.execution.mjs +0 -26
  231. package/esm2020/domain/f-selection/get-selection/get-selection.execution.mjs +0 -35
  232. package/esm2020/domain/f-selection/select/select.execution.mjs +0 -44
  233. package/esm2020/domain/f-selection/select-all/select-all.execution.mjs +0 -38
  234. package/esm2020/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +0 -35
  235. package/esm2020/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -57
  236. package/esm2020/domain/get-connection-line/get-connection-line.execution.mjs +0 -67
  237. package/esm2020/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +0 -35
  238. package/esm2020/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +0 -43
  239. package/esm2020/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -33
  240. package/esm2020/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -50
  241. package/esm2020/domain/get-flow-state/get-flow-state.execution.mjs +0 -39
  242. package/esm2020/domain/get-nodes-rect/get-nodes-rect.execution.mjs +0 -31
  243. package/esm2020/domain/get-position-in-flow/get-position-in-flow.execution.mjs +0 -32
  244. package/esm2020/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +0 -34
  245. package/esm2020/domain/is-connection-under-node/is-connection-under-node.execution.mjs +0 -76
  246. package/esm2020/domain/redraw-connections/redraw-connections.execution.mjs +0 -63
  247. package/esm2020/domain/show-connections-after-calculations/show-connections-after-calculations.execution.mjs +0 -26
  248. package/esm2020/domain/sort-item-layers/sort-item-layers.execution.mjs +0 -30
  249. package/esm2020/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +0 -57
  250. package/esm2020/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +0 -59
  251. package/esm2020/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.execution.mjs +0 -26
  252. package/esm2020/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -30
  253. package/esm2020/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +0 -94
  254. package/esm2020/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +0 -104
  255. package/esm2020/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +0 -122
  256. package/esm2020/f-canvas/f-canvas.component.mjs +0 -86
  257. package/esm2020/f-connection/common/f-connection-base.mjs +0 -66
  258. package/esm2020/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +0 -70
  259. package/esm2020/f-connection/common/f-connection-text/f-connection-text.component.mjs +0 -66
  260. package/esm2020/f-connection/common/f-gradient/f-connection-gradient.component.mjs +0 -63
  261. package/esm2020/f-connection/common/f-path/f-connection-path.component.mjs +0 -59
  262. package/esm2020/f-connection/f-connection/f-connection.component.mjs +0 -171
  263. package/esm2020/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +0 -136
  264. package/esm2020/f-connection/f-marker/f-marker.directive.mjs +0 -58
  265. package/esm2020/f-connection/f-snap-connection/f-snap-connection.component.mjs +0 -136
  266. package/esm2020/f-connectors/f-node-input/f-node-input.directive.mjs +0 -87
  267. package/esm2020/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +0 -71
  268. package/esm2020/f-connectors/f-node-output/f-node-output.directive.mjs +0 -94
  269. package/esm2020/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.execution.mjs +0 -24
  270. package/esm2020/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.validator.mjs +0 -25
  271. package/esm2020/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.execution.mjs +0 -36
  272. package/esm2020/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.validator.mjs +0 -43
  273. package/esm2020/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +0 -55
  274. package/esm2020/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.validator.mjs +0 -25
  275. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -44
  276. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +0 -53
  277. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +0 -39
  278. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -34
  279. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +0 -43
  280. package/esm2020/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.validator.mjs +0 -32
  281. package/esm2020/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +0 -43
  282. package/esm2020/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -27
  283. package/esm2020/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.mjs +0 -85
  284. package/esm2020/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.validator.mjs +0 -35
  285. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +0 -50
  286. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.validator.mjs +0 -25
  287. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +0 -64
  288. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.validator.mjs +0 -44
  289. package/esm2020/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +0 -58
  290. package/esm2020/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -33
  291. package/esm2020/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -29
  292. package/esm2020/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +0 -48
  293. package/esm2020/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -36
  294. package/esm2020/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +0 -34
  295. package/esm2020/f-draggable/f-draggable.directive.mjs +0 -160
  296. package/esm2020/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -85
  297. package/esm2020/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +0 -44
  298. package/esm2020/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +0 -70
  299. package/esm2020/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +0 -70
  300. package/esm2020/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +0 -51
  301. package/esm2020/f-draggable/node/node-move-finalize/node-move-finalize.validator.mjs +0 -25
  302. package/esm2020/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +0 -59
  303. package/esm2020/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +0 -41
  304. package/esm2020/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -49
  305. package/esm2020/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
  306. package/esm2020/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
  307. package/esm2020/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
  308. package/esm2020/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -31
  309. package/esm2020/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -41
  310. package/esm2020/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -7
  311. package/esm2020/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +0 -26
  312. package/esm2020/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.validator.mjs +0 -25
  313. package/esm2020/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +0 -53
  314. package/esm2020/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -41
  315. package/esm2020/f-draggable/node-resize/node-resize.drag-handler.mjs +0 -48
  316. package/esm2020/f-draggable/single-select/single-select.execution.mjs +0 -89
  317. package/esm2020/f-draggable/single-select/single-select.validator.mjs +0 -27
  318. package/esm2020/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +0 -57
  319. package/esm2020/f-external-item/domain/external-item-finalize/external-item-finalize.validator.mjs +0 -25
  320. package/esm2020/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +0 -43
  321. package/esm2020/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -29
  322. package/esm2020/f-flow/f-flow.component.mjs +0 -118
  323. package/esm2020/f-line-alignment/f-line-alignment.component.mjs +0 -92
  324. package/esm2020/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +0 -42
  325. package/esm2020/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +0 -26
  326. package/esm2020/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -25
  327. package/esm2020/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +0 -49
  328. package/esm2020/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -28
  329. package/esm2020/f-minimap/f-minimap-canvas.directive.mjs +0 -66
  330. package/esm2020/f-node/f-group.directive.mjs +0 -145
  331. package/esm2020/f-node/f-node.directive.mjs +0 -146
  332. package/esm2020/f-node/f-resize-handle/f-resize-handle.directive.mjs +0 -43
  333. package/esm2020/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +0 -26
  334. package/esm2020/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -25
  335. package/esm2020/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +0 -38
  336. package/esm2020/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -31
  337. package/esm2020/f-zoom/f-zoom-base.mjs +0 -97
  338. package/esm2020/f-zoom/f-zoom.directive.mjs +0 -59
  339. package/esm2020/mixins/change-selection/change-selection.mjs +0 -28
  340. package/fesm2015/foblex-flow.mjs +0 -7927
  341. package/fesm2015/foblex-flow.mjs.map +0 -1
  342. package/fesm2020/foblex-flow.mjs.map +0 -1
  343. /package/{esm2020 → esm2022}/domain/constants.mjs +0 -0
  344. /package/{esm2020 → esm2022}/domain/create-connection-markers/create-connection-markers-request.mjs +0 -0
  345. /package/{esm2020 → esm2022}/domain/create-connection-markers/index.mjs +0 -0
  346. /package/{esm2020 → esm2022}/domain/create-dom-element.mjs +0 -0
  347. /package/{esm2020 → esm2022}/domain/create-rounded-rect-from-element/create-rounded-rect-from-element-request.mjs +0 -0
  348. /package/{esm2020 → esm2022}/domain/create-rounded-rect-from-element/index.mjs +0 -0
  349. /package/{esm2020 → esm2022}/domain/emit-transform-changes/emit-transform-changes.request.mjs +0 -0
  350. /package/{esm2020 → esm2022}/domain/emit-transform-changes/index.mjs +0 -0
  351. /package/{esm2020 → esm2022}/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.mjs +0 -0
  352. /package/{esm2020 → esm2022}/domain/f-background/add-pattern-to-background/index.mjs +0 -0
  353. /package/{esm2020 → esm2022}/domain/f-background/index.mjs +0 -0
  354. /package/{esm2020 → esm2022}/domain/f-background/providers.mjs +0 -0
  355. /package/{esm2020 → esm2022}/domain/f-canvas/center-group-or-node/center-group-or-node-request.mjs +0 -0
  356. /package/{esm2020 → esm2022}/domain/f-canvas/center-group-or-node/index.mjs +0 -0
  357. /package/{esm2020 → esm2022}/domain/f-canvas/fit-to-flow/fit-to-flow-request.mjs +0 -0
  358. /package/{esm2020 → esm2022}/domain/f-canvas/fit-to-flow/index.mjs +0 -0
  359. /package/{esm2020 → esm2022}/domain/f-canvas/index.mjs +0 -0
  360. /package/{esm2020 → esm2022}/domain/f-canvas/input-canvas-position/index.mjs +0 -0
  361. /package/{esm2020 → esm2022}/domain/f-canvas/input-canvas-position/input-canvas-position-request.mjs +0 -0
  362. /package/{esm2020 → esm2022}/domain/f-canvas/input-canvas-scale/index.mjs +0 -0
  363. /package/{esm2020 → esm2022}/domain/f-canvas/input-canvas-scale/input-canvas-scale-request.mjs +0 -0
  364. /package/{esm2020 → esm2022}/domain/f-canvas/providers.mjs +0 -0
  365. /package/{esm2020 → esm2022}/domain/f-canvas/reset-scale/index.mjs +0 -0
  366. /package/{esm2020 → esm2022}/domain/f-canvas/reset-scale/reset-scale-request.mjs +0 -0
  367. /package/{esm2020 → esm2022}/domain/f-canvas/reset-scale-and-center/index.mjs +0 -0
  368. /package/{esm2020 → esm2022}/domain/f-canvas/reset-scale-and-center/reset-scale-and-center-request.mjs +0 -0
  369. /package/{esm2020 → esm2022}/domain/f-canvas/update-scale/index.mjs +0 -0
  370. /package/{esm2020 → esm2022}/domain/f-canvas/update-scale/update-scale-request.mjs +0 -0
  371. /package/{esm2020 → esm2022}/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.mjs +0 -0
  372. /package/{esm2020 → esm2022}/domain/f-connection/find-closest-input-using-snap-threshold/index.mjs +0 -0
  373. /package/{esm2020 → esm2022}/domain/f-connection/get-all-can-be-connected-input-positions/get-all-can-be-connected-input-positions.request.mjs +0 -0
  374. /package/{esm2020 → esm2022}/domain/f-connection/get-all-can-be-connected-input-positions/index.mjs +0 -0
  375. /package/{esm2020 → esm2022}/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +0 -0
  376. /package/{esm2020 → esm2022}/domain/f-connection/get-connector-with-rect/i-connector-with-rect.mjs +0 -0
  377. /package/{esm2020 → esm2022}/domain/f-connection/get-connector-with-rect/index.mjs +0 -0
  378. /package/{esm2020 → esm2022}/domain/f-connection/index.mjs +0 -0
  379. /package/{esm2020 → esm2022}/domain/f-connection/providers.mjs +0 -0
  380. /package/{esm2020 → esm2022}/domain/f-selection/clear-selection/clear-selection.request.mjs +0 -0
  381. /package/{esm2020 → esm2022}/domain/f-selection/clear-selection/index.mjs +0 -0
  382. /package/{esm2020 → esm2022}/domain/f-selection/get-selection/get-selection.request.mjs +0 -0
  383. /package/{esm2020 → esm2022}/domain/f-selection/get-selection/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/domain/f-selection/index.mjs +0 -0
  385. /package/{esm2020 → esm2022}/domain/f-selection/providers.mjs +0 -0
  386. /package/{esm2020 → esm2022}/domain/f-selection/select/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/domain/f-selection/select/select.request.mjs +0 -0
  388. /package/{esm2020 → esm2022}/domain/f-selection/select-all/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/domain/f-selection/select-all/select-all.request.mjs +0 -0
  390. /package/{esm2020 → esm2022}/domain/f-selection/select-and-update-node-layer/index.mjs +0 -0
  391. /package/{esm2020 → esm2022}/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +0 -0
  392. /package/{esm2020 → esm2022}/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -0
  393. /package/{esm2020 → esm2022}/domain/get-can-be-selected-items/i-selectable-with-rect.mjs +0 -0
  394. /package/{esm2020 → esm2022}/domain/get-can-be-selected-items/index.mjs +0 -0
  395. /package/{esm2020 → esm2022}/domain/get-connection-line/get-connection-line.request.mjs +0 -0
  396. /package/{esm2020 → esm2022}/domain/get-connection-line/index.mjs +0 -0
  397. /package/{esm2020 → esm2022}/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +0 -0
  398. /package/{esm2020 → esm2022}/domain/get-deep-children-nodes-and-groups/index.mjs +0 -0
  399. /package/{esm2020 → esm2022}/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs +0 -0
  400. /package/{esm2020 → esm2022}/domain/get-element-rect-in-flow/index.mjs +0 -0
  401. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -0
  402. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state-connections/index.mjs +0 -0
  403. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -0
  404. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state-nodes/index.mjs +0 -0
  405. /package/{esm2020 → esm2022}/domain/get-flow-state/get-flow-state.request.mjs +0 -0
  406. /package/{esm2020 → esm2022}/domain/get-flow-state/i-f-flow-state-connection.mjs +0 -0
  407. /package/{esm2020 → esm2022}/domain/get-flow-state/i-f-flow-state-connector.mjs +0 -0
  408. /package/{esm2020 → esm2022}/domain/get-flow-state/i-f-flow-state-node.mjs +0 -0
  409. /package/{esm2020 → esm2022}/domain/get-flow-state/i-f-flow-state.mjs +0 -0
  410. /package/{esm2020 → esm2022}/domain/get-flow-state/index.mjs +0 -0
  411. /package/{esm2020 → esm2022}/domain/get-flow-state/providers.mjs +0 -0
  412. /package/{esm2020 → esm2022}/domain/get-nodes-rect/get-nodes-rect.request.mjs +0 -0
  413. /package/{esm2020 → esm2022}/domain/get-nodes-rect/index.mjs +0 -0
  414. /package/{esm2020 → esm2022}/domain/get-position-in-flow/get-position-in-flow-request.mjs +0 -0
  415. /package/{esm2020 → esm2022}/domain/get-position-in-flow/index.mjs +0 -0
  416. /package/{esm2020 → esm2022}/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs +0 -0
  417. /package/{esm2020 → esm2022}/domain/get-scaled-node-rects-with-flow-position/index.mjs +0 -0
  418. /package/{esm2020 → esm2022}/domain/i-map.mjs +0 -0
  419. /package/{esm2020 → esm2022}/domain/index.mjs +0 -0
  420. /package/{esm2020 → esm2022}/domain/is-connection-under-node/index.mjs +0 -0
  421. /package/{esm2020 → esm2022}/domain/is-connection-under-node/is-connection-under-node.request.mjs +0 -0
  422. /package/{esm2020 → esm2022}/domain/providers.mjs +0 -0
  423. /package/{esm2020 → esm2022}/domain/redraw-connections/index.mjs +0 -0
  424. /package/{esm2020 → esm2022}/domain/redraw-connections/redraw-connections-request.mjs +0 -0
  425. /package/{esm2020 → esm2022}/domain/show-connections-after-calculations/index.mjs +0 -0
  426. /package/{esm2020 → esm2022}/domain/show-connections-after-calculations/show-connections-after-calculations-request.mjs +0 -0
  427. /package/{esm2020 → esm2022}/domain/sort-item-layers/index.mjs +0 -0
  428. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-item-layers.request.mjs +0 -0
  429. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-items-by-parent/index.mjs +0 -0
  430. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +0 -0
  431. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-node-layers-by-groups/index.mjs +0 -0
  432. /package/{esm2020 → esm2022}/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.request.mjs +0 -0
  433. /package/{esm2020 → esm2022}/domain/subscribe-on-transform-changes/index.mjs +0 -0
  434. /package/{esm2020 → esm2022}/domain/subscribe-on-transform-changes/subscribe-on-transform-changes.request.mjs +0 -0
  435. /package/{esm2020 → esm2022}/domain/update-item-and-children-layers/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +0 -0
  437. /package/{esm2020 → esm2022}/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +0 -0
  438. /package/{esm2020 → esm2022}/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +0 -0
  439. /package/{esm2020 → esm2022}/errors/conflict-error.mjs +0 -0
  440. /package/{esm2020 → esm2022}/errors/create-error-class.mjs +0 -0
  441. /package/{esm2020 → esm2022}/errors/errors.mjs +0 -0
  442. /package/{esm2020 → esm2022}/errors/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/errors/not-found-error.mjs +0 -0
  444. /package/{esm2020 → esm2022}/f-backgroud/domain/i-f-background-pattern.mjs +0 -0
  445. /package/{esm2020 → esm2022}/f-backgroud/domain/index.mjs +0 -0
  446. /package/{esm2020 → esm2022}/f-backgroud/f-circle-pattern/index.mjs +0 -0
  447. /package/{esm2020 → esm2022}/f-backgroud/f-rect-pattern/index.mjs +0 -0
  448. /package/{esm2020 → esm2022}/f-backgroud/index.mjs +0 -0
  449. /package/{esm2020 → esm2022}/f-backgroud/providers.mjs +0 -0
  450. /package/{esm2020 → esm2022}/f-canvas/domain/f-canvas-change.event.mjs +0 -0
  451. /package/{esm2020 → esm2022}/f-canvas/domain/index.mjs +0 -0
  452. /package/{esm2020 → esm2022}/f-canvas/index.mjs +0 -0
  453. /package/{esm2020 → esm2022}/f-canvas/providers.mjs +0 -0
  454. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +0 -0
  455. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points.handler.mjs +0 -0
  456. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-center-between-points/index.mjs +0 -0
  457. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +0 -0
  458. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +0 -0
  459. /package/{esm2020 → esm2022}/f-connection/common/domain/calculate-connection-center/index.mjs +0 -0
  460. /package/{esm2020 → esm2022}/f-connection/common/domain/f-bezier.path-builder.mjs +0 -0
  461. /package/{esm2020 → esm2022}/f-connection/common/domain/f-segment.path-builder.mjs +0 -0
  462. /package/{esm2020 → esm2022}/f-connection/common/domain/f-straight.path-builder.mjs +0 -0
  463. /package/{esm2020 → esm2022}/f-connection/common/domain/index.mjs +0 -0
  464. /package/{esm2020 → esm2022}/f-connection/common/e-f-connection-behavior.mjs +0 -0
  465. /package/{esm2020 → esm2022}/f-connection/common/e-f-connection-type.mjs +0 -0
  466. /package/{esm2020 → esm2022}/f-connection/common/f-connection-identifiers.mjs +0 -0
  467. /package/{esm2020 → esm2022}/f-connection/common/f-connection-text/i-connection-text.mjs +0 -0
  468. /package/{esm2020 → esm2022}/f-connection/common/f-connection-text/index.mjs +0 -0
  469. /package/{esm2020 → esm2022}/f-connection/common/f-connection.injection-token.mjs +0 -0
  470. /package/{esm2020 → esm2022}/f-connection/common/f-drag-handle/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/f-connection/common/f-gradient/i-connection-gradient.mjs +0 -0
  472. /package/{esm2020 → esm2022}/f-connection/common/f-gradient/index.mjs +0 -0
  473. /package/{esm2020 → esm2022}/f-connection/common/f-path/get-path-marker-id.mjs +0 -0
  474. /package/{esm2020 → esm2022}/f-connection/common/f-path/i-connection-path.mjs +0 -0
  475. /package/{esm2020 → esm2022}/f-connection/common/f-path/index.mjs +0 -0
  476. /package/{esm2020 → esm2022}/f-connection/common/f-selection/index.mjs +0 -0
  477. /package/{esm2020 → esm2022}/f-connection/common/i-has-connection-color.mjs +0 -0
  478. /package/{esm2020 → esm2022}/f-connection/common/i-has-connection-from-to.mjs +0 -0
  479. /package/{esm2020 → esm2022}/f-connection/common/i-has-connection-text.mjs +0 -0
  480. /package/{esm2020 → esm2022}/f-connection/common/index.mjs +0 -0
  481. /package/{esm2020 → esm2022}/f-connection/f-connection/index.mjs +0 -0
  482. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/f-connection-builders.mjs +0 -0
  483. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +0 -0
  484. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +0 -0
  485. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/i-f-connection-builder.mjs +0 -0
  486. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +0 -0
  487. /package/{esm2020 → esm2022}/f-connection/f-connection-builder/index.mjs +0 -0
  488. /package/{esm2020 → esm2022}/f-connection/f-connection-center/index.mjs +0 -0
  489. /package/{esm2020 → esm2022}/f-connection/f-connection-for-create/index.mjs +0 -0
  490. /package/{esm2020 → esm2022}/f-connection/f-marker/e-f-marker-type.mjs +0 -0
  491. /package/{esm2020 → esm2022}/f-connection/f-marker/index.mjs +0 -0
  492. /package/{esm2020 → esm2022}/f-connection/f-snap-connection/index.mjs +0 -0
  493. /package/{esm2020 → esm2022}/f-connection/index.mjs +0 -0
  494. /package/{esm2020 → esm2022}/f-connection/providers.mjs +0 -0
  495. /package/{esm2020 → esm2022}/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side-request.mjs +0 -0
  496. /package/{esm2020 → esm2022}/f-connectors/domain/calculate-connector-connectable-side/calculate-connector-connectable-side.handler.mjs +0 -0
  497. /package/{esm2020 → esm2022}/f-connectors/domain/calculate-connector-connectable-side/index.mjs +0 -0
  498. /package/{esm2020 → esm2022}/f-connectors/domain/index.mjs +0 -0
  499. /package/{esm2020 → esm2022}/f-connectors/e-f-connectable-side.mjs +0 -0
  500. /package/{esm2020 → esm2022}/f-connectors/f-connector-base.mjs +0 -0
  501. /package/{esm2020 → esm2022}/f-connectors/f-node-input/index.mjs +0 -0
  502. /package/{esm2020 → esm2022}/f-connectors/f-node-outlet/index.mjs +0 -0
  503. /package/{esm2020 → esm2022}/f-connectors/f-node-outlet/is-node-outlet.mjs +0 -0
  504. /package/{esm2020 → esm2022}/f-connectors/f-node-output/index.mjs +0 -0
  505. /package/{esm2020 → esm2022}/f-connectors/f-node-output/is-node-output.mjs +0 -0
  506. /package/{esm2020 → esm2022}/f-connectors/index.mjs +0 -0
  507. /package/{esm2020 → esm2022}/f-connectors/providers.mjs +0 -0
  508. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-finalize/canvas-move-finalize.request.mjs +0 -0
  509. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-finalize/index.mjs +0 -0
  510. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-finalize/providers.mjs +0 -0
  511. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-preparation/canvas-move-preparation.request.mjs +0 -0
  512. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-preparation/index.mjs +0 -0
  513. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas-move-preparation/providers.mjs +0 -0
  514. /package/{esm2020 → esm2022}/f-draggable/canvas/canvas.drag-handler.mjs +0 -0
  515. /package/{esm2020 → esm2022}/f-draggable/canvas/index.mjs +0 -0
  516. /package/{esm2020 → esm2022}/f-draggable/canvas/providers.mjs +0 -0
  517. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.request.mjs +0 -0
  518. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-finalize/index.mjs +0 -0
  519. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -0
  520. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -0
  521. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +0 -0
  522. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/index.mjs +0 -0
  523. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +0 -0
  524. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +0 -0
  525. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +0 -0
  526. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +0 -0
  527. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/f-create-connection.event.mjs +0 -0
  528. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +0 -0
  529. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +0 -0
  530. /package/{esm2020 → esm2022}/f-draggable/connections/create-connection/index.mjs +0 -0
  531. /package/{esm2020 → esm2022}/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.request.mjs +0 -0
  532. /package/{esm2020 → esm2022}/f-draggable/connections/get-input-under-pointer/index.mjs +0 -0
  533. /package/{esm2020 → esm2022}/f-draggable/connections/index.mjs +0 -0
  534. /package/{esm2020 → esm2022}/f-draggable/connections/providers.mjs +0 -0
  535. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +0 -0
  536. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/index.mjs +0 -0
  537. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/reassign-connection-finalize/index.mjs +0 -0
  538. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.request.mjs +0 -0
  539. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/reassign-connection-preparation/index.mjs +0 -0
  540. /package/{esm2020 → esm2022}/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +0 -0
  541. /package/{esm2020 → esm2022}/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -0
  542. /package/{esm2020 → esm2022}/f-draggable/domain/get-node-padding/index.mjs +0 -0
  543. /package/{esm2020 → esm2022}/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +0 -0
  544. /package/{esm2020 → esm2022}/f-draggable/domain/get-normalized-node-rect/index.mjs +0 -0
  545. /package/{esm2020 → esm2022}/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +0 -0
  546. /package/{esm2020 → esm2022}/f-draggable/domain/get-normalized-parent-node-rect/index.mjs +0 -0
  547. /package/{esm2020 → esm2022}/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +0 -0
  548. /package/{esm2020 → esm2022}/f-draggable/domain/get-parent-nodes/index.mjs +0 -0
  549. /package/{esm2020 → esm2022}/f-draggable/domain/index.mjs +0 -0
  550. /package/{esm2020 → esm2022}/f-draggable/domain/is-array-has-parent-node/index.mjs +0 -0
  551. /package/{esm2020 → esm2022}/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +0 -0
  552. /package/{esm2020 → esm2022}/f-draggable/domain/providers.mjs +0 -0
  553. /package/{esm2020 → esm2022}/f-draggable/f-selection-change-event.mjs +0 -0
  554. /package/{esm2020 → esm2022}/f-draggable/i-draggable-item.mjs +0 -0
  555. /package/{esm2020 → esm2022}/f-draggable/i-f-drag-and-drop-plugin.mjs +0 -0
  556. /package/{esm2020 → esm2022}/f-draggable/index.mjs +0 -0
  557. /package/{esm2020 → esm2022}/f-draggable/node/connection-source.drag-handler.mjs +0 -0
  558. /package/{esm2020 → esm2022}/f-draggable/node/connection-target.drag-handler.mjs +0 -0
  559. /package/{esm2020 → esm2022}/f-draggable/node/connection.drag-handler.mjs +0 -0
  560. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +0 -0
  561. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.request.mjs +0 -0
  562. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/i-node-move-restrictions.mjs +0 -0
  563. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/index.mjs +0 -0
  564. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +0 -0
  565. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +0 -0
  566. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +0 -0
  567. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +0 -0
  568. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -0
  569. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +0 -0
  570. /package/{esm2020 → esm2022}/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +0 -0
  571. /package/{esm2020 → esm2022}/f-draggable/node/index.mjs +0 -0
  572. /package/{esm2020 → esm2022}/f-draggable/node/node-move-finalize/index.mjs +0 -0
  573. /package/{esm2020 → esm2022}/f-draggable/node/node-move-finalize/node-move-finalize.request.mjs +0 -0
  574. /package/{esm2020 → esm2022}/f-draggable/node/node-move-finalize/providers.mjs +0 -0
  575. /package/{esm2020 → esm2022}/f-draggable/node/node-move-preparation/index.mjs +0 -0
  576. /package/{esm2020 → esm2022}/f-draggable/node/node-move-preparation/node-move-preparation.request.mjs +0 -0
  577. /package/{esm2020 → esm2022}/f-draggable/node/node-move-preparation/providers.mjs +0 -0
  578. /package/{esm2020 → esm2022}/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -0
  579. /package/{esm2020 → esm2022}/f-draggable/node/node.drag-handler.mjs +0 -0
  580. /package/{esm2020 → esm2022}/f-draggable/node/providers.mjs +0 -0
  581. /package/{esm2020 → esm2022}/f-draggable/node-resize/apply-child-resize-restrictions/index.mjs +0 -0
  582. /package/{esm2020 → esm2022}/f-draggable/node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +0 -0
  583. /package/{esm2020 → esm2022}/f-draggable/node-resize/apply-parent-resize-restrictions/index.mjs +0 -0
  584. /package/{esm2020 → esm2022}/f-draggable/node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -0
  585. /package/{esm2020 → esm2022}/f-draggable/node-resize/calculate-changed-position/index.mjs +0 -0
  586. /package/{esm2020 → esm2022}/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -0
  587. /package/{esm2020 → esm2022}/f-draggable/node-resize/calculate-changed-size/index.mjs +0 -0
  588. /package/{esm2020 → esm2022}/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +0 -0
  589. /package/{esm2020 → esm2022}/f-draggable/node-resize/get-node-resize-restrictions/index.mjs +0 -0
  590. /package/{esm2020 → esm2022}/f-draggable/node-resize/get-normalized-children-nodes-rect/index.mjs +0 -0
  591. /package/{esm2020 → esm2022}/f-draggable/node-resize/index.mjs +0 -0
  592. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-finalize/index.mjs +0 -0
  593. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.request.mjs +0 -0
  594. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-finalize/providers.mjs +0 -0
  595. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-preparation/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.request.mjs +0 -0
  597. /package/{esm2020 → esm2022}/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -0
  598. /package/{esm2020 → esm2022}/f-draggable/node-resize/providers.mjs +0 -0
  599. /package/{esm2020 → esm2022}/f-draggable/node-resize/resize-direction.mjs +0 -0
  600. /package/{esm2020 → esm2022}/f-draggable/providers.mjs +0 -0
  601. /package/{esm2020 → esm2022}/f-draggable/single-select/index.mjs +0 -0
  602. /package/{esm2020 → esm2022}/f-draggable/single-select/providers.mjs +0 -0
  603. /package/{esm2020 → esm2022}/f-draggable/single-select/single-select.request.mjs +0 -0
  604. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-finalize/external-item-finalize.request.mjs +0 -0
  605. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-finalize/index.mjs +0 -0
  606. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-finalize/providers.mjs +0 -0
  607. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-preparation/external-item-preparation.request.mjs +0 -0
  608. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-preparation/index.mjs +0 -0
  609. /package/{esm2020 → esm2022}/f-external-item/domain/external-item-preparation/providers.mjs +0 -0
  610. /package/{esm2020 → esm2022}/f-external-item/domain/external-item.drag-handler.mjs +0 -0
  611. /package/{esm2020 → esm2022}/f-external-item/domain/f-create-node.event.mjs +0 -0
  612. /package/{esm2020 → esm2022}/f-external-item/domain/index.mjs +0 -0
  613. /package/{esm2020 → esm2022}/f-external-item/domain/providers.mjs +0 -0
  614. /package/{esm2020 → esm2022}/f-external-item/index.mjs +0 -0
  615. /package/{esm2020 → esm2022}/f-external-item/is-external-item.mjs +0 -0
  616. /package/{esm2020 → esm2022}/f-external-item/providers.mjs +0 -0
  617. /package/{esm2020 → esm2022}/f-flow/f-flow-base.mjs +0 -0
  618. /package/{esm2020 → esm2022}/f-flow/index.mjs +0 -0
  619. /package/{esm2020 → esm2022}/f-flow/providers.mjs +0 -0
  620. /package/{esm2020 → esm2022}/f-line-alignment/domain/i-line-alignment-rect.mjs +0 -0
  621. /package/{esm2020 → esm2022}/f-line-alignment/domain/i-line-alignment-result.mjs +0 -0
  622. /package/{esm2020 → esm2022}/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -0
  623. /package/{esm2020 → esm2022}/f-line-alignment/domain/index.mjs +0 -0
  624. /package/{esm2020 → esm2022}/f-line-alignment/domain/line-element.mjs +0 -0
  625. /package/{esm2020 → esm2022}/f-line-alignment/domain/line-service.mjs +0 -0
  626. /package/{esm2020 → esm2022}/f-line-alignment/domain/nearest-coordinate.mjs +0 -0
  627. /package/{esm2020 → esm2022}/f-line-alignment/index.mjs +0 -0
  628. /package/{esm2020 → esm2022}/f-line-alignment/providers.mjs +0 -0
  629. /package/{esm2020 → esm2022}/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +0 -0
  630. /package/{esm2020 → esm2022}/f-minimap/domain/calculate-flow-point-from-minimap-point/index.mjs +0 -0
  631. /package/{esm2020 → esm2022}/f-minimap/domain/check-rect-is-finite.mjs +0 -0
  632. /package/{esm2020 → esm2022}/f-minimap/domain/f-minimap-data.mjs +0 -0
  633. /package/{esm2020 → esm2022}/f-minimap/domain/f-minimap.drag-handler.mjs +0 -0
  634. /package/{esm2020 → esm2022}/f-minimap/domain/index.mjs +0 -0
  635. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-finalize/index.mjs +0 -0
  636. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs +0 -0
  637. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-finalize/providers.mjs +0 -0
  638. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-preparation/index.mjs +0 -0
  639. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs +0 -0
  640. /package/{esm2020 → esm2022}/f-minimap/domain/minimap-drag-preparation/providers.mjs +0 -0
  641. /package/{esm2020 → esm2022}/f-minimap/domain/providers.mjs +0 -0
  642. /package/{esm2020 → esm2022}/f-minimap/index.mjs +0 -0
  643. /package/{esm2020 → esm2022}/f-minimap/providers.mjs +0 -0
  644. /package/{esm2020 → esm2022}/f-node/domain/index.mjs +0 -0
  645. /package/{esm2020 → esm2022}/f-node/domain/is-group.mjs +0 -0
  646. /package/{esm2020 → esm2022}/f-node/domain/is-node.mjs +0 -0
  647. /package/{esm2020 → esm2022}/f-node/f-drag-handle/index.mjs +0 -0
  648. /package/{esm2020 → esm2022}/f-node/f-node-base.mjs +0 -0
  649. /package/{esm2020 → esm2022}/f-node/f-resize-handle/e-f-resize-handle-type.mjs +0 -0
  650. /package/{esm2020 → esm2022}/f-node/f-resize-handle/index.mjs +0 -0
  651. /package/{esm2020 → esm2022}/f-node/f-resize-observer.mjs +0 -0
  652. /package/{esm2020 → esm2022}/f-node/f-rotate-handle/index.mjs +0 -0
  653. /package/{esm2020 → esm2022}/f-node/index.mjs +0 -0
  654. /package/{esm2020 → esm2022}/f-node/providers.mjs +0 -0
  655. /package/{esm2020 → esm2022}/f-selection-area/domain/index.mjs +0 -0
  656. /package/{esm2020 → esm2022}/f-selection-area/domain/providers.mjs +0 -0
  657. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-finalize/index.mjs +0 -0
  658. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -0
  659. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +0 -0
  660. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-preparation/index.mjs +0 -0
  661. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -0
  662. /package/{esm2020 → esm2022}/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +0 -0
  663. /package/{esm2020 → esm2022}/f-selection-area/index.mjs +0 -0
  664. /package/{esm2020 → esm2022}/f-selection-area/providers.mjs +0 -0
  665. /package/{esm2020 → esm2022}/f-storage/index.mjs +0 -0
  666. /package/{esm2020 → esm2022}/f-zoom/index.mjs +0 -0
  667. /package/{esm2020 → esm2022}/f-zoom/providers.mjs +0 -0
  668. /package/{esm2020 → esm2022}/foblex-flow.mjs +0 -0
  669. /package/{esm2020 → esm2022}/i-has-host-element.mjs +0 -0
  670. /package/{esm2020 → esm2022}/i-has-state-changes.mjs +0 -0
  671. /package/{esm2020 → esm2022}/mixins/change-selection/i-can-change-selection.mjs +0 -0
  672. /package/{esm2020 → esm2022}/mixins/change-selection/index.mjs +0 -0
  673. /package/{esm2020 → esm2022}/mixins/change-visibility/change-visibility.mjs +0 -0
  674. /package/{esm2020 → esm2022}/mixins/change-visibility/i-can-change-visibility.mjs +0 -0
  675. /package/{esm2020 → esm2022}/mixins/change-visibility/index.mjs +0 -0
  676. /package/{esm2020 → esm2022}/mixins/constructor.mjs +0 -0
  677. /package/{esm2020 → esm2022}/mixins/index.mjs +0 -0
  678. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,47 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { GetNormalizedParentNodeRectRequest } from './get-normalized-parent-node-rect.request';
4
+ import { RectExtensions } from '@foblex/2d';
5
+ import { GetNormalizedNodeRectRequest } from '../get-normalized-node-rect';
6
+ import { FExecutionRegister } from '@foblex/mediator';
7
+ import { GetNodePaddingRequest } from '../get-node-padding';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../f-storage";
10
+ import * as i2 from "@foblex/mediator";
11
+ export let GetNormalizedParentNodeRectExecution = class GetNormalizedParentNodeRectExecution {
12
+ constructor(fComponentsStore, fMediator) {
13
+ this.fComponentsStore = fComponentsStore;
14
+ this.fMediator = fMediator;
15
+ }
16
+ handle(request) {
17
+ let result = RectExtensions.initialize(-Infinity, -Infinity, Infinity, Infinity);
18
+ const parentNode = this.getNode(request.fNode.fParentId);
19
+ if (parentNode) {
20
+ result = this.getParentRect(parentNode);
21
+ }
22
+ return result;
23
+ }
24
+ getNode(fId) {
25
+ return this.fComponentsStore.fNodes.find((x) => x.fId === fId);
26
+ }
27
+ getParentRect(node) {
28
+ const rect = this.getNormalizedNodeRect(node);
29
+ const padding = this.getNodePadding(node, rect);
30
+ return RectExtensions.initialize(rect.x + padding[0], rect.y + padding[1], rect.width - padding[0] - padding[2], rect.height - padding[1] - padding[3]);
31
+ }
32
+ getNormalizedNodeRect(node) {
33
+ return this.fMediator.send(new GetNormalizedNodeRectRequest(node));
34
+ }
35
+ getNodePadding(node, rect) {
36
+ return this.fMediator.send(new GetNodePaddingRequest(node, rect));
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetNormalizedParentNodeRectExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetNormalizedParentNodeRectExecution }); }
40
+ };
41
+ GetNormalizedParentNodeRectExecution = __decorate([
42
+ FExecutionRegister(GetNormalizedParentNodeRectRequest)
43
+ ], GetNormalizedParentNodeRectExecution);
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetNormalizedParentNodeRectExecution, decorators: [{
45
+ type: Injectable
46
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FMediator }]; } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcGFyZW50LW5vZGUtcmVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1wYXJlbnQtbm9kZS1yZWN0L2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9GLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBRzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBSXJELFdBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBRy9DLFlBQ1UsZ0JBQWtDLEVBQ2xDLFNBQW9CO1FBRHBCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQTJDO1FBQ3ZELElBQUksTUFBTSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxJQUFJLFVBQVUsRUFBRTtZQUNkLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLE9BQU8sQ0FBQyxHQUFtQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBZTtRQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUM5QixJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDbkIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQWU7UUFDM0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBUSxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFlLEVBQUUsSUFBVztRQUNqRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFxQyxJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7K0dBdkNVLG9DQUFvQzttSEFBcEMsb0NBQW9DOztBQUFwQyxvQ0FBb0M7SUFEaEQsa0JBQWtCLENBQUMsa0NBQWtDLENBQUM7R0FDMUMsb0NBQW9DLENBd0NoRDs0RkF4Q1ksb0NBQW9DO2tCQUZoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtcGFyZW50LW5vZGUtcmVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZE5vZGVSZWN0UmVxdWVzdCB9IGZyb20gJy4uL2dldC1ub3JtYWxpemVkLW5vZGUtcmVjdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LW5vZGUtcGFkZGluZyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QsIElSZWN0PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3JcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QpOiBJUmVjdCB7XG4gICAgbGV0IHJlc3VsdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoLUluZmluaXR5LCAtSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7XG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMuZ2V0Tm9kZShyZXF1ZXN0LmZOb2RlLmZQYXJlbnRJZCk7XG4gICAgaWYgKHBhcmVudE5vZGUpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0UGFyZW50UmVjdChwYXJlbnROb2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZShmSWQ/OiBzdHJpbmcgfCBudWxsKTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyZW50UmVjdChub2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgY29uc3QgcmVjdCA9IHRoaXMuZ2V0Tm9ybWFsaXplZE5vZGVSZWN0KG5vZGUpO1xuICAgIGNvbnN0IHBhZGRpbmcgPSB0aGlzLmdldE5vZGVQYWRkaW5nKG5vZGUsIHJlY3QpO1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgcmVjdC54ICsgcGFkZGluZ1swXSxcbiAgICAgIHJlY3QueSArIHBhZGRpbmdbMV0sXG4gICAgICByZWN0LndpZHRoIC0gcGFkZGluZ1swXSAtIHBhZGRpbmdbMl0sXG4gICAgICByZWN0LmhlaWdodCAtIHBhZGRpbmdbMV0gLSBwYWRkaW5nWzNdXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9ybWFsaXplZE5vZGVSZWN0KG5vZGU6IEZOb2RlQmFzZSk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWROb2RlUmVjdFJlcXVlc3Qobm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2RlUGFkZGluZyhub2RlOiBGTm9kZUJhc2UsIHJlY3Q6IElSZWN0KTogWyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8WyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXT4obmV3IEdldE5vZGVQYWRkaW5nUmVxdWVzdChub2RlLCByZWN0KSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { GetParentNodesRequest } from './get-parent-nodes.request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../f-storage";
7
+ export let GetParentNodesExecution = class GetParentNodesExecution {
8
+ constructor(fComponentsStore) {
9
+ this.fComponentsStore = fComponentsStore;
10
+ }
11
+ handle(request) {
12
+ return this.getParentNodes(request.fNode, new Set(), []);
13
+ }
14
+ getParentNodes(fNode, visited, result) {
15
+ if (visited.has(fNode.fId)) {
16
+ throw new Error('Circular reference detected in the node hierarchy. Node id: ' + fNode.fId);
17
+ }
18
+ visited.add(fNode.fId);
19
+ const parent = this.fComponentsStore.fNodes.find((x) => x.fId === fNode.fParentId);
20
+ if (!parent) {
21
+ return result;
22
+ }
23
+ result.push(parent);
24
+ return this.getParentNodes(parent, visited, result);
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetParentNodesExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetParentNodesExecution }); }
28
+ };
29
+ GetParentNodesExecution = __decorate([
30
+ FExecutionRegister(GetParentNodesRequest)
31
+ ], GetParentNodesExecution);
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetParentNodesExecution, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBhcmVudC1ub2Rlcy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtcGFyZW50LW5vZGVzL2dldC1wYXJlbnQtbm9kZXMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBYyxNQUFNLGtCQUFrQixDQUFDOzs7QUFNM0QsV0FBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUFHbEMsWUFDVSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQThCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFnQixFQUFFLE9BQW9CLEVBQUUsTUFBbUI7UUFDaEYsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3RjtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0F6QlUsdUJBQXVCO21IQUF2Qix1QkFBdUI7O0FBQXZCLHVCQUF1QjtJQURuQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztHQUM3Qix1QkFBdUIsQ0EwQm5DOzRGQTFCWSx1QkFBdUI7a0JBRm5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QgfSBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRQYXJlbnROb2Rlc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0UGFyZW50Tm9kZXNFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldFBhcmVudE5vZGVzUmVxdWVzdCwgRk5vZGVCYXNlW10+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldFBhcmVudE5vZGVzUmVxdWVzdCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRQYXJlbnROb2RlcyhyZXF1ZXN0LmZOb2RlLCBuZXcgU2V0PHN0cmluZz4oKSwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlcyhmTm9kZTogRk5vZGVCYXNlLCB2aXNpdGVkOiBTZXQ8c3RyaW5nPiwgcmVzdWx0OiBGTm9kZUJhc2VbXSk6IEZOb2RlQmFzZVtdIHtcbiAgICBpZiAodmlzaXRlZC5oYXMoZk5vZGUuZklkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDaXJjdWxhciByZWZlcmVuY2UgZGV0ZWN0ZWQgaW4gdGhlIG5vZGUgaGllcmFyY2h5LiBOb2RlIGlkOiAnICsgZk5vZGUuZklkKTtcbiAgICB9XG4gICAgdmlzaXRlZC5hZGQoZk5vZGUuZklkKTtcblxuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMuZmluZCgoeCkgPT4geC5mSWQgPT09IGZOb2RlLmZQYXJlbnRJZCk7XG4gICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcmVzdWx0LnB1c2gocGFyZW50KTtcbiAgICByZXR1cm4gdGhpcy5nZXRQYXJlbnROb2RlcyhwYXJlbnQsIHZpc2l0ZWQsIHJlc3VsdCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { IsArrayHasParentNodeRequest } from './is-array-has-parent-node.request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { GetParentNodesRequest } from '../get-parent-nodes';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@foblex/mediator";
8
+ export let IsArrayHasParentNodeExecution = class IsArrayHasParentNodeExecution {
9
+ constructor(fMediator) {
10
+ this.fMediator = fMediator;
11
+ }
12
+ handle(request) {
13
+ return this.isParentNodeInArray(this.getParentNodeIds(request.fNode), request.fNodes);
14
+ }
15
+ getParentNodeIds(fNode) {
16
+ return this.getParentNodes(fNode).map((x) => x.fId);
17
+ }
18
+ getParentNodes(fNode) {
19
+ return this.fMediator.send(new GetParentNodesRequest(fNode));
20
+ }
21
+ isParentNodeInArray(parentNodeIds, fNodes) {
22
+ return fNodes.some((x) => parentNodeIds.includes(x.fId));
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IsArrayHasParentNodeExecution, deps: [{ token: i1.FMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IsArrayHasParentNodeExecution }); }
26
+ };
27
+ IsArrayHasParentNodeExecution = __decorate([
28
+ FExecutionRegister(IsArrayHasParentNodeRequest)
29
+ ], IsArrayHasParentNodeExecution);
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IsArrayHasParentNodeExecution, decorators: [{
31
+ type: Injectable
32
+ }], ctorParameters: function () { return [{ type: i1.FMediator }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXJyYXktaGFzLXBhcmVudC1ub2RlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZG9tYWluL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZS9pcy1hcnJheS1oYXMtcGFyZW50LW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBSXJELFdBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBR3hDLFlBQ1UsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQW9DO1FBQ2hELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFnQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFnQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFjLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU8sbUJBQW1CLENBQUMsYUFBdUIsRUFBRSxNQUFtQjtRQUN0RSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzsrR0F0QlUsNkJBQTZCO21IQUE3Qiw2QkFBNkI7O0FBQTdCLDZCQUE2QjtJQUR6QyxrQkFBa0IsQ0FBQywyQkFBMkIsQ0FBQztHQUNuQyw2QkFBNkIsQ0F1QnpDOzRGQXZCWSw2QkFBNkI7a0JBRnpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QgfSBmcm9tICcuL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LXBhcmVudC1ub2Rlcyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIElzQXJyYXlIYXNQYXJlbnROb2RlRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QsIGJvb2xlYW4+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1BhcmVudE5vZGVJbkFycmF5KHRoaXMuZ2V0UGFyZW50Tm9kZUlkcyhyZXF1ZXN0LmZOb2RlKSwgcmVxdWVzdC5mTm9kZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlSWRzKGZOb2RlOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UGFyZW50Tm9kZXMoZk5vZGUpLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlcyhmTm9kZTogRk5vZGVCYXNlKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPEZOb2RlQmFzZVtdPihuZXcgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0KGZOb2RlKSk7XG4gIH1cblxuICBwcml2YXRlIGlzUGFyZW50Tm9kZUluQXJyYXkocGFyZW50Tm9kZUlkczogc3RyaW5nW10sIGZOb2RlczogRk5vZGVCYXNlW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZk5vZGVzLnNvbWUoKHgpID0+IHBhcmVudE5vZGVJZHMuaW5jbHVkZXMoeC5mSWQpKTtcbiAgfVxufVxuXG5cbiJdfQ==
@@ -5,10 +5,10 @@ export class FDraggableBase extends DragAndDropBase {
5
5
  constructor(ngZone) {
6
6
  super(ngZone);
7
7
  }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FDraggableBase, usesInheritance: true, ngImport: i0 }); }
8
10
  }
9
- FDraggableBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FDraggableBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
10
- FDraggableBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: FDraggableBase, usesInheritance: true, ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FDraggableBase, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableBase, decorators: [{
12
12
  type: Directive
13
13
  }], ctorParameters: function () { return [{ type: undefined }]; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZUFBZSxFQUF5QixNQUFNLHNCQUFzQixDQUFDOztBQUc5RSxNQUFNLE9BQWdCLGNBQWUsU0FBUSxlQUFlO0lBVTFELFlBQ0UsTUFBeUM7UUFFekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7OzJHQWRtQixjQUFjOytGQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCwgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50IH0gZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBGQ3JlYXRlTm9kZUV2ZW50IH0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IERyYWdBbmREcm9wQmFzZSwgSUNhblJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGRHJhZ2dhYmxlQmFzZSBleHRlbmRzIERyYWdBbmREcm9wQmFzZSAge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNyZWF0ZU5vZGU6IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlJlYXNzaWduQ29ubmVjdGlvbjogRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDcmVhdGVDb25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZUFBZSxFQUF5QixNQUFNLHNCQUFzQixDQUFDOztBQUc5RSxNQUFNLE9BQWdCLGNBQWUsU0FBUSxlQUFlO0lBVTFELFlBQ0UsTUFBeUM7UUFFekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7K0dBZG1CLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCwgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50IH0gZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5pbXBvcnQgeyBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBGQ3JlYXRlTm9kZUV2ZW50IH0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IERyYWdBbmREcm9wQmFzZSwgSUNhblJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGRHJhZ2dhYmxlQmFzZSBleHRlbmRzIERyYWdBbmREcm9wQmFzZSAge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNyZWF0ZU5vZGU6IEV2ZW50RW1pdHRlcjxGQ3JlYXRlTm9kZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlJlYXNzaWduQ29ubmVjdGlvbjogRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDcmVhdGVDb25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cbn1cbiJdfQ==
@@ -17,10 +17,10 @@ export class FDraggableDataContext {
17
17
  markSelectionAsChanged() {
18
18
  this.isSelectedChanged = true;
19
19
  }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableDataContext }); }
20
22
  }
21
- FDraggableDataContext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FDraggableDataContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- FDraggableDataContext.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FDraggableDataContext });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FDraggableDataContext, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableDataContext, decorators: [{
24
24
  type: Injectable
25
25
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQU1uQyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBR1Msa0JBQWEsR0FBMEIsRUFBRSxDQUFDO1FBRTFDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUVuQyx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFFL0IsMEJBQXFCLEdBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9DLG1CQUFjLEdBQXFCLEVBQUUsQ0FBQztLQWE5QztJQVRRLEtBQUs7UUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7O2tIQXRCVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgSUNhbkNoYW5nZVNlbGVjdGlvbiB9IGZyb20gJy4uL21peGlucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQge1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBJQ2FuQ2hhbmdlU2VsZWN0aW9uW10gPSBbXTtcblxuICBwdWJsaWMgaXNTZWxlY3RlZENoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb25Qb2ludGVyRG93blNjYWxlOiBudW1iZXIgPSAxO1xuXG4gIHB1YmxpYyBvblBvaW50ZXJEb3duUG9zaXRpb246IFBvaW50ID0gbmV3IFBvaW50KDAsIDApO1xuXG4gIHB1YmxpYyBkcmFnZ2FibGVJdGVtczogSURyYWdnYWJsZUl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyBmTGluZUFsaWdubWVudDogRkxpbmVBbGlnbm1lbnRCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdnYWJsZUl0ZW1zID0gW107XG4gICAgdGhpcy5vblBvaW50ZXJEb3duU2NhbGUgPSAxO1xuICAgIHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uID0gbmV3IFBvaW50KDAsIDApO1xuICB9XG5cbiAgcHVibGljIG1hcmtTZWxlY3Rpb25Bc0NoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQU1uQyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBR1Msa0JBQWEsR0FBMEIsRUFBRSxDQUFDO1FBRTFDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUVuQyx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFFL0IsMEJBQXFCLEdBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9DLG1CQUFjLEdBQXFCLEVBQUUsQ0FBQztLQWE5QztJQVRRLEtBQUs7UUFDVixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7K0dBdEJVLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IEZMaW5lQWxpZ25tZW50QmFzZSB9IGZyb20gJy4uL2YtbGluZS1hbGlnbm1lbnQnO1xuaW1wb3J0IHsgSUNhbkNoYW5nZVNlbGVjdGlvbiB9IGZyb20gJy4uL21peGlucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQge1xuXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBJQ2FuQ2hhbmdlU2VsZWN0aW9uW10gPSBbXTtcblxuICBwdWJsaWMgaXNTZWxlY3RlZENoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb25Qb2ludGVyRG93blNjYWxlOiBudW1iZXIgPSAxO1xuXG4gIHB1YmxpYyBvblBvaW50ZXJEb3duUG9zaXRpb246IFBvaW50ID0gbmV3IFBvaW50KDAsIDApO1xuXG4gIHB1YmxpYyBkcmFnZ2FibGVJdGVtczogSURyYWdnYWJsZUl0ZW1bXSA9IFtdO1xuXG4gIHB1YmxpYyBmTGluZUFsaWdubWVudDogRkxpbmVBbGlnbm1lbnRCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdnYWJsZUl0ZW1zID0gW107XG4gICAgdGhpcy5vblBvaW50ZXJEb3duU2NhbGUgPSAxO1xuICAgIHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uID0gbmV3IFBvaW50KDAsIDApO1xuICB9XG5cbiAgcHVibGljIG1hcmtTZWxlY3Rpb25Bc0NoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,160 @@
1
+ import { ContentChildren, Directive, EventEmitter, Inject, Input, NgZone, Optional, Output } from "@angular/core";
2
+ import { FDraggableBase } from './f-draggable-base';
3
+ import { Subscription } from 'rxjs';
4
+ import { Point } from '@foblex/2d';
5
+ import { NodeMoveFinalizeRequest, NodeMovePreparationRequest } from './node';
6
+ import { CanvasMoveFinalizeRequest, CanvasMovePreparationRequest } from './canvas';
7
+ import { ReassignConnectionPreparationRequest, ReassignConnectionFinalizeRequest, CreateConnectionPreparationRequest, CreateConnectionFinalizeRequest } from './connections';
8
+ import { EmitTransformChangesRequest, GetSelectionRequest } from '../domain';
9
+ import { ExternalItemFinalizeRequest, ExternalItemPreparationRequest, isExternalItem } from '../f-external-item';
10
+ import { SingleSelectRequest } from './single-select';
11
+ import { NodeResizeFinalizeRequest, NodeResizePreparationRequest } from './node-resize';
12
+ import { F_DRAG_AND_DROP_PLUGIN } from './i-f-drag-and-drop-plugin';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "./f-draggable-data-context";
15
+ import * as i2 from "../f-storage";
16
+ import * as i3 from "@foblex/mediator";
17
+ import * as i4 from "@foblex/platform";
18
+ export class FDraggableDirective extends FDraggableBase {
19
+ get hostElement() {
20
+ return this.elementReference.nativeElement;
21
+ }
22
+ constructor(elementReference, fDraggableDataContext, ngZone, fComponentsStore, fMediator, fBrowser) {
23
+ super(ngZone);
24
+ this.elementReference = elementReference;
25
+ this.fDraggableDataContext = fDraggableDataContext;
26
+ this.fComponentsStore = fComponentsStore;
27
+ this.fMediator = fMediator;
28
+ this.fBrowser = fBrowser;
29
+ this.subscriptions$ = new Subscription();
30
+ this.disabled = false;
31
+ this.fSelectionChange = new EventEmitter();
32
+ // @Output()
33
+ // public override fConnectionIntersectNode: EventEmitter<ConnectionIntersectNodeEvent> = new EventEmitter<ConnectionIntersectNodeEvent>();
34
+ this.fCreateNode = new EventEmitter();
35
+ this.fReassignConnection = new EventEmitter();
36
+ this.fCreateConnection = new EventEmitter();
37
+ }
38
+ ngOnInit() {
39
+ this.fComponentsStore.fDraggable = this;
40
+ }
41
+ ngAfterViewInit() {
42
+ super.subscribe(this.fBrowser.document);
43
+ }
44
+ onPointerDown(event) {
45
+ this.fDraggableDataContext.reset();
46
+ let result = event.isMouseLeftButton();
47
+ this.plugins.forEach((p) => {
48
+ p.onPointerDown?.(event);
49
+ });
50
+ this.fMediator.send(new SingleSelectRequest(event));
51
+ this.fMediator.send(new ReassignConnectionPreparationRequest(event));
52
+ this.fMediator.send(new CreateConnectionPreparationRequest(event));
53
+ if (!result) {
54
+ this.finalizeDragSequence();
55
+ }
56
+ return result;
57
+ }
58
+ prepareDragSequence(event) {
59
+ this.plugins.forEach((p) => {
60
+ p.prepareDragSequence?.(event);
61
+ });
62
+ this.fMediator.send(new NodeResizePreparationRequest(event));
63
+ this.fMediator.send(new NodeMovePreparationRequest(event));
64
+ this.fMediator.send(new CanvasMovePreparationRequest(event));
65
+ this.fMediator.send(new ExternalItemPreparationRequest(event));
66
+ this.fDraggableDataContext.draggableItems.forEach((item) => {
67
+ item.initialize?.();
68
+ });
69
+ if (this.fDraggableDataContext.draggableItems.length > 0) {
70
+ this.hostElement.classList.add('f-dragging');
71
+ this.emitSelectionChangeEvent();
72
+ }
73
+ }
74
+ onSelect(event) {
75
+ this.plugins.forEach((p) => {
76
+ p.onSelect?.(event);
77
+ });
78
+ if (this.isTargetItemExternal(event)) {
79
+ event.preventDefault();
80
+ }
81
+ }
82
+ isTargetItemExternal(event) {
83
+ let isTargetItemExternal = this.isExternalItem(event.target);
84
+ let isTargetParentItemExternal = this.isExternalItem(event.target.parentNode);
85
+ return isTargetItemExternal || isTargetParentItemExternal;
86
+ }
87
+ isExternalItem(target) {
88
+ let result = false;
89
+ try {
90
+ result = isExternalItem(target);
91
+ }
92
+ catch (e) {
93
+ }
94
+ return result;
95
+ }
96
+ onPointerMove(event) {
97
+ const pointerPositionInCanvas = Point.fromPoint(event.getPosition()).elementTransform(this.hostElement);
98
+ const difference = pointerPositionInCanvas.div(this.fDraggableDataContext.onPointerDownScale).sub(this.fDraggableDataContext.onPointerDownPosition);
99
+ this.fDraggableDataContext.draggableItems.forEach((item) => {
100
+ item.move({ ...difference });
101
+ });
102
+ }
103
+ onPointerUp(event) {
104
+ this.plugins.forEach((p) => {
105
+ p.onPointerUp?.(event);
106
+ });
107
+ this.fMediator.send(new ReassignConnectionFinalizeRequest(event));
108
+ this.fMediator.send(new CreateConnectionFinalizeRequest(event));
109
+ this.fMediator.send(new NodeResizeFinalizeRequest(event));
110
+ this.fMediator.send(new NodeMoveFinalizeRequest(event));
111
+ this.fMediator.send(new CanvasMoveFinalizeRequest(event));
112
+ this.fMediator.send(new ExternalItemFinalizeRequest(event));
113
+ this.hostElement.classList.remove('f-dragging');
114
+ this.fDraggableDataContext.reset();
115
+ }
116
+ finalizeDragSequence() {
117
+ this.emitSelectionChangeEvent();
118
+ }
119
+ emitSelectionChangeEvent() {
120
+ if (!this.fDraggableDataContext.isSelectedChanged) {
121
+ return;
122
+ }
123
+ this.fSelectionChange.emit(this.fMediator.send(new GetSelectionRequest()));
124
+ this.fDraggableDataContext.isSelectedChanged = false;
125
+ this.fMediator.send(new EmitTransformChangesRequest());
126
+ }
127
+ ngOnDestroy() {
128
+ super.unsubscribe();
129
+ this.subscriptions$.unsubscribe();
130
+ }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableDirective, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }, { token: NgZone, optional: true }, { token: i2.FComponentsStore }, { token: i3.FMediator }, { token: i4.BrowserService }], target: i0.ɵɵFactoryTarget.Directive }); }
132
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 }); }
133
+ }
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FDraggableDirective, decorators: [{
135
+ type: Directive,
136
+ args: [{
137
+ selector: "f-flow[fDraggable]",
138
+ exportAs: 'fDraggable'
139
+ }]
140
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FDraggableDataContext }, { type: undefined, decorators: [{
141
+ type: Inject,
142
+ args: [NgZone]
143
+ }, {
144
+ type: Optional
145
+ }] }, { type: i2.FComponentsStore }, { type: i3.FMediator }, { type: i4.BrowserService }]; }, propDecorators: { disabled: [{
146
+ type: Input,
147
+ args: ['fDraggableDisabled']
148
+ }], fSelectionChange: [{
149
+ type: Output
150
+ }], fCreateNode: [{
151
+ type: Output
152
+ }], fReassignConnection: [{
153
+ type: Output
154
+ }], fCreateConnection: [{
155
+ type: Output
156
+ }], plugins: [{
157
+ type: ContentChildren,
158
+ args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
159
+ }] } });
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGVBQWUsRUFDOUIsU0FBUyxFQUVULFlBQVksRUFBRSxNQUFNLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBRUUsUUFBUSxFQUFFLE1BQU0sRUFDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFVLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLDRCQUE0QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25GLE9BQU8sRUFHTCxvQ0FBb0MsRUFDcEMsaUNBQWlDLEVBQ2pDLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDaEMsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdFLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsOEJBQThCLEVBRTlCLGNBQWMsRUFDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQVF6RixNQUFNLE9BQU8sbUJBQW9CLFNB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TTtnQkFJUyxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSUMsT0FBTztzQkFEZCxlQUFlO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQsIFF1ZXJ5TGlzdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuL2YtZHJhZ2dhYmxlLWJhc2UnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElQb2ludCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0LCBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9jYW52YXMnO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdFxufSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRW1pdFRyYW5zZm9ybUNoYW5nZXNSZXF1ZXN0LCBHZXRTZWxlY3Rpb25SZXF1ZXN0IH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGQ3JlYXRlTm9kZUV2ZW50LFxuICBpc0V4dGVybmFsSXRlbVxufSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLXJlc2l6ZSc7XG5pbXBvcnQgeyBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcImYtZmxvd1tmRHJhZ2dhYmxlXVwiLFxuICBleHBvcnRBczogJ2ZEcmFnZ2FibGUnXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmUgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KCdmRHJhZ2dhYmxlRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgLy8gQE91dHB1dCgpXG4gIC8vIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbkludGVyc2VjdE5vZGU6IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uSW50ZXJzZWN0Tm9kZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29ubmVjdGlvbkludGVyc2VjdE5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBASW5qZWN0KE5nWm9uZSkgQE9wdGlvbmFsKCkgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZEcmFnZ2FibGUgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5zdWJzY3JpYmUodGhpcy5mQnJvd3Nlci5kb2N1bWVudCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuICAgIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnJlc2V0KCk7XG4gICAgbGV0IHJlc3VsdDogYm9vbGVhbiA9IGV2ZW50LmlzTW91c2VMZWZ0QnV0dG9uKCk7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgcC5vblBvaW50ZXJEb3duPy4oZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhpcy5maW5hbGl6ZURyYWdTZXF1ZW5jZSgpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQ6IElQb2ludGVyRXZlbnQpIHtcblxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiB7XG4gICAgICBwLnByZXBhcmVEcmFnU2VxdWVuY2U/LihldmVudCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmluaXRpYWxpemU/LigpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LmRyYWdnYWJsZUl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZi1kcmFnZ2luZycpO1xuICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25TZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgcC5vblNlbGVjdD8uKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmlzVGFyZ2V0SXRlbUV4dGVybmFsKGV2ZW50KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzVGFyZ2V0SXRlbUV4dGVybmFsKGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIGxldCBpc1RhcmdldEl0ZW1FeHRlcm5hbCA9IHRoaXMuaXNFeHRlcm5hbEl0ZW0oZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICBsZXQgaXNUYXJnZXRQYXJlbnRJdGVtRXh0ZXJuYWwgPSB0aGlzLmlzRXh0ZXJuYWxJdGVtKChldmVudC50YXJnZXQgYXMgTm9kZSkucGFyZW50Tm9kZSBhcyBIVE1MRWxlbWVudCk7XG4gICAgcmV0dXJuIGlzVGFyZ2V0SXRlbUV4dGVybmFsIHx8IGlzVGFyZ2V0UGFyZW50SXRlbUV4dGVybmFsO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0V4dGVybmFsSXRlbSh0YXJnZXQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuICAgIHRyeSB7XG4gICAgICByZXN1bHQgPSBpc0V4dGVybmFsSXRlbSh0YXJnZXQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uSW5DYW52YXMgPSBQb2ludC5mcm9tUG9pbnQoZXZlbnQuZ2V0UG9zaXRpb24oKSkuZWxlbWVudFRyYW5zZm9ybSh0aGlzLmhvc3RFbGVtZW50KTtcbiAgICBjb25zdCBkaWZmZXJlbmNlOiBJUG9pbnQgPSBwb2ludGVyUG9zaXRpb25JbkNhbnZhcy5kaXYodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blNjYWxlKS5zdWIodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQub25Qb2ludGVyRG93blBvc2l0aW9uKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5kcmFnZ2FibGVJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLm1vdmUoeyAuLi5kaWZmZXJlbmNlIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4ge1xuICAgICAgcC5vblBvaW50ZXJVcD8uKGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdmLWRyYWdnaW5nJyk7XG5cbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5yZXNldCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpbmFsaXplRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5mU2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5mTWVkaWF0b3Iuc2VuZDxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KG5ldyBHZXRTZWxlY3Rpb25SZXF1ZXN0KCkpKTtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5pc1NlbGVjdGVkQ2hhbmdlZCA9IGZhbHNlO1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEVtaXRUcmFuc2Zvcm1DaGFuZ2VzUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuXG4iXX0=
@@ -30,10 +30,10 @@ export class ConnectionBaseDragHandler {
30
30
  this.connection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, this.fInputWithRect.fConnector.fConnectableSide);
31
31
  this.connection.redraw();
32
32
  }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectionBaseDragHandler, deps: [{ token: i1.FMediator }, { token: i2.FComponentsStore }, { token: i3.FConnectionBase }], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ConnectionBaseDragHandler, ngImport: i0 }); }
33
35
  }
34
- ConnectionBaseDragHandler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConnectionBaseDragHandler, deps: [{ token: i1.FMediator }, { token: i2.FComponentsStore }, { token: i3.FConnectionBase }], target: i0.ɵɵFactoryTarget.Directive });
35
- ConnectionBaseDragHandler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: ConnectionBaseDragHandler, ngImport: i0 });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConnectionBaseDragHandler, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConnectionBaseDragHandler, decorators: [{
37
37
  type: Directive
38
38
  }], ctorParameters: function () { return [{ type: i1.FMediator }, { type: i2.FComponentsStore }, { type: i3.FConnectionBase }]; } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFzQixNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFHL0UsTUFBTSxPQUFnQix5QkFBeUI7SUFLN0MsWUFDWSxTQUFvQixFQUNwQixnQkFBa0MsRUFDckMsVUFBMkI7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQWlCO0lBRXBDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBcUIsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXFCLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBRU8sU0FBUztRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUUsQ0FBQztJQUN6RixDQUFDO0lBRU8sUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUUsQ0FBQTtJQUN0RixDQUFDO0lBSVMsYUFBYSxDQUFDLFVBQWtCLEVBQUUsWUFBbUM7UUFDN0UsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzVFLENBQUE7SUFDSCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsSUFBVztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNySixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7O3NIQXJDbUIseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEOUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElOb2RlTW92ZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCwgSUNvbm5lY3RvcldpdGhSZWN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwcm90ZWN0ZWQgZk91dHB1dFdpdGhSZWN0ITogSUNvbm5lY3RvcldpdGhSZWN0O1xuICBwcm90ZWN0ZWQgZklucHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yV2l0aFJlY3Q7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcm90ZWN0ZWQgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwdWJsaWMgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yV2l0aFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QodGhpcy5nZXRPdXRwdXQoKSkpO1xuICAgIHRoaXMuZklucHV0V2l0aFJlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElDb25uZWN0b3JXaXRoUmVjdD4obmV3IEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCh0aGlzLmdldElucHV0KCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IHRoaXMuY29ubmVjdGlvbi5mT3V0cHV0SWQpITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maW5kKCh4KSA9PiB4LmlkID09PSB0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQpIVxuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZDtcblxuICBwcm90ZWN0ZWQgZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQsIHJlc3RyaWN0aW9uczogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zKTogSVBvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogTWF0aC5taW4oTWF0aC5tYXgoZGlmZmVyZW5jZS54LCByZXN0cmljdGlvbnMubWluLngpLCByZXN0cmljdGlvbnMubWF4LngpLFxuICAgICAgeTogTWF0aC5taW4oTWF0aC5tYXgoZGlmZmVyZW5jZS55LCByZXN0cmljdGlvbnMubWluLnkpLCByZXN0cmljdGlvbnMubWF4LnkpXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlZHJhd0Nvbm5lY3Rpb24obGluZTogSUxpbmUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBsaW5lLnBvaW50MiwgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxufVxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1iYXNlLWRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWJhc2UtZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFzQixNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFHL0UsTUFBTSxPQUFnQix5QkFBeUI7SUFLN0MsWUFDWSxTQUFvQixFQUNwQixnQkFBa0MsRUFDckMsVUFBMkI7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLGVBQVUsR0FBVixVQUFVLENBQWlCO0lBRXBDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBcUIsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXFCLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBRU8sU0FBUztRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUUsQ0FBQztJQUN6RixDQUFDO0lBRU8sUUFBUTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUUsQ0FBQTtJQUN0RixDQUFDO0lBSVMsYUFBYSxDQUFDLFVBQWtCLEVBQUUsWUFBbUM7UUFDN0UsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzVFLENBQUE7SUFDSCxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsSUFBVztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNySixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBckNtQix5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEOUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEcmFnZ2FibGVJdGVtIH0gZnJvbSAnLi4vaS1kcmFnZ2FibGUtaXRlbSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElOb2RlTW92ZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCwgSUNvbm5lY3RvcldpdGhSZWN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29ubmVjdGlvbkJhc2VEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwcm90ZWN0ZWQgZk91dHB1dFdpdGhSZWN0ITogSUNvbm5lY3RvcldpdGhSZWN0O1xuICBwcm90ZWN0ZWQgZklucHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yV2l0aFJlY3Q7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcm90ZWN0ZWQgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwdWJsaWMgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yV2l0aFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QodGhpcy5nZXRPdXRwdXQoKSkpO1xuICAgIHRoaXMuZklucHV0V2l0aFJlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElDb25uZWN0b3JXaXRoUmVjdD4obmV3IEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCh0aGlzLmdldElucHV0KCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IHRoaXMuY29ubmVjdGlvbi5mT3V0cHV0SWQpITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5wdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cy5maW5kKCh4KSA9PiB4LmlkID09PSB0aGlzLmNvbm5lY3Rpb24uZklucHV0SWQpIVxuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IG1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZDtcblxuICBwcm90ZWN0ZWQgZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQsIHJlc3RyaWN0aW9uczogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zKTogSVBvaW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogTWF0aC5taW4oTWF0aC5tYXgoZGlmZmVyZW5jZS54LCByZXN0cmljdGlvbnMubWluLngpLCByZXN0cmljdGlvbnMubWF4LngpLFxuICAgICAgeTogTWF0aC5taW4oTWF0aC5tYXgoZGlmZmVyZW5jZS55LCByZXN0cmljdGlvbnMubWluLnkpLCByZXN0cmljdGlvbnMubWF4LnkpXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlZHJhd0Nvbm5lY3Rpb24obGluZTogSUxpbmUpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBsaW5lLnBvaW50MiwgdGhpcy5mSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,84 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { CreateMoveNodesDragModelFromSelectionRequest } from './create-move-nodes-drag-model-from-selection.request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { NodeDragHandler } from '../node.drag-handler';
6
+ import { GetNodeMoveRestrictionsRequest } from './domain/get-node-move-restrictions';
7
+ import { PutOutputConnectionHandlersToArrayRequest } from './domain/put-output-connection-handlers-to-array';
8
+ import { PutInputConnectionHandlersToArrayRequest } from './domain/put-input-connection-handlers-to-array';
9
+ import { NodeResizeByChildDragHandler } from '../node-resize-by-child.drag-handler';
10
+ import { GetParentNodesRequest, IsArrayHasParentNodeRequest } from '../../domain';
11
+ import { GetDeepChildrenNodesAndGroupsRequest } from '../../../domain';
12
+ import { flatMap } from '@foblex/utils';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "../../../f-storage";
15
+ import * as i2 from "../../f-draggable-data-context";
16
+ import * as i3 from "@foblex/mediator";
17
+ export let CreateMoveNodesDragModelFromSelectionExecution = class CreateMoveNodesDragModelFromSelectionExecution {
18
+ constructor(fComponentsStore, fDraggableDataContext, fMediator) {
19
+ this.fComponentsStore = fComponentsStore;
20
+ this.fDraggableDataContext = fDraggableDataContext;
21
+ this.fMediator = fMediator;
22
+ }
23
+ handle(request) {
24
+ const itemsToDrag = this.getNodesWithRestrictions(this.getSelectedNodes());
25
+ return this.getDragHandlersWithConnections(this.getDragHandlersFromNodes(itemsToDrag), this.getAllOutputIds(itemsToDrag), this.getAllInputIds(itemsToDrag));
26
+ }
27
+ getSelectedNodes() {
28
+ return this.fDraggableDataContext.selectedItems
29
+ .map((x) => this.fComponentsStore.findNode(x.hostElement))
30
+ .filter((x) => !!x);
31
+ }
32
+ getNodesWithRestrictions(selectedNodes) {
33
+ const result = [];
34
+ selectedNodes.forEach((x) => {
35
+ const hasParentNodeInSelected = this.fMediator.send(new IsArrayHasParentNodeRequest(x, selectedNodes));
36
+ const restrictions = this.fMediator.send(new GetNodeMoveRestrictionsRequest(x, hasParentNodeInSelected));
37
+ const parentNodes = this.fMediator.send(new GetParentNodesRequest(x));
38
+ result.push({ node: x, parentNodes, ...restrictions }, ...this.getChildrenItemsToDrag(x, restrictions));
39
+ });
40
+ return result;
41
+ }
42
+ getChildrenItemsToDrag(node, restrictions) {
43
+ return this.getChildrenNodes(node.fId).map((x) => ({ node: x, ...restrictions }));
44
+ }
45
+ getChildrenNodes(fId) {
46
+ return this.fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
47
+ }
48
+ getAllOutputIds(items) {
49
+ return flatMap(items, (item) => this.getOutputsForNode(item.node).map((x) => x.id));
50
+ }
51
+ getOutputsForNode(node) {
52
+ return this.fComponentsStore.fOutputs.filter((x) => node.isContains(x.hostElement));
53
+ }
54
+ getAllInputIds(items) {
55
+ return flatMap(items, (item) => this.getInputsForNode(item.node).map((x) => x.id));
56
+ }
57
+ getInputsForNode(node) {
58
+ return this.fComponentsStore.fInputs.filter((x) => node.isContains(x.hostElement));
59
+ }
60
+ getDragHandlersFromNodes(items) {
61
+ let result = [];
62
+ items.forEach((node) => {
63
+ result.push(new NodeDragHandler(this.fDraggableDataContext, node.node, node.min, node.max), ...(node.parentNodes || []).map((parent) => new NodeResizeByChildDragHandler(this.fDraggableDataContext)));
64
+ });
65
+ return result;
66
+ }
67
+ getDragHandlersWithConnections(handlers, outputIds, inputIds) {
68
+ let result = handlers;
69
+ handlers.filter((x) => x instanceof NodeDragHandler).forEach((dragHandler) => {
70
+ this.fMediator.send(new PutOutputConnectionHandlersToArrayRequest(dragHandler, inputIds, result));
71
+ this.fMediator.send(new PutInputConnectionHandlersToArrayRequest(dragHandler, outputIds, result));
72
+ });
73
+ return result;
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution }); }
77
+ };
78
+ CreateMoveNodesDragModelFromSelectionExecution = __decorate([
79
+ FExecutionRegister(CreateMoveNodesDragModelFromSelectionRequest)
80
+ ], CreateMoveNodesDragModelFromSelectionExecution);
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateMoveNodesDragModelFromSelectionExecution, decorators: [{
82
+ type: Injectable
83
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FMediator }]; } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY3JlYXRlLW1vdmUtbm9kZXMtZHJhZy1tb2RlbC1mcm9tLXNlbGVjdGlvbi9jcmVhdGUtbW92ZS1ub2Rlcy1kcmFnLW1vZGVsLWZyb20tc2VsZWN0aW9uLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNySCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7QUFJN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSXZELE9BQU8sRUFBRSw4QkFBOEIsRUFBeUIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSWpDLFdBQU0sOENBQThDLEdBQXBELE1BQU0sOENBQThDO0lBR3pELFlBQ1UsZ0JBQWtDLEVBQ2xDLHFCQUE0QyxFQUM1QyxTQUFvQjtRQUZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtC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QUUsQ0FBQyxDQUFDLFlBQVksZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDM0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSx5Q0FBeUMsQ0FBQyxXQUE4QixFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksd0NBQXdDLENBQUMsV0FBOEIsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN2SCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7K0dBbkZVLDhDQUE4QzttSEFBOUMsOENBQThDOztBQUE5Qyw4Q0FBOEM7SUFEMUQsa0JBQWtCLENBQUMsNENBQTRDLENBQUM7R0FDcEQsOENBQThDLENBb0YxRDs0RkFwRlksOENBQThDO2tCQUYxRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7IE5vZGVEcmFnSGFuZGxlciB9IGZyb20gJy4uL25vZGUuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucyB9IGZyb20gJy4vaS1ub2RlLXdpdGgtZGlzdGFuY2UtcmVzdHJpY3Rpb25zJztcbmltcG9ydCB7IEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCwgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9kb21haW4vZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMnO1xuaW1wb3J0IHsgUHV0T3V0cHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QgfSBmcm9tICcuL2RvbWFpbi9wdXQtb3V0cHV0LWNvbm5lY3Rpb24taGFuZGxlcnMtdG8tYXJyYXknO1xuaW1wb3J0IHtcbiAgUHV0SW5wdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdFxufSBmcm9tICcuL2RvbWFpbi9wdXQtaW5wdXQtY29ubmVjdGlvbi1oYW5kbGVycy10by1hcnJheSc7XG5pbXBvcnQgeyBOb2RlUmVzaXplQnlDaGlsZERyYWdIYW5kbGVyIH0gZnJvbSAnLi4vbm9kZS1yZXNpemUtYnktY2hpbGQuZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEdldFBhcmVudE5vZGVzUmVxdWVzdCwgSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBmbGF0TWFwIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQ3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvbkV4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q3JlYXRlTW92ZU5vZGVzRHJhZ01vZGVsRnJvbVNlbGVjdGlvblJlcXVlc3QsIElEcmFnZ2FibGVJdGVtW10+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVNb3ZlTm9kZXNEcmFnTW9kZWxGcm9tU2VsZWN0aW9uUmVxdWVzdCk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGNvbnN0IGl0ZW1zVG9EcmFnID0gdGhpcy5nZXROb2Rlc1dpdGhSZXN0cmljdGlvbnModGhpcy5nZXRTZWxlY3RlZE5vZGVzKCkpO1xuICAgIHJldHVybiB0aGlzLmdldERyYWdIYW5kbGVyc1dpdGhDb25uZWN0aW9ucyhcbiAgICAgIHRoaXMuZ2V0RHJhZ0hhbmRsZXJzRnJvbU5vZGVzKGl0ZW1zVG9EcmFnKSxcbiAgICAgIHRoaXMuZ2V0QWxsT3V0cHV0SWRzKGl0ZW1zVG9EcmFnKSxcbiAgICAgIHRoaXMuZ2V0QWxsSW5wdXRJZHMoaXRlbXNUb0RyYWcpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWROb2RlcygpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXNcbiAgICAgIC5tYXAoKHgpID0+IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5maW5kTm9kZSh4Lmhvc3RFbGVtZW50KSlcbiAgICAgIC5maWx0ZXIoKHgpOiB4IGlzIEZOb2RlQmFzZSA9PiAhIXgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2Rlc1dpdGhSZXN0cmljdGlvbnMoc2VsZWN0ZWROb2RlczogRk5vZGVCYXNlW10pOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10gPSBbXTtcblxuICAgIHNlbGVjdGVkTm9kZXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgY29uc3QgaGFzUGFyZW50Tm9kZUluU2VsZWN0ZWQgPSB0aGlzLmZNZWRpYXRvci5zZW5kPGJvb2xlYW4+KG5ldyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QoeCwgc2VsZWN0ZWROb2RlcykpO1xuICAgICAgY29uc3QgcmVzdHJpY3Rpb25zID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTm9kZU1vdmVSZXN0cmljdGlvbnM+KG5ldyBHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QoeCwgaGFzUGFyZW50Tm9kZUluU2VsZWN0ZWQpKTtcbiAgICAgIGNvbnN0IHBhcmVudE5vZGVzID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxGTm9kZUJhc2VbXT4obmV3IEdldFBhcmVudE5vZGVzUmVxdWVzdCh4KSk7XG4gICAgICByZXN1bHQucHVzaCh7IG5vZGU6IHgsIHBhcmVudE5vZGVzLCAuLi5yZXN0cmljdGlvbnMgfSwgLi4udGhpcy5nZXRDaGlsZHJlbkl0ZW1zVG9EcmFnKHgsIHJlc3RyaWN0aW9ucykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2hpbGRyZW5JdGVtc1RvRHJhZyhub2RlOiBGTm9kZUJhc2UsIHJlc3RyaWN0aW9uczogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zKTogSU5vZGVXaXRoRGlzdGFuY2VSZXN0cmljdGlvbnNbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hpbGRyZW5Ob2Rlcyhub2RlLmZJZCkubWFwKCh4KSA9PiAoeyBub2RlOiB4LCAuLi5yZXN0cmljdGlvbnMgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxPdXRwdXRJZHMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoaXRlbXMsIChpdGVtOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucykgPT4gdGhpcy5nZXRPdXRwdXRzRm9yTm9kZShpdGVtLm5vZGUpLm1hcCgoeCkgPT4geC5pZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRwdXRzRm9yTm9kZShub2RlOiBGTm9kZUJhc2UpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsSW5wdXRJZHMoaXRlbXM6IElOb2RlV2l0aERpc3RhbmNlUmVzdHJpY3Rpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAoaXRlbXMsIChpdGVtOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9ucykgPT4gdGhpcy5nZXRJbnB1dHNGb3JOb2RlKGl0ZW0ubm9kZSkubWFwKCh4KSA9PiB4LmlkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldElucHV0c0Zvck5vZGUobm9kZTogRk5vZGVCYXNlKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZpbHRlcigoeCkgPT4gbm9kZS5pc0NvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZ0hhbmRsZXJzRnJvbU5vZGVzKGl0ZW1zOiBJTm9kZVdpdGhEaXN0YW5jZVJlc3RyaWN0aW9uc1tdKTogSURyYWdnYWJsZUl0ZW1bXSB7XG4gICAgbGV0IHJlc3VsdDogSURyYWdnYWJsZUl0ZW1bXSA9IFtdO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2goXG4gICAgICAgIG5ldyBOb2RlRHJhZ0hhbmRsZXIodGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQsIG5vZGUubm9kZSwgbm9kZS5taW4sIG5vZGUubWF4KSxcbiAgICAgICAgLi4uKG5vZGUucGFyZW50Tm9kZXMgfHwgW10pLm1hcCgocGFyZW50KSA9PiBuZXcgTm9kZVJlc2l6ZUJ5Q2hpbGREcmFnSGFuZGxlcih0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dCkpXG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldERyYWdIYW5kbGVyc1dpdGhDb25uZWN0aW9ucyhcbiAgICBoYW5kbGVyczogSURyYWdnYWJsZUl0ZW1bXSwgb3V0cHV0SWRzOiBzdHJpbmdbXSwgaW5wdXRJZHM6IHN0cmluZ1tdXG4gICk6IElEcmFnZ2FibGVJdGVtW10ge1xuICAgIGxldCByZXN1bHQ6IElEcmFnZ2FibGVJdGVtW10gPSBoYW5kbGVycztcbiAgICBoYW5kbGVycy5maWx0ZXIoKHgpID0+IHggaW5zdGFuY2VvZiBOb2RlRHJhZ0hhbmRsZXIpLmZvckVhY2goKGRyYWdIYW5kbGVyKSA9PiB7XG4gICAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBQdXRPdXRwdXRDb25uZWN0aW9uSGFuZGxlcnNUb0FycmF5UmVxdWVzdChkcmFnSGFuZGxlciBhcyBOb2RlRHJhZ0hhbmRsZXIsIGlucHV0SWRzLCByZXN1bHQpKTtcbiAgICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IFB1dElucHV0Q29ubmVjdGlvbkhhbmRsZXJzVG9BcnJheVJlcXVlc3QoZHJhZ0hhbmRsZXIgYXMgTm9kZURyYWdIYW5kbGVyLCBvdXRwdXRJZHMsIHJlc3VsdCkpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { GetNodeMoveRestrictionsRequest } from './get-node-move-restrictions.request';
4
+ import { PointExtensions } from '@foblex/2d';
5
+ import { FExecutionRegister } from '@foblex/mediator';
6
+ import { GetNormalizedNodeRectRequest, GetNormalizedParentNodeRectRequest } from '../../../../domain';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@foblex/mediator";
9
+ export let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
10
+ constructor(fMediator) {
11
+ this.fMediator = fMediator;
12
+ }
13
+ handle(request) {
14
+ if (request.fNode.fParentId && !request.hasParentNodeInSelected) {
15
+ const fParentNodeRect = this.getParentNodeRect(request.fNode);
16
+ const fCurrentNodeRect = this.getCurrentNodeRect(request.fNode);
17
+ return {
18
+ min: PointExtensions.initialize(fParentNodeRect.x - fCurrentNodeRect.x, fParentNodeRect.y - fCurrentNodeRect.y),
19
+ max: PointExtensions.initialize((fParentNodeRect.x + fParentNodeRect.width) - (fCurrentNodeRect.x + fCurrentNodeRect.width), (fParentNodeRect.y + fParentNodeRect.height) - (fCurrentNodeRect.y + fCurrentNodeRect.height))
20
+ };
21
+ }
22
+ return { ...DEFAULT_RESTRICTIONS };
23
+ }
24
+ getCurrentNodeRect(fNode) {
25
+ return this.fMediator.send(new GetNormalizedNodeRectRequest(fNode));
26
+ }
27
+ getParentNodeRect(fNode) {
28
+ return this.fMediator.send(new GetNormalizedParentNodeRectRequest(fNode));
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetNodeMoveRestrictionsExecution, deps: [{ token: i1.FMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
31
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetNodeMoveRestrictionsExecution }); }
32
+ };
33
+ GetNodeMoveRestrictionsExecution = __decorate([
34
+ FExecutionRegister(GetNodeMoveRestrictionsRequest)
35
+ ], GetNodeMoveRestrictionsExecution);
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GetNodeMoveRestrictionsExecution, decorators: [{
37
+ type: Injectable
38
+ }], ctorParameters: function () { return [{ type: i1.FMediator }]; } });
39
+ const DEFAULT_RESTRICTIONS = {
40
+ min: PointExtensions.initialize(-Infinity, -Infinity),
41
+ max: PointExtensions.initialize(Infinity, Infinity)
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtbW92ZS1yZXN0cmljdGlvbnMuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2NyZWF0ZS1tb3ZlLW5vZGVzLWRyYWctbW9kZWwtZnJvbS1zZWxlY3Rpb24vZG9tYWluL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQVMsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXBELE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBSy9GLFdBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWdDO0lBRzNDLFlBQ1UsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUU5QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXVDO1FBQ25ELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUU7WUFDL0QsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5RCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEUsT0FBTztnQkFDTCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDL0csR0FBRyxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQzdCLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQzNGLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQzlGO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsT0FBTyxFQUFFLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBZ0I7UUFDekMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBUSxJQUFJLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQWdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSxrQ0FBa0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7K0dBN0JVLGdDQUFnQzttSEFBaEMsZ0NBQWdDOztBQUFoQyxnQ0FBZ0M7SUFENUMsa0JBQWtCLENBQUMsOEJBQThCLENBQUM7R0FDdEMsZ0NBQWdDLENBOEI1Qzs0RkE5QlksZ0NBQWdDO2tCQUY1QyxVQUFVOztBQWtDWCxNQUFNLG9CQUFvQixHQUEwQjtJQUNsRCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUNyRCxHQUFHLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO0NBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL2dldC1ub2RlLW1vdmUtcmVzdHJpY3Rpb25zLnJlcXVlc3QnO1xuaW1wb3J0IHsgSVJlY3QsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIH0gZnJvbSAnLi9pLW5vZGUtbW92ZS1yZXN0cmljdGlvbnMnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWROb2RlUmVjdFJlcXVlc3QsIEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1ub2RlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXROb2RlTW92ZVJlc3RyaWN0aW9uc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vZGVNb3ZlUmVzdHJpY3Rpb25zUmVxdWVzdCwgSU5vZGVNb3ZlUmVzdHJpY3Rpb25zPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvclxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9kZU1vdmVSZXN0cmljdGlvbnNSZXF1ZXN0KTogSU5vZGVNb3ZlUmVzdHJpY3Rpb25zIHtcbiAgICBpZiAocmVxdWVzdC5mTm9kZS5mUGFyZW50SWQgJiYgIXJlcXVlc3QuaGFzUGFyZW50Tm9kZUluU2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IGZQYXJlbnROb2RlUmVjdCA9IHRoaXMuZ2V0UGFyZW50Tm9kZVJlY3QocmVxdWVzdC5mTm9kZSk7XG4gICAgICBjb25zdCBmQ3VycmVudE5vZGVSZWN0ID0gdGhpcy5nZXRDdXJyZW50Tm9kZVJlY3QocmVxdWVzdC5mTm9kZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtaW46IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKGZQYXJlbnROb2RlUmVjdC54IC0gZkN1cnJlbnROb2RlUmVjdC54LCBmUGFyZW50Tm9kZVJlY3QueSAtIGZDdXJyZW50Tm9kZVJlY3QueSksXG4gICAgICAgIG1heDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoXG4gICAgICAgICAgKGZQYXJlbnROb2RlUmVjdC54ICsgZlBhcmVudE5vZGVSZWN0LndpZHRoKSAtIChmQ3VycmVudE5vZGVSZWN0LnggKyBmQ3VycmVudE5vZGVSZWN0LndpZHRoKSxcbiAgICAgICAgICAoZlBhcmVudE5vZGVSZWN0LnkgKyBmUGFyZW50Tm9kZVJlY3QuaGVpZ2h0KSAtIChmQ3VycmVudE5vZGVSZWN0LnkgKyBmQ3VycmVudE5vZGVSZWN0LmhlaWdodCksXG4gICAgICAgIClcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7IC4uLkRFRkFVTFRfUkVTVFJJQ1RJT05TIH07XG4gIH1cblxuICBwcml2YXRlIGdldEN1cnJlbnROb2RlUmVjdChmTm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZE5vZGVSZWN0UmVxdWVzdChmTm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlUmVjdChmTm9kZTogRk5vZGVCYXNlKTogSVJlY3Qge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdChmTm9kZSkpO1xuICB9XG59XG5cbmNvbnN0IERFRkFVTFRfUkVTVFJJQ1RJT05TOiBJTm9kZU1vdmVSZXN0cmljdGlvbnMgPSB7XG4gIG1pbjogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoLUluZmluaXR5LCAtSW5maW5pdHkpLFxuICBtYXg6IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKEluZmluaXR5LCBJbmZpbml0eSlcbn07XG4iXX0=