@foblex/flow 17.1.1 → 17.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +3 -3
  2. package/domain/f-connectors/providers.d.ts +1 -1
  3. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -0
  4. package/domain/f-draggable/providers.d.ts +1 -1
  5. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -0
  6. package/domain/f-event-trigger.d.ts +4 -0
  7. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -3
  8. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +4 -6
  9. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.d.ts +6 -0
  10. package/domain/f-selection/get-can-be-selected-items/index.d.ts +1 -1
  11. package/domain/f-selection/providers.d.ts +1 -1
  12. package/domain/index.d.ts +1 -0
  13. package/domain/providers.d.ts +1 -1
  14. package/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.d.ts +4 -4
  15. package/domain/update-item-and-children-layers/update-item-and-children-layers.request.d.ts +3 -3
  16. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  17. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +3 -3
  18. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +3 -3
  19. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +3 -3
  20. package/esm2022/domain/f-connectors/find-input-at-position/find-input-at-position.execution.mjs +2 -2
  21. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +9 -9
  22. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +4 -4
  23. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
  24. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +3 -3
  25. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +5 -1
  26. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +2 -2
  27. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +6 -2
  28. package/esm2022/domain/f-event-trigger.mjs +7 -0
  29. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +4 -4
  30. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +2 -2
  31. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +9 -12
  32. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +8 -11
  33. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected-element-and-rect.mjs +2 -0
  34. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +2 -2
  35. package/esm2022/domain/f-selection/select/select.execution.mjs +4 -4
  36. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +4 -4
  37. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +3 -3
  38. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  39. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  40. package/esm2022/domain/index.mjs +2 -1
  41. package/esm2022/domain/sort-item-layers/sort-item-layers.execution.mjs +4 -4
  42. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +14 -14
  43. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +2 -2
  44. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +3 -3
  45. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.request.mjs +1 -1
  46. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  47. package/esm2022/f-canvas/f-canvas.component.mjs +13 -13
  48. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  49. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -2
  50. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -1
  51. package/esm2022/f-connection/f-connection/f-connection.component.mjs +4 -4
  52. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +4 -4
  53. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  54. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +4 -4
  55. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  56. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +1 -1
  57. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  58. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +1 -1
  59. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  60. package/esm2022/f-draggable/connections/create-connection/create-connection-finalize/create-connection-finalize.execution.mjs +3 -3
  61. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.mjs +40 -0
  62. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.mjs +9 -0
  63. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.mjs +3 -0
  64. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.mjs +36 -38
  65. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.mjs +4 -2
  66. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.mjs +31 -23
  67. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.mjs +4 -2
  68. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.mjs +1 -2
  69. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.mjs +8 -12
  70. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.mjs +4 -2
  71. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/index.mjs +2 -2
  72. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +15 -14
  73. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.mjs +27 -24
  74. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.mjs +4 -4
  75. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.mjs +1 -2
  76. package/esm2022/f-draggable/connections/providers.mjs +3 -5
  77. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-finalize/reassign-connection-finalize.execution.mjs +2 -2
  78. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.execution.mjs +2 -2
  79. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.mjs +4 -2
  80. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -7
  81. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +3 -3
  82. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  83. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  84. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  85. package/esm2022/f-draggable/f-draggable.directive.mjs +55 -24
  86. package/esm2022/f-draggable/f-injector.mjs +19 -0
  87. package/esm2022/f-draggable/index.mjs +2 -1
  88. package/esm2022/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.mjs +56 -0
  89. package/esm2022/f-draggable/node/connection-drag-handlers/index.mjs +5 -0
  90. package/esm2022/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.mjs +11 -0
  91. package/esm2022/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.mjs +22 -0
  92. package/esm2022/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.mjs +11 -0
  93. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +47 -45
  94. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +69 -0
  95. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +7 -0
  96. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +3 -0
  97. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +49 -0
  98. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +9 -0
  99. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +3 -0
  100. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +27 -35
  101. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +4 -4
  102. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +33 -46
  103. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +4 -4
  104. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  105. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  106. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/index.mjs +5 -4
  107. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.mjs +5 -5
  108. package/esm2022/f-draggable/node/index.mjs +4 -6
  109. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.mjs +7 -18
  110. package/esm2022/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.mjs +7 -1
  111. package/esm2022/f-draggable/node/line-alignment.drag-handler.mjs +5 -4
  112. package/esm2022/f-draggable/node/node-drag-to-parent-finalize/node-drag-to-parent-finalize.execution.mjs +3 -3
  113. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/index.mjs +1 -3
  114. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +13 -6
  115. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +13 -9
  116. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +5 -4
  117. package/esm2022/f-draggable/node/node.drag-handler.mjs +12 -29
  118. package/esm2022/f-draggable/node/point-bounds-limiter.mjs +41 -0
  119. package/esm2022/f-draggable/node/providers.mjs +3 -3
  120. package/esm2022/f-draggable/node/summary-node.drag-handler.mjs +36 -0
  121. package/esm2022/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +26 -22
  122. package/esm2022/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +1 -1
  123. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +18 -18
  124. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +1 -1
  125. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +3 -3
  126. package/esm2022/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.mjs +8 -11
  127. package/esm2022/f-draggable/node-resize/node-resize-preparation/index.mjs +1 -3
  128. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.mjs +46 -34
  129. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +47 -34
  130. package/esm2022/f-draggable/node-resize/providers.mjs +3 -3
  131. package/esm2022/f-draggable/node-resize/resize-direction.mjs +5 -1
  132. package/esm2022/f-draggable/single-select/single-select.execution.mjs +101 -70
  133. package/esm2022/f-draggable/single-select/single-select.request.mjs +4 -2
  134. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
  135. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.execution.mjs +27 -27
  136. package/esm2022/f-external-item/domain/external-item-preparation/index.mjs +1 -2
  137. package/esm2022/f-external-item/domain/external-item-preparation/providers.mjs +1 -3
  138. package/esm2022/f-external-item/domain/external-item.drag-handler.mjs +9 -8
  139. package/esm2022/f-flow/f-flow.component.mjs +15 -15
  140. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +2 -2
  141. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  142. package/esm2022/f-minimap/domain/minimap-drag-finalize/index.mjs +1 -2
  143. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +8 -1
  144. package/esm2022/f-minimap/domain/minimap-drag-finalize/providers.mjs +1 -3
  145. package/esm2022/f-minimap/domain/minimap-drag-preparation/index.mjs +1 -2
  146. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +10 -2
  147. package/esm2022/f-minimap/domain/minimap-drag-preparation/providers.mjs +1 -3
  148. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  149. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +2 -2
  150. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  151. package/esm2022/f-minimap/f-minimap.component.mjs +4 -4
  152. package/esm2022/f-node/f-group.directive.mjs +16 -10
  153. package/esm2022/f-node/f-node-base.mjs +1 -1
  154. package/esm2022/f-node/f-node.directive.mjs +16 -10
  155. package/esm2022/f-node/f-resize-handle/e-f-resize-handle-type.mjs +6 -2
  156. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +3 -3
  157. package/esm2022/f-selection-area/domain/providers.mjs +5 -5
  158. package/esm2022/f-selection-area/domain/selection-area-finalize/index.mjs +1 -3
  159. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +14 -10
  160. package/esm2022/f-selection-area/domain/selection-area-preparation/index.mjs +1 -3
  161. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +25 -23
  162. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +4 -2
  163. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +32 -29
  164. package/esm2022/f-selection-area/f-selection-area.component.mjs +11 -6
  165. package/esm2022/mixins/change-selection/change-selection.mjs +7 -7
  166. package/esm2022/mixins/change-selection/i-selectable.mjs +2 -0
  167. package/esm2022/mixins/change-selection/index.mjs +2 -2
  168. package/f-connection/common/f-connection-base.d.ts +5 -5
  169. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +1 -0
  170. package/f-connection/providers.d.ts +1 -1
  171. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +1 -0
  172. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  173. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.execution.d.ts +12 -0
  174. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/create-connection-drag-handler-preparation.request.d.ts +7 -0
  175. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler-preparation/index.d.ts +2 -0
  176. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.execution.d.ts +6 -6
  177. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-outlet-preparation/create-connection-from-outlet-preparation.request.d.ts +3 -1
  178. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.execution.d.ts +6 -6
  179. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.request.d.ts +3 -1
  180. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/index.d.ts +0 -1
  181. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.execution.d.ts +1 -2
  182. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-preparation.request.d.ts +3 -1
  183. package/f-draggable/connections/create-connection/create-connection-preparation/index.d.ts +1 -1
  184. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -5
  185. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.execution.d.ts +7 -7
  186. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.request.d.ts +2 -2
  187. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/index.d.ts +0 -1
  188. package/f-draggable/connections/providers.d.ts +2 -2
  189. package/f-draggable/connections/reassign-connection/reassign-connection-preparation/reassign-connection-preparation.request.d.ts +3 -1
  190. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +2 -4
  191. package/f-draggable/f-draggable-base.d.ts +4 -1
  192. package/f-draggable/f-draggable-data-context.d.ts +2 -2
  193. package/f-draggable/f-draggable.directive.d.ts +16 -3
  194. package/f-draggable/f-injector.d.ts +8 -0
  195. package/f-draggable/index.d.ts +1 -0
  196. package/f-draggable/node/connection-drag-handlers/base-connection.drag-handler.d.ts +21 -0
  197. package/f-draggable/node/connection-drag-handlers/index.d.ts +4 -0
  198. package/f-draggable/node/connection-drag-handlers/source-connection.drag-handler.d.ts +7 -0
  199. package/f-draggable/node/connection-drag-handlers/source-target-connection.drag-handler.d.ts +10 -0
  200. package/f-draggable/node/connection-drag-handlers/target-connection.drag-handler.d.ts +7 -0
  201. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +14 -13
  202. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +19 -0
  203. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +5 -0
  204. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +2 -0
  205. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +15 -0
  206. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/{calculate-node-move-restrictions/calculate-node-move-restrictions.request.d.ts → calculate-node-move-limits/calculate-node-move-limits.request.d.ts} +1 -1
  207. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +2 -0
  208. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +5 -10
  209. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +4 -4
  210. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +8 -13
  211. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +4 -4
  212. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.d.ts +5 -0
  213. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-move-limits.d.ts +3 -0
  214. package/f-draggable/node/create-move-nodes-drag-model-from-selection/index.d.ts +4 -3
  215. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +3 -3
  216. package/f-draggable/node/index.d.ts +3 -5
  217. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -2
  218. package/f-draggable/node/line-alignment-preparation/line-alignment-preparation.request.d.ts +5 -0
  219. package/f-draggable/node/line-alignment.drag-handler.d.ts +2 -3
  220. package/f-draggable/node/node-drag-to-parent-preparation/index.d.ts +0 -2
  221. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +1 -0
  222. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +2 -0
  223. package/f-draggable/node/node.drag-handler.d.ts +6 -9
  224. package/f-draggable/node/point-bounds-limiter.d.ts +15 -0
  225. package/f-draggable/node/providers.d.ts +2 -1
  226. package/f-draggable/node/summary-node.drag-handler.d.ts +14 -0
  227. package/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +5 -5
  228. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +5 -4
  229. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +3 -3
  230. package/f-draggable/node-resize/node-resize-finalize/node-resize-finalize.execution.d.ts +1 -3
  231. package/f-draggable/node-resize/node-resize-preparation/index.d.ts +0 -2
  232. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.execution.d.ts +13 -11
  233. package/f-draggable/node-resize/node-resize.drag-handler.d.ts +16 -12
  234. package/f-draggable/node-resize/providers.d.ts +2 -1
  235. package/f-draggable/node-resize/resize-direction.d.ts +16 -0
  236. package/f-draggable/providers.d.ts +1 -1
  237. package/f-draggable/single-select/single-select.execution.d.ts +54 -20
  238. package/f-draggable/single-select/single-select.request.d.ts +3 -1
  239. package/f-external-item/domain/external-item-preparation/external-item-preparation.execution.d.ts +7 -11
  240. package/f-external-item/domain/external-item-preparation/index.d.ts +0 -1
  241. package/f-external-item/domain/external-item-preparation/providers.d.ts +1 -2
  242. package/f-external-item/domain/external-item.drag-handler.d.ts +2 -3
  243. package/f-external-item/domain/providers.d.ts +1 -1
  244. package/f-minimap/domain/minimap-drag-finalize/index.d.ts +0 -1
  245. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -0
  246. package/f-minimap/domain/minimap-drag-finalize/providers.d.ts +1 -2
  247. package/f-minimap/domain/minimap-drag-preparation/index.d.ts +0 -1
  248. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +1 -0
  249. package/f-minimap/domain/minimap-drag-preparation/providers.d.ts +1 -2
  250. package/f-minimap/domain/providers.d.ts +1 -1
  251. package/f-node/f-node-base.d.ts +3 -3
  252. package/f-node/f-resize-handle/e-f-resize-handle-type.d.ts +6 -2
  253. package/f-node/providers.d.ts +1 -1
  254. package/f-selection-area/domain/providers.d.ts +3 -1
  255. package/f-selection-area/domain/selection-area-finalize/index.d.ts +0 -2
  256. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -3
  257. package/f-selection-area/domain/selection-area-preparation/index.d.ts +0 -2
  258. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +6 -8
  259. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.d.ts +3 -1
  260. package/f-selection-area/domain/selection-area.drag-handle.d.ts +7 -6
  261. package/f-selection-area/f-selection-area.component.d.ts +3 -1
  262. package/f-storage/providers.d.ts +1 -1
  263. package/fesm2022/foblex-flow.mjs +1160 -1156
  264. package/fesm2022/foblex-flow.mjs.map +1 -1
  265. package/mixins/change-selection/change-selection.d.ts +2 -2
  266. package/mixins/change-selection/i-selectable.d.ts +10 -0
  267. package/mixins/change-selection/index.d.ts +1 -1
  268. package/package.json +2 -2
  269. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +0 -6
  270. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +0 -2
  271. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.mjs +0 -47
  272. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.mjs +0 -9
  273. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.mjs +0 -3
  274. package/esm2022/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.mjs +0 -36
  275. package/esm2022/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.mjs +0 -28
  276. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +0 -55
  277. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +0 -17
  278. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +0 -17
  279. package/esm2022/f-draggable/node/connection.drag-handler.mjs +0 -23
  280. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.mjs +0 -40
  281. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.mjs +0 -7
  282. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.mjs +0 -3
  283. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.mjs +0 -42
  284. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.request.mjs +0 -9
  285. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.mjs +0 -3
  286. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.mjs +0 -2
  287. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.mjs +0 -26
  288. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/providers.mjs +0 -7
  289. package/esm2022/f-draggable/node/node-resize-by-child.drag-handler.mjs +0 -16
  290. package/esm2022/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.mjs +0 -44
  291. package/esm2022/f-draggable/node-resize/node-resize-preparation/providers.mjs +0 -7
  292. package/esm2022/f-external-item/domain/external-item-preparation/external-item-preparation.validator.mjs +0 -30
  293. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.mjs +0 -26
  294. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.mjs +0 -30
  295. package/esm2022/f-selection-area/domain/selection-area-finalize/providers.mjs +0 -7
  296. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.mjs +0 -26
  297. package/esm2022/f-selection-area/domain/selection-area-preparation/providers.mjs +0 -7
  298. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.mjs +0 -32
  299. package/esm2022/mixins/change-selection/i-can-change-selection.mjs +0 -2
  300. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.execution.d.ts +0 -17
  301. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/create-connection-drag-handler.request.d.ts +0 -7
  302. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-drag-handler/index.d.ts +0 -2
  303. package/f-draggable/connections/create-connection/create-connection-preparation/create-connection-from-output-preparation/create-connection-from-output-preparation.validator.d.ts +0 -14
  304. package/f-draggable/connections/create-connection/get-can-be-connected-output-by-outlet/get-can-be-connected-output-by-outlet.validator.d.ts +0 -12
  305. package/f-draggable/node/connection-base-drag-handler.d.ts +0 -24
  306. package/f-draggable/node/connection-source.drag-handler.d.ts +0 -11
  307. package/f-draggable/node/connection-target.drag-handler.d.ts +0 -11
  308. package/f-draggable/node/connection.drag-handler.d.ts +0 -14
  309. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.execution.d.ts +0 -13
  310. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/calculate-common-node-move-restrictions.request.d.ts +0 -5
  311. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-restrictions/index.d.ts +0 -2
  312. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/calculate-node-move-restrictions.execution.d.ts +0 -12
  313. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-restrictions/index.d.ts +0 -2
  314. package/f-draggable/node/create-move-nodes-drag-model-from-selection/i-node-with-distance-restrictions.d.ts +0 -6
  315. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.validator.d.ts +0 -11
  316. package/f-draggable/node/node-drag-to-parent-preparation/providers.d.ts +0 -3
  317. package/f-draggable/node/node-resize-by-child.drag-handler.d.ts +0 -11
  318. package/f-draggable/node-resize/node-resize-preparation/node-resize-preparation.validator.d.ts +0 -17
  319. package/f-draggable/node-resize/node-resize-preparation/providers.d.ts +0 -3
  320. package/f-external-item/domain/external-item-preparation/external-item-preparation.validator.d.ts +0 -12
  321. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.validator.d.ts +0 -11
  322. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.validator.d.ts +0 -13
  323. package/f-selection-area/domain/selection-area-finalize/providers.d.ts +0 -3
  324. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.validator.d.ts +0 -11
  325. package/f-selection-area/domain/selection-area-preparation/providers.d.ts +0 -3
  326. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.validator.d.ts +0 -13
  327. package/mixins/change-selection/i-can-change-selection.d.ts +0 -10
@@ -1,64 +1,77 @@
1
- import { booleanAttribute, ContentChildren, Directive, ElementRef, EventEmitter, inject, Inject, Input, NgZone, Optional, Output } from "@angular/core";
1
+ import { booleanAttribute, ContentChildren, Directive, ElementRef, EventEmitter, inject, Inject, Injector, Input, NgZone, numberAttribute, Optional, Output } from "@angular/core";
2
2
  import { FDraggableBase } from './f-draggable-base';
3
3
  import { NodeDragToParentFinalizeRequest, NodeDragToParentPreparationRequest, NodeMoveFinalizeRequest, NodeMovePreparationRequest } from './node';
4
4
  import { CanvasMoveFinalizeRequest, CanvasMovePreparationRequest } from './canvas';
5
5
  import { ReassignConnectionPreparationRequest, ReassignConnectionFinalizeRequest, CreateConnectionPreparationRequest, CreateConnectionFinalizeRequest } from './connections';
6
6
  import { FMediator } from '@foblex/mediator';
7
- import { AddDndToStoreRequest, EmitSelectionChangeEventRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest } from '../domain';
7
+ import { AddDndToStoreRequest, EmitSelectionChangeEventRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest, defaultEventTrigger } from '../domain';
8
8
  import { ExternalItemFinalizeRequest, ExternalItemPreparationRequest, PreventDefaultIsExternalItemRequest } from '../f-external-item';
9
9
  import { SingleSelectRequest } from './single-select';
10
10
  import { NodeResizeFinalizeRequest, NodeResizePreparationRequest } from './node-resize';
11
11
  import { F_DRAG_AND_DROP_PLUGIN } from './i-f-drag-and-drop-plugin';
12
+ import { EOperationSystem, PlatformService } from '@foblex/platform';
13
+ import { FInjector } from './f-injector';
12
14
  import * as i0 from "@angular/core";
13
15
  import * as i1 from "@foblex/platform";
14
16
  export class FDraggableDirective extends FDraggableBase {
15
17
  _fBrowser;
16
18
  _elementReference = inject(ElementRef);
17
19
  _fMediator = inject(FMediator);
20
+ _fPlatform = inject(PlatformService);
21
+ _injector = inject(Injector);
18
22
  disabled = false;
19
23
  get hostElement() {
20
24
  return this._elementReference.nativeElement;
21
25
  }
26
+ fMultiSelectTrigger = (event) => {
27
+ return (this._fPlatform.getOS() === EOperationSystem.MAC_OS) ? event.metaKey : event.ctrlKey;
28
+ };
29
+ fReassignConnectionTrigger = defaultEventTrigger;
30
+ fCreateConnectionTrigger = defaultEventTrigger;
22
31
  fSelectionChange = new EventEmitter();
23
32
  fNodeIntersectedWithConnections = new EventEmitter();
24
- emitWhenNodeIntersectedWithConnection = false;
33
+ fEmitOnNodeIntersect = false;
25
34
  fCreateNode = new EventEmitter();
26
35
  fReassignConnection = new EventEmitter();
27
36
  fCreateConnection = new EventEmitter();
28
37
  fDropToGroup = new EventEmitter();
29
38
  vCellSize = 1;
30
39
  hCellSize = 1;
40
+ fCellSizeWhileDragging = false;
41
+ fDragStarted = new EventEmitter();
42
+ fDragEnded = new EventEmitter();
31
43
  plugins;
32
44
  constructor(ngZone, _fBrowser) {
33
45
  super(ngZone);
34
46
  this._fBrowser = _fBrowser;
35
47
  }
36
48
  ngOnInit() {
37
- this._fMediator.send(new AddDndToStoreRequest(this));
49
+ this._fMediator.execute(new AddDndToStoreRequest(this));
38
50
  }
39
51
  ngAfterViewInit() {
40
52
  super.subscribe(this._fBrowser.document);
41
53
  }
42
54
  onPointerDown(event) {
55
+ FInjector.set(this._injector);
43
56
  this._fMediator.execute(new InitializeDragSequenceRequest());
44
57
  this.plugins.forEach((p) => p.onPointerDown?.(event));
45
- this._fMediator.execute(new SingleSelectRequest(event));
46
- this._fMediator.execute(new ReassignConnectionPreparationRequest(event));
47
- this._fMediator.execute(new CreateConnectionPreparationRequest(event));
48
- const isMouseLeftButton = event.isMouseLeftButton();
49
- if (!isMouseLeftButton) {
58
+ this._fMediator.execute(new SingleSelectRequest(event, this.fMultiSelectTrigger));
59
+ this._fMediator.execute(new ReassignConnectionPreparationRequest(event, this.fReassignConnectionTrigger));
60
+ this._fMediator.execute(new CreateConnectionPreparationRequest(event, this.fCreateConnectionTrigger));
61
+ const isMouseLeftOrTouch = event.isMouseLeftButton();
62
+ if (!isMouseLeftOrTouch) {
50
63
  this.finalizeDragSequence();
51
64
  }
52
- return isMouseLeftButton;
65
+ return isMouseLeftOrTouch;
53
66
  }
54
67
  prepareDragSequence(event) {
55
68
  this.plugins.forEach((p) => p.prepareDragSequence?.(event));
56
- this._fMediator.send(new NodeResizePreparationRequest(event));
57
- this._fMediator.send(new NodeMovePreparationRequest(event));
58
- this._fMediator.send(new NodeDragToParentPreparationRequest(event));
59
- this._fMediator.send(new CanvasMovePreparationRequest(event));
60
- this._fMediator.send(new ExternalItemPreparationRequest(event));
61
- this._fMediator.send(new PrepareDragSequenceRequest());
69
+ this._fMediator.execute(new NodeResizePreparationRequest(event));
70
+ this._fMediator.execute(new NodeMovePreparationRequest(event));
71
+ this._fMediator.execute(new NodeDragToParentPreparationRequest(event));
72
+ this._fMediator.execute(new CanvasMovePreparationRequest(event));
73
+ this._fMediator.execute(new ExternalItemPreparationRequest(event));
74
+ this._fMediator.execute(new PrepareDragSequenceRequest());
62
75
  }
63
76
  onSelect(event) {
64
77
  this.plugins.forEach((x) => x.onSelect?.(event));
@@ -74,19 +87,22 @@ export class FDraggableDirective extends FDraggableBase {
74
87
  this._fMediator.execute(new NodeResizeFinalizeRequest(event));
75
88
  this._fMediator.execute(new NodeMoveFinalizeRequest(event));
76
89
  this._fMediator.execute(new NodeDragToParentFinalizeRequest(event));
77
- this._fMediator.send(new CanvasMoveFinalizeRequest(event));
90
+ this._fMediator.execute(new CanvasMoveFinalizeRequest(event));
78
91
  this._fMediator.execute(new ExternalItemFinalizeRequest(event));
79
92
  this._fMediator.execute(new EndDragSequenceRequest());
93
+ FInjector.clear();
80
94
  }
81
95
  finalizeDragSequence() {
82
96
  this._fMediator.execute(new EmitSelectionChangeEventRequest());
97
+ FInjector.clear();
83
98
  }
84
99
  ngOnDestroy() {
85
- this._fMediator.send(new RemoveDndFromStoreRequest());
100
+ this._fMediator.execute(new RemoveDndFromStoreRequest());
86
101
  super.unsubscribe();
102
+ FInjector.clear();
87
103
  }
88
104
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, deps: [{ token: NgZone, optional: true }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive });
89
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"], emitWhenNodeIntersectedWithConnection: ["emitWhenNodeIntersectedWithConnection", "emitWhenNodeIntersectedWithConnection", booleanAttribute], vCellSize: "vCellSize", hCellSize: "hCellSize" }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
105
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled", booleanAttribute], fMultiSelectTrigger: "fMultiSelectTrigger", fReassignConnectionTrigger: "fReassignConnectionTrigger", fCreateConnectionTrigger: "fCreateConnectionTrigger", fEmitOnNodeIntersect: ["fEmitOnNodeIntersect", "fEmitOnNodeIntersect", booleanAttribute], vCellSize: ["vCellSize", "vCellSize", numberAttribute], hCellSize: ["hCellSize", "hCellSize", numberAttribute], fCellSizeWhileDragging: ["fCellSizeWhileDragging", "fCellSizeWhileDragging", booleanAttribute] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup", fDragStarted: "fDragStarted", fDragEnded: "fDragEnded" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
90
106
  }
91
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
92
108
  type: Directive,
@@ -101,12 +117,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
101
117
  type: Optional
102
118
  }] }, { type: i1.BrowserService }], propDecorators: { disabled: [{
103
119
  type: Input,
104
- args: ['fDraggableDisabled']
120
+ args: [{ transform: booleanAttribute, alias: 'fDraggableDisabled' }]
121
+ }], fMultiSelectTrigger: [{
122
+ type: Input
123
+ }], fReassignConnectionTrigger: [{
124
+ type: Input
125
+ }], fCreateConnectionTrigger: [{
126
+ type: Input
105
127
  }], fSelectionChange: [{
106
128
  type: Output
107
129
  }], fNodeIntersectedWithConnections: [{
108
130
  type: Output
109
- }], emitWhenNodeIntersectedWithConnection: [{
131
+ }], fEmitOnNodeIntersect: [{
110
132
  type: Input,
111
133
  args: [{ transform: booleanAttribute }]
112
134
  }], fCreateNode: [{
@@ -118,11 +140,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
118
140
  }], fDropToGroup: [{
119
141
  type: Output
120
142
  }], vCellSize: [{
121
- type: Input
143
+ type: Input,
144
+ args: [{ transform: numberAttribute }]
122
145
  }], hCellSize: [{
123
- type: Input
146
+ type: Input,
147
+ args: [{ transform: numberAttribute }]
148
+ }], fCellSizeWhileDragging: [{
149
+ type: Input,
150
+ args: [{ transform: booleanAttribute }]
151
+ }], fDragStarted: [{
152
+ type: Output
153
+ }], fDragEnded: [{
154
+ type: Output
124
155
  }], plugins: [{
125
156
  type: ContentChildren,
126
157
  args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
127
158
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGdCQUFnQixFQUFFLGVBQWUsRUFDaEQsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFDNUIsS0FBSyxFQUNMLE1BQU0sRUFFRSxRQUFRLEVBQUUsTUFBTSxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUNjLCtCQUErQixFQUNsRCxrQ0FBa0MsRUFDbEMsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMzQixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkYsT0FBTyxFQUdMLG9DQUFvQyxFQUNwQyxpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0IsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNyQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUs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O3NCQUQxQixNQUFNO2dCQUlTLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxTQUFTO3NCQUR4QixLQUFLO2dCQUlVLFNBQVM7c0JBRHhCLEtBQUs7Z0JBSUUsT0FBTztzQkFEZCxlQUFlO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQge1xuICBGRHJvcFRvR3JvdXBFdmVudCwgTm9kZURyYWdUb1BhcmVudEZpbmFsaXplUmVxdWVzdCxcbiAgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdCxcbiAgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsXG4gIE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0XG59IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9jYW52YXMnO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdFxufSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkRG5kVG9TdG9yZVJlcXVlc3QsXG4gIEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QsXG4gIFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBSZW1vdmVEbmRGcm9tU3RvcmVSZXF1ZXN0LFxuICBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBJbml0aWFsaXplRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgT25Qb2ludGVyTW92ZVJlcXVlc3Rcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGQ3JlYXRlTm9kZUV2ZW50LFxuICBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdFxufSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLXJlc2l6ZSc7XG5pbXBvcnQgeyBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGlyZWN0aXZlIGV4dGVuZHMgRkRyYWdnYWJsZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBASW5wdXQoJ2ZEcmFnZ2FibGVEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM+KCk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBlbWl0V2hlbk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZSA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVDb25uZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyb3BUb0dyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgdkNlbGxTaXplID0gMTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgaENlbGxTaXplID0gMTtcblxuICBAQ29udGVudENoaWxkcmVuKEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBwbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTmdab25lKSBAT3B0aW9uYWwoKSBuZ1pvbmU6IElDYW5SdW5PdXRzaWRlQW5ndWxhcixcbiAgICBwcml2YXRlIF9mQnJvd3NlcjogQnJvd3NlclNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEFkZERuZFRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKHRoaXMuX2ZCcm93c2VyLmRvY3VtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0QnV0dG9uID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcbiAgICBpZiAoIWlzTW91c2VMZWZ0QnV0dG9uKSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuICAgIHJldHVybiBpc01vdXNlTGVmdEJ1dHRvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBQcmVwYXJlRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblNlbGVjdD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE9uUG9pbnRlck1vdmVSZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICB9XG59XG5cbiJdfQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGdCQUFnQixFQUFFLGVBQWUsRUFDaEQsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQ3RDLEtBQUssRUFDTCxNQUFNLEVBQUUsZUFBZSxFQUVmLFFBQVEsRUFBRSxNQUFNLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQ2MsK0JBQStCLEVBQ2xELGtDQUFrQyxFQUNsQyx1QkFBdUIsRUFDdkIsMEJBQTBCLEVBQzNCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNuRixPQUFPLEVBR0wsb0NBQW9DLEVBQ3BDLGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsK0JBQStCLEVBQ2hDLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLCtCQUErQixFQUMvQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qiw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQStCLG1CQUFtQixFQUN2RSxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxP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QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJdEIsV0FBVztzQkFEMUIsTUFBTTtnQkFJUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNO2dCQUlTLFlBQVk7c0JBRDNCLE1BQU07Z0JBSVMsU0FBUztzQkFEeEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLFNBQVM7c0JBRHhCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUlyQixzQkFBc0I7c0JBRHJDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRCLFlBQVk7c0JBRDNCLE1BQU07Z0JBSVMsVUFBVTtzQkFEekIsTUFBTTtnQkFJQyxPQUFPO3NCQURkLGVBQWU7dUJBQUMsc0JBQXNCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCwgYm9vbGVhbkF0dHJpYnV0ZSwgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3QsIEluamVjdG9yLFxuICBJbnB1dCxcbiAgTmdab25lLCBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3Rcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi9mLWRyYWdnYWJsZS1iYXNlJztcbmltcG9ydCB7XG4gIEZEcm9wVG9Hcm91cEV2ZW50LCBOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVSZXF1ZXN0LFxuICBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0LFxuICBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCxcbiAgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3Rcbn0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QsIENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcyc7XG5pbXBvcnQge1xuICBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQsXG4gIFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0XG59IGZyb20gJy4vY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGREbmRUb1N0b3JlUmVxdWVzdCxcbiAgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCxcbiAgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QsXG4gIEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBPblBvaW50ZXJNb3ZlUmVxdWVzdCwgRkV2ZW50VHJpZ2dlciwgVHJpZ2dlckV2ZW50LCBkZWZhdWx0RXZlbnRUcmlnZ2VyXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QsXG4gIEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdCxcbiAgRkNyZWF0ZU5vZGVFdmVudCxcbiAgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3Rcbn0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IFNpbmdsZVNlbGVjdFJlcXVlc3QgfSBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdCwgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vbm9kZS1yZXNpemUnO1xuaW1wb3J0IHsgRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgSUZEcmFnQW5kRHJvcFBsdWdpbiB9IGZyb20gJy4vaS1mLWRyYWctYW5kLWRyb3AtcGx1Z2luJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlLCBFT3BlcmF0aW9uU3lzdGVtLCBQbGF0Zm9ybVNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGSW5qZWN0b3IgfSBmcm9tICcuL2YtaW5qZWN0b3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiZi1mbG93W2ZEcmFnZ2FibGVdXCIsXG4gIGV4cG9ydEFzOiAnZkRyYWdnYWJsZSdcbn0pXG5leHBvcnQgY2xhc3MgRkRyYWdnYWJsZURpcmVjdGl2ZSBleHRlbmRzIEZEcmFnZ2FibGVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWZlcmVuY2UgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZQbGF0Zm9ybSA9IGluamVjdChQbGF0Zm9ybVNlcnZpY2UpO1xuICBwcml2YXRlIF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLCBhbGlhczogJ2ZEcmFnZ2FibGVEaXNhYmxlZCcgfSlcbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTXVsdGlTZWxlY3RUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gKGV2ZW50OiBUcmlnZ2VyRXZlbnQpID0+IHtcbiAgICByZXR1cm4gKHRoaXMuX2ZQbGF0Zm9ybS5nZXRPUygpID09PSBFT3BlcmF0aW9uU3lzdGVtLk1BQ19PUykgPyBldmVudC5tZXRhS2V5IDogZXZlbnQuY3RybEtleTtcbiAgfTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZlJlYXNzaWduQ29ubmVjdGlvblRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8Rk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucz4oKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZFbWl0T25Ob2RlSW50ZXJzZWN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZSA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVDb25uZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyb3BUb0dyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD4oKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgdkNlbGxTaXplID0gMTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgaENlbGxTaXplID0gMTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZDZWxsU2l6ZVdoaWxlRHJhZ2dpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0RSQUdfQU5EX0RST1BfUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcGx1Z2lucyE6IFF1ZXJ5TGlzdDxJRkRyYWdBbmREcm9wUGx1Z2luPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE5nWm9uZSkgQE9wdGlvbmFsKCkgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsXG4gICAgcHJpdmF0ZSBfZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihuZ1pvbmUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBBZGREbmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLnN1YnNjcmliZSh0aGlzLl9mQnJvd3Nlci5kb2N1bWVudCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuICAgIEZJbmplY3Rvci5zZXQodGhpcy5faW5qZWN0b3IpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCwgdGhpcy5mTXVsdGlTZWxlY3RUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZSZWFzc2lnbkNvbm5lY3Rpb25UcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mQ3JlYXRlQ29ubmVjdGlvblRyaWdnZXIpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0T3JUb3VjaCA9IGV2ZW50LmlzTW91c2VMZWZ0QnV0dG9uKCk7XG4gICAgaWYgKCFpc01vdXNlTGVmdE9yVG91Y2gpIHtcbiAgICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIGlzTW91c2VMZWZ0T3JUb3VjaDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKCh4KSA9PiB4Lm9uU2VsZWN0Py4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlck1vdmUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgT25Qb2ludGVyTW92ZVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJVcChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKCh4KSA9PiB4Lm9uUG9pbnRlclVwPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZURyYWdUb1BhcmVudEZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgRkluamVjdG9yLmNsZWFyKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QoKSk7XG5cbiAgICBGSW5qZWN0b3IuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuXG4gICAgRkluamVjdG9yLmNsZWFyKCk7XG4gIH1cbn1cblxuIl19
@@ -0,0 +1,19 @@
1
+ export class FInjector {
2
+ static _injector;
3
+ static set(injector) {
4
+ this._injector = injector;
5
+ }
6
+ static clear() {
7
+ this._injector = undefined;
8
+ }
9
+ static get() {
10
+ if (!this._injector) {
11
+ throw new Error('No injector available');
12
+ }
13
+ return this._injector;
14
+ }
15
+ }
16
+ export function fInject(token) {
17
+ return FInjector.get().get(token);
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1pbmplY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1pbmplY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sU0FBUztJQUVaLE1BQU0sQ0FBQyxTQUFTLENBQXVCO0lBRXhDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBa0I7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBSSxLQUFjO0lBQ3ZDLE9BQU8sU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RvciwgVHlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGNsYXNzIEZJbmplY3RvciB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luamVjdG9yOiBJbmplY3RvciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc3RhdGljIHNldChpbmplY3RvcjogSW5qZWN0b3IpOiB2b2lkIHtcbiAgICB0aGlzLl9pbmplY3RvciA9IGluamVjdG9yO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLl9pbmplY3RvciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0KCk6IEluamVjdG9yIHtcbiAgICBpZiAoIXRoaXMuX2luamVjdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGluamVjdG9yIGF2YWlsYWJsZScpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faW5qZWN0b3I7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZJbmplY3Q8VD4odG9rZW46IFR5cGU8VD4pOiBUIHtcbiAgcmV0dXJuIEZJbmplY3Rvci5nZXQoKS5nZXQodG9rZW4pO1xufVxuIl19
@@ -8,8 +8,9 @@ export * from './single-select';
8
8
  export * from './f-draggable.directive';
9
9
  export * from './f-draggable-base';
10
10
  export * from './f-draggable-data-context';
11
+ export * from './f-injector';
11
12
  export * from './f-selection-change-event';
12
13
  export * from './i-f-drag-and-drop-plugin';
13
14
  export * from './i-draggable-item';
14
15
  export * from './providers';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxRQUFRLENBQUM7QUFFdkIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0ICogZnJvbSAnLi4vZG9tYWluL2YtZHJhZ2dhYmxlL2lzLWRyYWctc3RhcnRlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1kcmFnZ2FibGUtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuXG5cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxRQUFRLENBQUM7QUFFdkIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0ICogZnJvbSAnLi4vZG9tYWluL2YtZHJhZ2dhYmxlL2lzLWRyYWctc3RhcnRlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1yZXNpemUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZ2dhYmxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWluamVjdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1kcmFnZ2FibGUtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuXG5cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { PointExtensions, RoundedRect } from '@foblex/2d';
2
+ import { FMediator } from '@foblex/mediator';
3
+ import { CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest } from '../../../domain';
4
+ import { FComponentsStore } from '../../../f-storage';
5
+ import { fInject } from '../../f-injector';
6
+ export class BaseConnectionDragHandler {
7
+ fConnection;
8
+ _fMediator = fInject(FMediator);
9
+ _fComponentStore = fInject(FComponentsStore);
10
+ _fOutputWithRect;
11
+ _fInputWithRect;
12
+ get _fOutput() {
13
+ const result = this._fComponentStore.fOutputs.find((x) => x.fId === this.fConnection.fOutputId);
14
+ if (!result) {
15
+ throw new Error(this._connectorNotFoundPrefix(`fOutput with id ${this.fConnection.fOutputId} not found`));
16
+ }
17
+ return result;
18
+ }
19
+ get _fInput() {
20
+ const result = this._fComponentStore.fInputs.find((x) => x.fId === this.fConnection.fInputId);
21
+ if (!result) {
22
+ throw new Error(this._connectorNotFoundPrefix(`fInput with id ${this.fConnection.fInputId} not found`));
23
+ }
24
+ return result;
25
+ }
26
+ _sourceDifference = PointExtensions.initialize();
27
+ _targetDifference = PointExtensions.initialize();
28
+ constructor(fConnection) {
29
+ this.fConnection = fConnection;
30
+ this._initialize();
31
+ }
32
+ _initialize() {
33
+ this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutput));
34
+ this._fInputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fInput));
35
+ }
36
+ setSourceDifference(difference) {
37
+ this._sourceDifference = difference;
38
+ }
39
+ setTargetDifference(difference) {
40
+ this._targetDifference = difference;
41
+ }
42
+ redraw() {
43
+ this._redrawConnection(this._recalculateConnection());
44
+ }
45
+ _recalculateConnection() {
46
+ return this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this._fOutputWithRect.fRect).addPoint(this._sourceDifference), RoundedRect.fromRoundedRect(this._fInputWithRect.fRect).addPoint(this._targetDifference), this.fConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, this._fInputWithRect.fConnector.fConnectableSide));
47
+ }
48
+ _redrawConnection(line) {
49
+ this.fConnection.setLine(line.point1, this._fOutputWithRect.fConnector.fConnectableSide, line.point2, this._fInputWithRect.fConnector.fConnectableSide);
50
+ this.fConnection.redraw();
51
+ }
52
+ _connectorNotFoundPrefix(message) {
53
+ return `ConnectionDragHandler Error: Connection From (fOutput)${this.fConnection.fOutputId} To (fInput)${this.fConnection.fInputId}. ${message}. Please ensure that all f-connections are associated with existing connectors`;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSwwQkFBMEIsRUFBcUIsTUFBTSxpQkFBaUIsQ0FBQztBQUUxSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHM0MsTUFBTSxPQUFPLHlCQUF5QjtJQTRCM0I7SUExQkQsVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3QyxnQkFBZ0IsQ0FBcUI7SUFDckMsZUFBZSxDQUFxQjtJQUU1QyxJQUFZLFFBQVE7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUUsQ0FBQztRQUNqRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxtQkFBb0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFVLFlBQVksQ0FBQyxDQUFDLENBQUM7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IHsgSUxpbmUsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LCBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCwgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBmSW5qZWN0IH0gZnJvbSAnLi4vLi4vZi1pbmplY3Rvcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gZkluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIF9mQ29tcG9uZW50U3RvcmUgPSBmSW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgX2ZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuICBwcml2YXRlIF9mSW5wdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuXG4gIHByaXZhdGUgZ2V0IF9mT3V0cHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9mQ29tcG9uZW50U3RvcmUuZk91dHB1dHMuZmluZCgoeCkgPT4geC5mSWQgPT09IHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkKSE7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLl9jb25uZWN0b3JOb3RGb3VuZFByZWZpeChgZk91dHB1dCB3aXRoIGlkICR7IHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkIH0gbm90IGZvdW5kYCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZJbnB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZkNvbXBvbmVudFN0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5mSWQgPT09IHRoaXMuZkNvbm5lY3Rpb24uZklucHV0SWQpITtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmSW5wdXQgd2l0aCBpZCAkeyB0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkIH0gbm90IGZvdW5kYCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc291cmNlRGlmZmVyZW5jZSA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIHByaXZhdGUgX3RhcmdldERpZmZlcmVuY2UgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZk91dHB1dCkpO1xuICAgIHRoaXMuX2ZJbnB1dFdpdGhSZWN0ID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mSW5wdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3NvdXJjZURpZmZlcmVuY2UgPSBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHVibGljIHNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fdGFyZ2V0RGlmZmVyZW5jZSA9IGRpZmZlcmVuY2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZHJhd0Nvbm5lY3Rpb24odGhpcy5fcmVjYWxjdWxhdGVDb25uZWN0aW9uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVjYWxjdWxhdGVDb25uZWN0aW9uKCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCkuYWRkUG9pbnQodGhpcy5fc291cmNlRGlmZmVyZW5jZSksXG4gICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5fZklucHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuX3RhcmdldERpZmZlcmVuY2UpLFxuICAgICAgdGhpcy5mQ29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdDb25uZWN0aW9uKGxpbmU6IElMaW5lKTogdm9pZCB7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5zZXRMaW5lKFxuICAgICAgbGluZS5wb2ludDEsIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICBsaW5lLnBvaW50MiwgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29ubmVjdG9yTm90Rm91bmRQcmVmaXgobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYENvbm5lY3Rpb25EcmFnSGFuZGxlciBFcnJvcjogQ29ubmVjdGlvbiBGcm9tIChmT3V0cHV0KSR7IHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkIH0gVG8gKGZJbnB1dCkkeyB0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkIH0uICR7IG1lc3NhZ2UgfS4gUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBmLWNvbm5lY3Rpb25zIGFyZSBhc3NvY2lhdGVkIHdpdGggZXhpc3RpbmcgY29ubmVjdG9yc2A7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './base-connection.drag-handler';
2
+ export * from './source-connection.drag-handler';
3
+ export * from './source-target-connection.drag-handler';
4
+ export * from './target-connection.drag-handler';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL25vZGUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3NvdXJjZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vc291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
+ export class SourceConnectionDragHandler extends BaseConnectionDragHandler {
3
+ constructor(fConnection) {
4
+ super(fConnection);
5
+ }
6
+ setSourceDifference(difference) {
7
+ super.setSourceDifference(difference);
8
+ this.redraw();
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy9zb3VyY2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJM0UsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHlCQUF5QjtJQUV4RSxZQUFZLFdBQTRCO1FBQ3RDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIH0gZnJvbSAnLi9iYXNlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIFNvdXJjZUNvbm5lY3Rpb25EcmFnSGFuZGxlciBleHRlbmRzIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuXG4gIGNvbnN0cnVjdG9yKGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpIHtcbiAgICBzdXBlcihmQ29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRTb3VyY2VEaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
+ export class SourceTargetConnectionDragHandler extends BaseConnectionDragHandler {
3
+ _callTracker = new Map();
4
+ constructor(fConnection) {
5
+ super(fConnection);
6
+ }
7
+ setSourceDifference(difference) {
8
+ super.setSourceDifference(difference);
9
+ this._checkAndTriggerAction();
10
+ }
11
+ setTargetDifference(difference) {
12
+ super.setTargetDifference(difference);
13
+ this._checkAndTriggerAction();
14
+ }
15
+ _checkAndTriggerAction() {
16
+ if ([...this._callTracker.values()].every(Boolean)) {
17
+ this._callTracker.clear();
18
+ this.redraw();
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvbm9kZS9jb25uZWN0aW9uLWRyYWctaGFuZGxlcnMvc291cmNlLXRhcmdldC1jb25uZWN0aW9uLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUkzRSxNQUFNLE9BQU8saUNBQWtDLFNBQVEseUJBQXlCO0lBRXRFLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQUVsRCxZQUFZLFdBQTRCO1FBQ3RDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFZSxtQkFBbUIsQ0FBQyxVQUFrQjtRQUNwRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIgfSBmcm9tICcuL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgU291cmNlVGFyZ2V0Q29ubmVjdGlvbkRyYWdIYW5kbGVyIGV4dGVuZHMgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBfY2FsbFRyYWNrZXIgPSBuZXcgTWFwPHN0cmluZywgYm9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKSB7XG4gICAgc3VwZXIoZkNvbm5lY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KSB7XG4gICAgc3VwZXIuc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlKTtcbiAgICB0aGlzLl9jaGVja0FuZFRyaWdnZXJBY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCkge1xuICAgIHN1cGVyLnNldFRhcmdldERpZmZlcmVuY2UoZGlmZmVyZW5jZSk7XG4gICAgdGhpcy5fY2hlY2tBbmRUcmlnZ2VyQWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FuZFRyaWdnZXJBY3Rpb24oKSB7XG4gICAgaWYgKFsuLi50aGlzLl9jYWxsVHJhY2tlci52YWx1ZXMoKV0uZXZlcnkoQm9vbGVhbikpIHtcbiAgICAgIHRoaXMuX2NhbGxUcmFja2VyLmNsZWFyKCk7XG4gICAgICB0aGlzLnJlZHJhdygpO1xuICAgIH1cbiAgfVxufVxuXG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { BaseConnectionDragHandler } from './base-connection.drag-handler';
2
+ export class TargetConnectionDragHandler extends BaseConnectionDragHandler {
3
+ constructor(fConnection) {
4
+ super(fConnection);
5
+ }
6
+ setTargetDifference(difference) {
7
+ super.setTargetDifference(difference);
8
+ this.redraw();
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9ub2RlL2Nvbm5lY3Rpb24tZHJhZy1oYW5kbGVycy90YXJnZXQtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHM0UsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHlCQUF5QjtJQUV4RSxZQUFZLFdBQTRCO1FBQ3RDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRWUsbUJBQW1CLENBQUMsVUFBa0I7UUFDcEQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB9IGZyb20gJy4vYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIFRhcmdldENvbm5lY3Rpb25EcmFnSGFuZGxlciBleHRlbmRzIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuXG4gIGNvbnN0cnVjdG9yKGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpIHtcbiAgICBzdXBlcihmQ29ubmVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpIHtcbiAgICBzdXBlci5zZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2UpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cbn1cbiJdfQ==