@foblex/flow 1.5.0 → 1.5.2

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 (203) hide show
  1. package/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.d.ts +4 -0
  2. package/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.d.ts +7 -0
  3. package/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.d.ts +14 -0
  4. package/domain/get-output-rect-in-flow/index.d.ts +3 -0
  5. package/domain/index.d.ts +2 -1
  6. package/domain/providers.d.ts +3 -2
  7. package/domain/redraw-connections/index.d.ts +2 -0
  8. package/domain/redraw-connections/redraw-connections-request.d.ts +3 -0
  9. package/{f-flow/domain → domain}/redraw-connections/redraw-connections.handler.d.ts +8 -6
  10. package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +10 -3
  11. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-request.mjs +6 -0
  12. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow-response.mjs +7 -0
  13. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.mjs +33 -0
  14. package/esm2022/domain/get-output-rect-in-flow/index.mjs +4 -0
  15. package/esm2022/domain/index.mjs +3 -2
  16. package/esm2022/domain/providers.mjs +6 -4
  17. package/esm2022/domain/redraw-connections/index.mjs +3 -0
  18. package/esm2022/domain/redraw-connections/redraw-connections-request.mjs +5 -0
  19. package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +54 -0
  20. package/esm2022/f-canvas/f-canvas-base.mjs +3 -4
  21. package/esm2022/f-components-store.mjs +1 -1
  22. package/esm2022/f-connection/common/f-connection-base.mjs +5 -3
  23. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +2 -2
  24. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  25. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +1 -1
  26. package/esm2022/f-connection/common/mixins/change-connection-visibility.mixin.mjs +1 -1
  27. package/esm2022/f-connection/f-connection/f-connection.component.mjs +5 -5
  28. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +2 -2
  29. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +2 -1
  30. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  31. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  32. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  33. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +6 -7
  34. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +3 -3
  35. package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +8 -8
  36. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +7 -0
  37. package/esm2022/f-draggable/connections/create-connection/index.mjs +2 -2
  38. package/esm2022/f-draggable/connections/reassign-connection/f-reassign-connection.event.mjs +9 -0
  39. package/esm2022/f-draggable/connections/reassign-connection/index.mjs +2 -2
  40. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +8 -9
  41. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +3 -3
  42. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +7 -7
  43. package/esm2022/f-draggable/external-item/external-item.drag-handler.mjs +1 -1
  44. package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +3 -3
  45. package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +3 -3
  46. package/esm2022/f-draggable/external-item/f-create-node.event.mjs +7 -0
  47. package/esm2022/f-draggable/external-item/index.mjs +2 -2
  48. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  49. package/esm2022/f-draggable/f-draggable-data-context.mjs +1 -1
  50. package/esm2022/f-draggable/f-draggable.directive.mjs +3 -3
  51. package/esm2022/f-draggable/index.mjs +13 -0
  52. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +6 -7
  53. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +6 -7
  54. package/esm2022/f-draggable/node/connection.drag-handler.mjs +6 -7
  55. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +11 -11
  56. package/esm2022/f-draggable/single-select/f-selection-change-event.mjs +7 -0
  57. package/esm2022/f-draggable/single-select/index.mjs +2 -2
  58. package/esm2022/f-external-item/f-external-item-base.mjs +11 -0
  59. package/esm2022/f-external-item/f-external-item.directive.mjs +44 -0
  60. package/esm2022/f-external-item/f-external-item.service.mjs +28 -0
  61. package/esm2022/f-external-item/index.mjs +5 -0
  62. package/esm2022/f-external-item/is-external-item.mjs +7 -0
  63. package/esm2022/f-flow/f-flow.component.mjs +14 -20
  64. package/esm2022/f-flow/index.mjs +1 -2
  65. package/esm2022/f-flow.module.mjs +5 -4
  66. package/esm2022/f-line-alignment/domain/i-line-alignment-rect.mjs +2 -0
  67. package/esm2022/f-line-alignment/domain/i-line-alignment-result.mjs +2 -0
  68. package/esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs +2 -0
  69. package/esm2022/f-line-alignment/domain/index.mjs +7 -0
  70. package/esm2022/f-line-alignment/domain/line-element.mjs +23 -0
  71. package/esm2022/f-line-alignment/domain/line-service.mjs +33 -0
  72. package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +100 -0
  73. package/esm2022/f-line-alignment/f-line-alignment-base.mjs +11 -0
  74. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +90 -0
  75. package/esm2022/f-line-alignment/index.mjs +4 -0
  76. package/esm2022/f-mediator/f-flow-mediator.mjs +24 -0
  77. package/esm2022/f-mediator/f-handler-register.mjs +7 -0
  78. package/esm2022/f-mediator/index.mjs +3 -0
  79. package/esm2022/f-node/f-node.directive.mjs +3 -3
  80. package/esm2022/f-selection-area/domain/i-selection-area-rect.mjs +2 -0
  81. package/esm2022/f-selection-area/domain/index.mjs +2 -0
  82. package/esm2022/f-selection-area/f-selection-area-base.mjs +11 -0
  83. package/esm2022/f-selection-area/f-selection-area.component.mjs +44 -0
  84. package/esm2022/f-selection-area/index.mjs +4 -0
  85. package/esm2022/public-api.mjs +6 -3
  86. package/f-canvas/f-canvas-base.d.ts +3 -4
  87. package/f-components-store.d.ts +1 -1
  88. package/f-connection/common/f-connection-base.d.ts +2 -2
  89. package/f-connection/common/i-has-connection-from-to.d.ts +1 -1
  90. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -2
  91. package/f-connection/common/mixins/change-connection-visibility.mixin.d.ts +1 -2
  92. package/f-connection/f-connection/f-connection.component.d.ts +2 -2
  93. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  94. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +3 -4
  95. package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +4 -4
  96. package/f-draggable/connections/create-connection/f-create-connection.event.d.ts +5 -0
  97. package/f-draggable/connections/create-connection/index.d.ts +1 -1
  98. package/f-draggable/connections/reassign-connection/f-reassign-connection.event.d.ts +7 -0
  99. package/f-draggable/connections/reassign-connection/index.d.ts +1 -1
  100. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +4 -4
  101. package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +4 -4
  102. package/f-draggable/external-item/external-item.drag-handler.d.ts +1 -1
  103. package/f-draggable/external-item/external-item.prepare-drag-sequence.d.ts +1 -1
  104. package/f-draggable/external-item/{create-node.event.d.ts → f-create-node.event.d.ts} +1 -1
  105. package/f-draggable/external-item/index.d.ts +1 -1
  106. package/f-draggable/f-draggable-base.d.ts +8 -8
  107. package/f-draggable/f-draggable-data-context.d.ts +2 -1
  108. package/f-draggable/f-draggable.directive.d.ts +7 -7
  109. package/f-draggable/{public-api.d.ts → index.d.ts} +0 -1
  110. package/f-draggable/node/connection-source.drag-handler.d.ts +4 -4
  111. package/f-draggable/node/connection-target.drag-handler.d.ts +4 -4
  112. package/f-draggable/node/connection.drag-handler.d.ts +4 -4
  113. package/f-draggable/node/node.prepare-drag-sequence.d.ts +4 -4
  114. package/f-draggable/single-select/{selection-change-event.d.ts → f-selection-change-event.d.ts} +1 -1
  115. package/f-draggable/single-select/index.d.ts +1 -1
  116. package/f-flow/f-flow.component.d.ts +3 -3
  117. package/f-flow/index.d.ts +0 -1
  118. package/f-flow.module.d.ts +3 -3
  119. package/{f-draggable/components/f-line-alignment → f-line-alignment}/f-line-alignment-base.d.ts +1 -1
  120. package/{f-draggable/components/f-line-alignment → f-line-alignment}/f-line-alignment.component.d.ts +4 -4
  121. package/f-mediator/f-flow-mediator.d.ts +12 -0
  122. package/f-mediator/f-handler-register.d.ts +5 -0
  123. package/f-mediator/index.d.ts +2 -0
  124. package/{f-draggable/components/f-selection-area → f-selection-area}/f-selection-area.component.d.ts +1 -1
  125. package/fesm2022/foblex-flow.mjs +1100 -1135
  126. package/fesm2022/foblex-flow.mjs.map +1 -1
  127. package/package.json +2 -2
  128. package/public-api.d.ts +5 -2
  129. package/common-behaviours/change-position.d.ts +0 -10
  130. package/common-behaviours/change-zoom/change-zoom.d.ts +0 -6
  131. package/common-behaviours/change-zoom/i-can-change-zoom.d.ts +0 -6
  132. package/common-behaviours/change-zoom/index.d.ts +0 -2
  133. package/common-behaviours/constructor.d.ts +0 -2
  134. package/common-behaviours/fit-to-parent/fit-to-parent.d.ts +0 -6
  135. package/common-behaviours/fit-to-parent/i-can-fit-to-parent.d.ts +0 -4
  136. package/common-behaviours/fit-to-parent/index.d.ts +0 -2
  137. package/common-behaviours/i-transformable.d.ts +0 -4
  138. package/common-behaviours/index.d.ts +0 -6
  139. package/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.d.ts +0 -4
  140. package/common-behaviours/one-to-one-centering/index.d.ts +0 -2
  141. package/common-behaviours/one-to-one-centering/one-to-one-centering.d.ts +0 -6
  142. package/domain/get-output-rect-in-flow.handler.d.ts +0 -19
  143. package/esm2022/common-behaviours/change-position.mjs +0 -15
  144. package/esm2022/common-behaviours/change-zoom/change-zoom.mjs +0 -25
  145. package/esm2022/common-behaviours/change-zoom/i-can-change-zoom.mjs +0 -2
  146. package/esm2022/common-behaviours/change-zoom/index.mjs +0 -3
  147. package/esm2022/common-behaviours/constructor.mjs +0 -2
  148. package/esm2022/common-behaviours/fit-to-parent/fit-to-parent.mjs +0 -27
  149. package/esm2022/common-behaviours/fit-to-parent/i-can-fit-to-parent.mjs +0 -2
  150. package/esm2022/common-behaviours/fit-to-parent/index.mjs +0 -3
  151. package/esm2022/common-behaviours/i-transformable.mjs +0 -2
  152. package/esm2022/common-behaviours/index.mjs +0 -7
  153. package/esm2022/common-behaviours/one-to-one-centering/i-can-one-to-one-centering.mjs +0 -2
  154. package/esm2022/common-behaviours/one-to-one-centering/index.mjs +0 -3
  155. package/esm2022/common-behaviours/one-to-one-centering/one-to-one-centering.mjs +0 -24
  156. package/esm2022/domain/get-output-rect-in-flow.handler.mjs +0 -25
  157. package/esm2022/f-draggable/components/f-external-item/f-external-item-base.mjs +0 -11
  158. package/esm2022/f-draggable/components/f-external-item/f-external-item.directive.mjs +0 -44
  159. package/esm2022/f-draggable/components/f-external-item/f-external-item.service.mjs +0 -28
  160. package/esm2022/f-draggable/components/f-external-item/index.mjs +0 -5
  161. package/esm2022/f-draggable/components/f-external-item/is-external-item.mjs +0 -7
  162. package/esm2022/f-draggable/components/f-line-alignment/domain/i-line-alignment-rect.mjs +0 -2
  163. package/esm2022/f-draggable/components/f-line-alignment/domain/i-line-alignment-result.mjs +0 -2
  164. package/esm2022/f-draggable/components/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -2
  165. package/esm2022/f-draggable/components/f-line-alignment/domain/index.mjs +0 -7
  166. package/esm2022/f-draggable/components/f-line-alignment/domain/line-element.mjs +0 -23
  167. package/esm2022/f-draggable/components/f-line-alignment/domain/line-service.mjs +0 -33
  168. package/esm2022/f-draggable/components/f-line-alignment/domain/nearest-coordinate.mjs +0 -100
  169. package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment-base.mjs +0 -11
  170. package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment.component.mjs +0 -90
  171. package/esm2022/f-draggable/components/f-line-alignment/index.mjs +0 -4
  172. package/esm2022/f-draggable/components/f-selection-area/domain/i-selection-area-rect.mjs +0 -2
  173. package/esm2022/f-draggable/components/f-selection-area/domain/index.mjs +0 -2
  174. package/esm2022/f-draggable/components/f-selection-area/f-selection-area-base.mjs +0 -11
  175. package/esm2022/f-draggable/components/f-selection-area/f-selection-area.component.mjs +0 -44
  176. package/esm2022/f-draggable/components/f-selection-area/index.mjs +0 -4
  177. package/esm2022/f-draggable/components/index.mjs +0 -4
  178. package/esm2022/f-draggable/connections/create-connection/create-connection.event.mjs +0 -7
  179. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.event.mjs +0 -9
  180. package/esm2022/f-draggable/external-item/create-node.event.mjs +0 -7
  181. package/esm2022/f-draggable/public-api.mjs +0 -14
  182. package/esm2022/f-draggable/single-select/selection-change-event.mjs +0 -7
  183. package/esm2022/f-flow/domain/redraw-connections/redraw-connections.handler.mjs +0 -46
  184. package/f-draggable/components/index.d.ts +0 -3
  185. package/f-draggable/connections/create-connection/create-connection.event.d.ts +0 -5
  186. package/f-draggable/connections/reassign-connection/reassign-connection.event.d.ts +0 -7
  187. /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item-base.d.ts +0 -0
  188. /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item.directive.d.ts +0 -0
  189. /package/{f-draggable/components/f-external-item → f-external-item}/f-external-item.service.d.ts +0 -0
  190. /package/{f-draggable/components/f-external-item → f-external-item}/index.d.ts +0 -0
  191. /package/{f-draggable/components/f-external-item → f-external-item}/is-external-item.d.ts +0 -0
  192. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-line-alignment-rect.d.ts +0 -0
  193. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-line-alignment-result.d.ts +0 -0
  194. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/i-nearest-coordinate-result.d.ts +0 -0
  195. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/index.d.ts +0 -0
  196. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/line-element.d.ts +0 -0
  197. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/line-service.d.ts +0 -0
  198. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/domain/nearest-coordinate.d.ts +0 -0
  199. /package/{f-draggable/components/f-line-alignment → f-line-alignment}/index.d.ts +0 -0
  200. /package/{f-draggable/components/f-selection-area → f-selection-area}/domain/i-selection-area-rect.d.ts +0 -0
  201. /package/{f-draggable/components/f-selection-area → f-selection-area}/domain/index.d.ts +0 -0
  202. /package/{f-draggable/components/f-selection-area → f-selection-area}/f-selection-area-base.d.ts +0 -0
  203. /package/{f-draggable/components/f-selection-area → f-selection-area}/index.d.ts +0 -0
@@ -1,100 +0,0 @@
1
- const ALIGN_THRESHOLD = 10;
2
- /**
3
- * A class to find the nearest coordinate.
4
- */
5
- export class NearestCoordinateFinder {
6
- /**
7
- * Constructor to initialize the NearestCoordinateFinder.
8
- * @param elements - The array of IRect elements.
9
- * @param target - The target IRect element.
10
- */
11
- constructor(elements, target) {
12
- this.elements = elements;
13
- this.target = target;
14
- }
15
- /**
16
- * Finds the nearest coordinate on a specified axis.
17
- * @returns The nearest coordinate and its distance.
18
- */
19
- findNearestCoordinateByX() {
20
- let nearest;
21
- let minDistance;
22
- for (const element of this.elements) {
23
- const distanceLeftLeft = this.target.x - element.x;
24
- const distanceLeftRight = this.target.x - (element.x + element.width);
25
- const distanceCenterCenter = this.target.gravityCenter.x - element.gravityCenter.x;
26
- const distanceRightLeft = (this.target.x + this.target.width) - element.x;
27
- const distanceRightRight = (this.target.x + this.target.width) - (element.x + element.width);
28
- if (Math.abs(distanceLeftLeft) <= ALIGN_THRESHOLD ||
29
- Math.abs(distanceLeftRight) <= ALIGN_THRESHOLD ||
30
- Math.abs(distanceCenterCenter) <= ALIGN_THRESHOLD ||
31
- Math.abs(distanceRightLeft) <= ALIGN_THRESHOLD ||
32
- Math.abs(distanceRightRight) <= ALIGN_THRESHOLD) {
33
- if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
34
- minDistance = distanceCenterCenter;
35
- nearest = element.gravityCenter.x;
36
- }
37
- if (Math.abs(distanceLeftLeft) < Math.abs(minDistance)) {
38
- minDistance = distanceLeftLeft;
39
- nearest = element.x;
40
- }
41
- if (Math.abs(distanceRightRight) < Math.abs(minDistance)) {
42
- minDistance = distanceRightRight;
43
- nearest = element.x + element.width;
44
- }
45
- if (Math.abs(distanceLeftRight) < Math.abs(minDistance)) {
46
- minDistance = distanceLeftRight;
47
- nearest = element.x + element.width;
48
- }
49
- if (Math.abs(distanceRightLeft) < Math.abs(minDistance)) {
50
- minDistance = distanceRightLeft;
51
- nearest = element.x;
52
- }
53
- }
54
- }
55
- return { value: nearest, distance: minDistance };
56
- }
57
- /**
58
- * Finds the nearest coordinate on a specified axis.
59
- * @returns The nearest coordinate and its distance.
60
- */
61
- findNearestCoordinateByY() {
62
- let nearest;
63
- let minDistance;
64
- for (const element of this.elements) {
65
- const distanceTopTop = this.target.y - element.y;
66
- const distanceTopBottom = this.target.y - (element.y + element.height);
67
- const distanceCenterCenter = this.target.gravityCenter.y - element.gravityCenter.y;
68
- const distanceBottomTop = (this.target.y + this.target.height) - element.y;
69
- const distanceBottomBottom = (this.target.y + this.target.height) - (element.y + element.height);
70
- if (Math.abs(distanceTopTop) <= ALIGN_THRESHOLD ||
71
- Math.abs(distanceTopBottom) <= ALIGN_THRESHOLD ||
72
- Math.abs(distanceCenterCenter) <= ALIGN_THRESHOLD ||
73
- Math.abs(distanceBottomTop) <= ALIGN_THRESHOLD ||
74
- Math.abs(distanceBottomBottom) <= ALIGN_THRESHOLD) {
75
- if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
76
- minDistance = distanceCenterCenter;
77
- nearest = element.gravityCenter.y;
78
- }
79
- if (Math.abs(distanceTopTop) < Math.abs(minDistance)) {
80
- minDistance = distanceTopTop;
81
- nearest = element.y;
82
- }
83
- if (Math.abs(distanceBottomBottom) < Math.abs(minDistance)) {
84
- minDistance = distanceBottomBottom;
85
- nearest = element.y + element.height;
86
- }
87
- if (Math.abs(distanceTopBottom) < Math.abs(minDistance)) {
88
- minDistance = distanceTopBottom;
89
- nearest = element.y + element.height;
90
- }
91
- if (Math.abs(distanceBottomTop) < Math.abs(minDistance)) {
92
- minDistance = distanceBottomTop;
93
- nearest = element.y;
94
- }
95
- }
96
- }
97
- return { value: nearest, distance: minDistance };
98
- }
99
- }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVhcmVzdC1jb29yZGluYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb21wb25lbnRzL2YtbGluZS1hbGlnbm1lbnQvZG9tYWluL25lYXJlc3QtY29vcmRpbmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFFM0I7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBTWxDOzs7O09BSUc7SUFDSCxZQUFZLFFBQWlCLEVBQUUsTUFBYTtRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksd0JBQXdCO1FBQzdCLElBQUksT0FBMkIsQ0FBQztRQUNoQyxJQUFJLFdBQStCLENBQUM7UUFFcEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ25DLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNuRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7WUFDbkYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMxRSxNQUFN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LENBQUMsTUFBTSxDQUFDO2lCQUN0QztnQkFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO29CQUN2RCxXQUFXLEdBQUcsaUJBQWlCLENBQUM7b0JBQ2hDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7aUJBQ3RDO2dCQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ3ZELFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztvQkFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ3JCO2FBQ0Y7U0FDRjtRQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJTmVhcmVzdENvb3JkaW5hdGVSZXN1bHQgfSBmcm9tICcuL2ktbmVhcmVzdC1jb29yZGluYXRlLXJlc3VsdCc7XG5cbmNvbnN0IEFMSUdOX1RIUkVTSE9MRCA9IDEwO1xuXG4vKipcbiAqIEEgY2xhc3MgdG8gZmluZCB0aGUgbmVhcmVzdCBjb29yZGluYXRlLlxuICovXG5leHBvcnQgY2xhc3MgTmVhcmVzdENvb3JkaW5hdGVGaW5kZXIge1xuXG5cbiAgcHJpdmF0ZSBlbGVtZW50czogSVJlY3RbXTtcbiAgcHJpdmF0ZSB0YXJnZXQ6IElSZWN0O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvciB0byBpbml0aWFsaXplIHRoZSBOZWFyZXN0Q29vcmRpbmF0ZUZpbmRlci5cbiAgICogQHBhcmFtIGVsZW1lbnRzIC0gVGhlIGFycmF5IG9mIElSZWN0IGVsZW1lbnRzLlxuICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBJUmVjdCBlbGVtZW50LlxuICAgKi9cbiAgY29uc3RydWN0b3IoZWxlbWVudHM6IElSZWN0W10sIHRhcmdldDogSVJlY3QpIHtcbiAgICB0aGlzLmVsZW1lbnRzID0gZWxlbWVudHM7XG4gICAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIG5lYXJlc3QgY29vcmRpbmF0ZSBvbiBhIHNwZWNpZmllZCBheGlzLlxuICAgKiBAcmV0dXJucyBUaGUgbmVhcmVzdCBjb29yZGluYXRlIGFuZCBpdHMgZGlzdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgZmluZE5lYXJlc3RDb29yZGluYXRlQnlYKCk6IElOZWFyZXN0Q29vcmRpbmF0ZVJlc3VsdCB7XG4gICAgbGV0IG5lYXJlc3Q6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBsZXQgbWluRGlzdGFuY2U6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB0aGlzLmVsZW1lbnRzKSB7XG4gICAgICBjb25zdCBkaXN0YW5jZUxlZnRMZWZ0ID0gdGhpcy50YXJnZXQueCAtIGVsZW1lbnQueDtcbiAgICAgIGNvbnN0IGRpc3RhbmNlTGVmdFJpZ2h0ID0gdGhpcy50YXJnZXQueCAtIChlbGVtZW50LnggKyBlbGVtZW50LndpZHRoKTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlQ2VudGVyQ2VudGVyID0gdGhpcy50YXJnZXQuZ3Jhdml0eUNlbnRlci54IC0gZWxlbWVudC5ncmF2aXR5Q2VudGVyLng7XG4gICAgICBjb25zdCBkaXN0YW5jZVJpZ2h0TGVmdCA9ICh0aGlzLnRhcmdldC54ICsgdGhpcy50YXJnZXQud2lkdGgpIC0gZWxlbWVudC54O1xuICAgICAgY29uc3QgZGlzdGFuY2VSaWdodFJpZ2h0ID0gKHRoaXMudGFyZ2V0LnggKyB0aGlzLnRhcmdldC53aWR0aCkgLSAoZWxlbWVudC54ICsgZWxlbWVudC53aWR0aCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUxlZnRMZWZ0KSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUxlZnRSaWdodCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VDZW50ZXJDZW50ZXIpIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlUmlnaHRMZWZ0KSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVJpZ2h0UmlnaHQpIDw9IEFMSUdOX1RIUkVTSE9MRFxuICAgICAgKSB7XG4gICAgICAgIGlmIChtaW5EaXN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VDZW50ZXJDZW50ZXI7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQuZ3Jhdml0eUNlbnRlci54O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZUxlZnRMZWZ0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VMZWZ0TGVmdDtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC54O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVJpZ2h0UmlnaHQpIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZVJpZ2h0UmlnaHQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlTGVmdFJpZ2h0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VMZWZ0UmlnaHQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlUmlnaHRMZWZ0KSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VSaWdodExlZnQ7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZTogbmVhcmVzdCwgZGlzdGFuY2U6IG1pbkRpc3RhbmNlIH07XG4gIH1cblxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgbmVhcmVzdCBjb29yZGluYXRlIG9uIGEgc3BlY2lmaWVkIGF4aXMuXG4gICAqIEByZXR1cm5zIFRoZSBuZWFyZXN0IGNvb3JkaW5hdGUgYW5kIGl0cyBkaXN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGVCeVkoKTogSU5lYXJlc3RDb29yZGluYXRlUmVzdWx0IHtcbiAgICBsZXQgbmVhcmVzdDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGxldCBtaW5EaXN0YW5jZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuZWxlbWVudHMpIHtcbiAgICAgIGNvbnN0IGRpc3RhbmNlVG9wVG9wID0gdGhpcy50YXJnZXQueSAtIGVsZW1lbnQueTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlVG9wQm90dG9tID0gdGhpcy50YXJnZXQueSAtIChlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodCk7XG4gICAgICBjb25zdCBkaXN0YW5jZUNlbnRlckNlbnRlciA9IHRoaXMudGFyZ2V0LmdyYXZpdHlDZW50ZXIueSAtIGVsZW1lbnQuZ3Jhdml0eUNlbnRlci55O1xuICAgICAgY29uc3QgZGlzdGFuY2VCb3R0b21Ub3AgPSAodGhpcy50YXJnZXQueSArIHRoaXMudGFyZ2V0LmhlaWdodCkgLSBlbGVtZW50Lnk7XG4gICAgICBjb25zdCBkaXN0YW5jZUJvdHRvbUJvdHRvbSA9ICh0aGlzLnRhcmdldC55ICsgdGhpcy50YXJnZXQuaGVpZ2h0KSAtIChlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZVRvcFRvcCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VUb3BCb3R0b20pIDw9IEFMSUdOX1RIUkVTSE9MRCB8fFxuICAgICAgICAgIE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8PSBBTElHTl9USFJFU0hPTEQgfHxcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZUJvdHRvbVRvcCkgPD0gQUxJR05fVEhSRVNIT0xEIHx8XG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VCb3R0b21Cb3R0b20pIDw9IEFMSUdOX1RIUkVTSE9MRFxuICAgICAgKSB7XG4gICAgICAgIGlmIChtaW5EaXN0YW5jZSA9PT0gdW5kZWZpbmVkIHx8IE1hdGguYWJzKGRpc3RhbmNlQ2VudGVyQ2VudGVyKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VDZW50ZXJDZW50ZXI7XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQuZ3Jhdml0eUNlbnRlci55O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVRvcFRvcCkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlVG9wVG9wO1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50Lnk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlQm90dG9tQm90dG9tKSA8IE1hdGguYWJzKG1pbkRpc3RhbmNlKSkge1xuICAgICAgICAgIG1pbkRpc3RhbmNlID0gZGlzdGFuY2VCb3R0b21Cb3R0b207XG4gICAgICAgICAgbmVhcmVzdCA9IGVsZW1lbnQueSArIGVsZW1lbnQuaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChNYXRoLmFicyhkaXN0YW5jZVRvcEJvdHRvbSkgPCBNYXRoLmFicyhtaW5EaXN0YW5jZSkpIHtcbiAgICAgICAgICBtaW5EaXN0YW5jZSA9IGRpc3RhbmNlVG9wQm90dG9tO1xuICAgICAgICAgIG5lYXJlc3QgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2VCb3R0b21Ub3ApIDwgTWF0aC5hYnMobWluRGlzdGFuY2UpKSB7XG4gICAgICAgICAgbWluRGlzdGFuY2UgPSBkaXN0YW5jZUJvdHRvbVRvcDtcbiAgICAgICAgICBuZWFyZXN0ID0gZWxlbWVudC55O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgdmFsdWU6IG5lYXJlc3QsIGRpc3RhbmNlOiBtaW5EaXN0YW5jZSB9O1xuICB9XG59XG5cbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { Directive, InjectionToken } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export const F_LINE_ALIGNMENT = new InjectionToken('F_LINE_ALIGNMENT');
4
- export class FLineAlignmentBase {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FLineAlignmentBase, ngImport: i0 }); }
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentBase, decorators: [{
9
- type: Directive
10
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb21wb25lbnRzL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkxRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsa0JBQWtCLENBQUMsQ0FBQztBQUczRixNQUFNLE9BQWdCLGtCQUFrQjs4R0FBbEIsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTGluZUFsaWdubWVudFJlc3VsdCB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjb25zdCBGX0xJTkVfQUxJR05NRU5UID0gbmV3IEluamVjdGlvblRva2VuPEZMaW5lQWxpZ25tZW50QmFzZT4oJ0ZfTElORV9BTElHTk1FTlQnKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkxpbmVBbGlnbm1lbnRCYXNlIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgaW5pdGlhbGl6ZShhbGxOb2RlczogRk5vZGVCYXNlW10sIGN1cnJlbnROb2RlczogRk5vZGVCYXNlW10pOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmaW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGhhbmRsZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjb21wbGV0ZSgpOiB2b2lkO1xufVxuIl19
@@ -1,90 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { RectExtensions, SizeExtensions } from '@foblex/core';
3
- import { LineService, NearestCoordinateFinder } from './domain';
4
- import { F_LINE_ALIGNMENT, FLineAlignmentBase } from './f-line-alignment-base';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../../f-components-store";
7
- import * as i2 from "../../f-draggable-data-context";
8
- import * as i3 from "../../../domain";
9
- export class FLineAlignmentComponent extends FLineAlignmentBase {
10
- get hostElement() {
11
- return this.elementReference.nativeElement;
12
- }
13
- get transform() {
14
- return this.fComponentsStore.fCanvas.transform;
15
- }
16
- get flowHost() {
17
- return this.fComponentsStore.fFlow.hostElement;
18
- }
19
- constructor(elementReference, fComponentsStore, fDraggableDataContext, getElementRectInFlowHandler) {
20
- super();
21
- this.elementReference = elementReference;
22
- this.fComponentsStore = fComponentsStore;
23
- this.fDraggableDataContext = fDraggableDataContext;
24
- this.getElementRectInFlowHandler = getElementRectInFlowHandler;
25
- this.size = SizeExtensions.initialize();
26
- this.draggedNodeRect = RectExtensions.initialize();
27
- this.rects = [];
28
- this.lineService = new LineService(this.hostElement);
29
- }
30
- ngOnInit() {
31
- this.fDraggableDataContext.fLineAlignment = this;
32
- }
33
- initialize(allNodes, currentNodes) {
34
- this.size = this.flowHost.getBoundingClientRect();
35
- this.rects = [];
36
- const draggedNodeRects = currentNodes.map((x) => {
37
- return this.getElementRectInFlowHandler.handle(x.hostElement);
38
- });
39
- this.draggedNodeRect = RectExtensions.union(draggedNodeRects);
40
- const allNodesExcludeCurrents = allNodes.filter((x) => {
41
- return !currentNodes.includes(x);
42
- });
43
- this.rects = allNodesExcludeCurrents.map((x) => {
44
- return this.getElementRectInFlowHandler.handle(x.hostElement);
45
- });
46
- }
47
- handle(difference) {
48
- this.drawIntersectingLines(difference);
49
- }
50
- drawIntersectingLines(difference) {
51
- const intersect = this.findNearestCoordinate(difference);
52
- if (intersect.xResult.value !== undefined) {
53
- this.lineService.drawVerticalLine(intersect.xResult.value, this.size, this.transform);
54
- }
55
- else {
56
- this.lineService.hideVerticalLine();
57
- }
58
- if (intersect.yResult.value !== undefined) {
59
- this.lineService.drawHorizontalLine(intersect.yResult.value, this.size, this.transform);
60
- }
61
- else {
62
- this.lineService.hideHorizontalLine();
63
- }
64
- }
65
- findNearestCoordinate(difference) {
66
- const rect = RectExtensions.addPoint(this.draggedNodeRect, difference);
67
- const finder = new NearestCoordinateFinder(this.rects, rect);
68
- const xResult = finder.findNearestCoordinateByX();
69
- const yResult = finder.findNearestCoordinateByY();
70
- const result = { xResult, yResult };
71
- return result;
72
- }
73
- complete() {
74
- this.lineService.hideVerticalLine();
75
- this.lineService.hideHorizontalLine();
76
- }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentComponent, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.GetElementRectInFlowHandler }], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FLineAlignmentComponent, selector: "f-line-alignment", host: { classAttribute: "f-line-alignment f-component" }, providers: [
79
- { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
80
- ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "", isInline: true, styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentComponent, decorators: [{
83
- type: Component,
84
- args: [{ selector: "f-line-alignment", template: "", exportAs: "fComponent", host: {
85
- 'class': 'f-line-alignment f-component'
86
- }, providers: [
87
- { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
88
- ], styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] }]
89
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetElementRectInFlowHandler }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1saW5lLWFsaWdubWVudC9mLWxpbmUtYWxpZ25tZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQXlDLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckcsT0FBTyxFQUF3QixXQUFXLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBa0IvRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBRTdELElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFVRCxJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQU0sQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQ1ksZ0JBQXlDLEVBQ3pDLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsMkJBQXdEO1FBRWxFLEtBQUssRUFBRSxDQUFDO1FBTEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQWxCNUQsU0FB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QU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMxRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRWUsUUFBUTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7OEdBcEZVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHFHQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRTtTQUNwRSwyRUFSUyxFQUFFOzsyRkFVRCx1QkFBdUI7a0JBWm5DLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCLEVBQUUsWUFFRixZQUFZLFFBQ2hCO3dCQUNKLE9BQU8sRUFBRSw4QkFBOEI7cUJBQ3hDLGFBQ1U7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDcEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvaW50LCBJUmVjdCwgSVNpemUsIElUcmFuc2Zvcm1Nb2RlbCwgUmVjdEV4dGVuc2lvbnMsIFNpemVFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElMaW5lQWxpZ25tZW50UmVzdWx0LCBMaW5lU2VydmljZSwgTmVhcmVzdENvb3JkaW5hdGVGaW5kZXIgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGX0xJTkVfQUxJR05NRU5ULCBGTGluZUFsaWdubWVudEJhc2UgfSBmcm9tICcuL2YtbGluZS1hbGlnbm1lbnQtYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uL2YtZHJhZ2dhYmxlLWRhdGEtY29udGV4dCc7XG5pbXBvcnQgeyBHZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtbGluZS1hbGlnbm1lbnRcIixcbiAgdGVtcGxhdGU6IFwiXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWxpbmUtYWxpZ25tZW50IGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTElORV9BTElHTk1FTlQsIHVzZUV4aXN0aW5nOiBGTGluZUFsaWdubWVudENvbXBvbmVudCB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZMaW5lQWxpZ25tZW50Q29tcG9uZW50IGV4dGVuZHMgRkxpbmVBbGlnbm1lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGxpbmVTZXJ2aWNlOiBMaW5lU2VydmljZTtcblxuICBwcml2YXRlIHNpemU6IElTaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgZHJhZ2dlZE5vZGVSZWN0OiBJUmVjdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIHJlY3RzOiBJUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlclxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGluZVNlcnZpY2UgPSBuZXcgTGluZVNlcnZpY2UodGhpcy5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXRpYWxpemUoYWxsTm9kZXM6IEZOb2RlQmFzZVtdLCBjdXJyZW50Tm9kZXM6IEZOb2RlQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5mbG93SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLnJlY3RzID0gW107XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVSZWN0cyA9IGN1cnJlbnROb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5kcmFnZ2VkTm9kZVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy51bmlvbihkcmFnZ2VkTm9kZVJlY3RzKTtcblxuICAgIGNvbnN0IGFsbE5vZGVzRXhjbHVkZUN1cnJlbnRzID0gYWxsTm9kZXMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gIWN1cnJlbnROb2Rlcy5pbmNsdWRlcyh4KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVjdHMgPSBhbGxOb2Rlc0V4Y2x1ZGVDdXJyZW50cy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd0ludGVyc2VjdGluZ0xpbmVzKGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3SW50ZXJzZWN0aW5nTGluZXMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd1ZlcnRpY2FsTGluZShpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSwgdGhpcy5zaXplLCB0aGlzLnRyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIH1cbiAgICBpZiAoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5saW5lU2VydmljZS5kcmF3SG9yaXpvbnRhbExpbmUoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUsIHRoaXMuc2l6ZSwgdGhpcy50cmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQge1xuICAgIGNvbnN0IHJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5hZGRQb2ludCh0aGlzLmRyYWdnZWROb2RlUmVjdCwgZGlmZmVyZW5jZSk7XG4gICAgY29uc3QgZmluZGVyID0gbmV3IE5lYXJlc3RDb29yZGluYXRlRmluZGVyKHRoaXMucmVjdHMsIHJlY3QpO1xuICAgIGNvbnN0IHhSZXN1bHQgPSBmaW5kZXIuZmluZE5lYXJlc3RDb29yZGluYXRlQnlYKCk7XG4gICAgY29uc3QgeVJlc3VsdCA9IGZpbmRlci5maW5kTmVhcmVzdENvb3JkaW5hdGVCeVkoKTtcblxuICAgIGNvbnN0IHJlc3VsdDogSUxpbmVBbGlnbm1lbnRSZXN1bHQgPSB7IHhSZXN1bHQsIHlSZXN1bHQgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZUhvcml6b250YWxMaW5lKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './domain';
2
- export * from './f-line-alignment.component';
3
- export * from './f-line-alignment-base';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1saW5lLWFsaWdubWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtbGluZS1hbGlnbm1lbnQtYmFzZSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1zZWxlY3Rpb24tYXJlYS1yZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb21wb25lbnRzL2Ytc2VsZWN0aW9uLWFyZWEvZG9tYWluL2ktc2VsZWN0aW9uLWFyZWEtcmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0aW9uQXJlYVJlY3Qge1xuXG4gIGxlZnQ6IG51bWJlcjtcblxuICB0b3A6IG51bWJlcjtcblxuICB3aWR0aDogbnVtYmVyO1xuXG4gIGhlaWdodDogbnVtYmVyO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from './i-selection-area-rect';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1zZWxlY3Rpb24tYXJlYS9kb21haW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaS1zZWxlY3Rpb24tYXJlYS1yZWN0JztcbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { Directive, InjectionToken } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export const F_SELECTION_AREA = new InjectionToken('F_SELECTION_AREA');
4
- export class FSelectionAreaBase {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FSelectionAreaBase, ngImport: i0 }); }
7
- }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaBase, decorators: [{
9
- type: Directive
10
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb21wb25lbnRzL2Ytc2VsZWN0aW9uLWFyZWEvZi1zZWxlY3Rpb24tYXJlYS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcxRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsa0JBQWtCLENBQUMsQ0FBQztBQUczRixNQUFNLE9BQWdCLGtCQUFrQjs4R0FBbEIsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNlbGVjdGlvbkFyZWFSZWN0IH0gZnJvbSAnLi9kb21haW4nO1xuXG5leHBvcnQgY29uc3QgRl9TRUxFQ1RJT05fQVJFQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGU2VsZWN0aW9uQXJlYUJhc2U+KCdGX1NFTEVDVElPTl9BUkVBJyk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZTZWxlY3Rpb25BcmVhQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGhpZGUoKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgc2hvdygpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBkcmF3KG9iamVjdDogSVNlbGVjdGlvbkFyZWFSZWN0KTogdm9pZDtcbn1cbiJdfQ==
@@ -1,44 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { F_SELECTION_AREA, FSelectionAreaBase } from './f-selection-area-base';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../f-draggable-data-context";
5
- export class FSelectionAreaComponent extends FSelectionAreaBase {
6
- get hostElement() {
7
- return this.elementReference.nativeElement;
8
- }
9
- constructor(elementReference, fDraggableDataContext) {
10
- super();
11
- this.elementReference = elementReference;
12
- this.fDraggableDataContext = fDraggableDataContext;
13
- }
14
- ngOnInit() {
15
- this.fDraggableDataContext.fSelectionArea = this;
16
- this.hostElement.style.display = 'none';
17
- }
18
- hide() {
19
- this.hostElement.style.display = 'none';
20
- }
21
- show() {
22
- this.hostElement.style.display = 'block';
23
- }
24
- draw(object) {
25
- const style = this.hostElement.style;
26
- style.left = object.left + 'px';
27
- style.top = object.top + 'px';
28
- style.width = object.width + 'px';
29
- style.height = object.height + 'px';
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaComponent, deps: [{ token: i0.ElementRef }, { token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FSelectionAreaComponent, selector: "f-selection-area", host: { classAttribute: "f-selection-area f-component" }, providers: [
33
- { provide: F_SELECTION_AREA, useExisting: FSelectionAreaComponent }
34
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true, styles: [":host{position:absolute}\n"] }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FSelectionAreaComponent, decorators: [{
37
- type: Component,
38
- args: [{ selector: "f-selection-area", template: ``, host: {
39
- 'class': 'f-selection-area f-component'
40
- }, providers: [
41
- { provide: F_SELECTION_AREA, useExisting: FSelectionAreaComponent }
42
- ], styles: [":host{position:absolute}\n"] }]
43
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FDraggableDataContext }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1zZWxlY3Rpb24tYXJlYS9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBZS9FLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFFN0QsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQ1ksZ0JBQXlDLEVBQ3pDLHFCQUE0QztRQUV0RCxLQUFLLEVBQUUsQ0FBQztRQUhFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUd4RCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVlLElBQUk7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDO0lBRWUsSUFBSTtRQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFZSxJQUFJLENBQUMsTUFBMEI7UUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDckMsS0FBSyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQyxLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDOzhHQWhDVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixxR0FKdkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDcEUsaURBUFMsRUFBRTs7MkZBU0QsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixFQUFFLFFBRU47d0JBQ0osT0FBTyxFQUFFLDhCQUE4QjtxQkFDeEMsYUFDVTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLHlCQUF5QixFQUFFO3FCQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGX1NFTEVDVElPTl9BUkVBLCBGU2VsZWN0aW9uQXJlYUJhc2UgfSBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHsgSVNlbGVjdGlvbkFyZWFSZWN0IH0gZnJvbSAnLi9kb21haW4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1zZWxlY3Rpb24tYXJlYVwiLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWyAnLi9mLXNlbGVjdGlvbi1hcmVhLmNvbXBvbmVudC5zY3NzJyBdLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Ytc2VsZWN0aW9uLWFyZWEgZi1jb21wb25lbnQnXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9TRUxFQ1RJT05fQVJFQSwgdXNlRXhpc3Rpbmc6IEZTZWxlY3Rpb25BcmVhQ29tcG9uZW50IH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRlNlbGVjdGlvbkFyZWFDb21wb25lbnQgZXh0ZW5kcyBGU2VsZWN0aW9uQXJlYUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIHByaXZhdGUgZkRyYWdnYWJsZURhdGFDb250ZXh0OiBGRHJhZ2dhYmxlRGF0YUNvbnRleHRcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5mU2VsZWN0aW9uQXJlYSA9IHRoaXM7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkcmF3KG9iamVjdDogSVNlbGVjdGlvbkFyZWFSZWN0KTogdm9pZCB7XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmhvc3RFbGVtZW50LnN0eWxlO1xuICAgIHN0eWxlLmxlZnQgPSBvYmplY3QubGVmdCArICdweCc7XG4gICAgc3R5bGUudG9wID0gb2JqZWN0LnRvcCArICdweCc7XG4gICAgc3R5bGUud2lkdGggPSBvYmplY3Qud2lkdGggKyAncHgnO1xuICAgIHN0eWxlLmhlaWdodCA9IG9iamVjdC5oZWlnaHQgKyAncHgnO1xuICB9XG59XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './domain';
2
- export * from './f-selection-area.component';
3
- export * from './f-selection-area-base';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvZi1zZWxlY3Rpb24tYXJlYS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zZWxlY3Rpb24tYXJlYS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VsZWN0aW9uLWFyZWEtYmFzZSc7XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './f-external-item';
2
- export * from './f-line-alignment';
3
- export * from './f-selection-area';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtZXh0ZXJuYWwtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1saW5lLWFsaWdubWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zZWxlY3Rpb24tYXJlYSc7XG4iXX0=
@@ -1,7 +0,0 @@
1
- export class CreateConnectionEvent {
2
- constructor(outputId, inputId) {
3
- this.outputId = outputId;
4
- this.inputId = inputId;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2NyZWF0ZS1jb25uZWN0aW9uL2NyZWF0ZS1jb25uZWN0aW9uLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFDUyxRQUFXLEVBQ1gsT0FBVTtRQURWLGFBQVEsR0FBUixRQUFRLENBQUc7UUFDWCxZQUFPLEdBQVAsT0FBTyxDQUFHO0lBRW5CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDcmVhdGVDb25uZWN0aW9uRXZlbnQ8VCA9IGFueT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdXRwdXRJZDogVCxcbiAgICBwdWJsaWMgaW5wdXRJZDogVFxuICApIHtcbiAgfVxufVxuIl19
@@ -1,9 +0,0 @@
1
- export class ReassignConnectionEvent {
2
- constructor(connectionId, outputId, oldInputId, newInputId) {
3
- this.connectionId = connectionId;
4
- this.outputId = outputId;
5
- this.oldInputId = oldInputId;
6
- this.newInputId = newInputId;
7
- }
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhc3NpZ24tY29ubmVjdGlvbi5ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvY29ubmVjdGlvbnMvcmVhc3NpZ24tY29ubmVjdGlvbi9yZWFzc2lnbi1jb25uZWN0aW9uLmV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFDUyxZQUFlLEVBQ2YsUUFBVyxFQUNYLFVBQWEsRUFDYixVQUFhO1FBSGIsaUJBQVksR0FBWixZQUFZLENBQUc7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFHO1FBQ1gsZUFBVSxHQUFWLFVBQVUsQ0FBRztRQUNiLGVBQVUsR0FBVixVQUFVLENBQUc7SUFFdEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PFQgPSBhbnk+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29ubmVjdGlvbklkOiBULFxuICAgIHB1YmxpYyBvdXRwdXRJZDogVCxcbiAgICBwdWJsaWMgb2xkSW5wdXRJZDogVCxcbiAgICBwdWJsaWMgbmV3SW5wdXRJZDogVFxuICApIHtcbiAgfVxufVxuIl19
@@ -1,7 +0,0 @@
1
- export class CreateNodeEvent {
2
- constructor(rect, data) {
3
- this.rect = rect;
4
- this.data = data;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW5vZGUuZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2V4dGVybmFsLWl0ZW0vY3JlYXRlLW5vZGUuZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDUyxJQUFXLEVBQ1gsSUFBVztRQURYLFNBQUksR0FBSixJQUFJLENBQU87UUFDWCxTQUFJLEdBQUosSUFBSSxDQUFPO0lBRXBCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGNsYXNzIENyZWF0ZU5vZGVFdmVudDxURGF0YSA9IGFueT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWN0OiBJUmVjdCxcbiAgICBwdWJsaWMgZGF0YTogVERhdGEsXG4gICkge1xuICB9XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- export * from './canvas';
2
- export * from './components';
3
- export * from './connections';
4
- export * from './external-item';
5
- export * from './node';
6
- export * from './selection-area';
7
- export * from './single-select';
8
- export * from './e-f-draggable-type';
9
- export * from './f-draggable.directive';
10
- export * from './f-draggable-base';
11
- export * from './f-draggable-data-context';
12
- export * from './i-drag-and-drop-base';
13
- export * from './i-draggable-item';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsUUFBUSxDQUFDO0FBRXZCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWwtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uLWFyZWEnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NpbmdsZS1zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2UtZi1kcmFnZ2FibGUtdHlwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUuZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZS1kYXRhLWNvbnRleHQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZHJhZy1hbmQtZHJvcC1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWRyYWdnYWJsZS1pdGVtJztcbiJdfQ==
@@ -1,7 +0,0 @@
1
- export class SelectionChangeEvent {
2
- constructor(nodes, connections) {
3
- this.nodes = nodes;
4
- this.connections = connections;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWNoYW5nZS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvc2luZ2xlLXNlbGVjdC9zZWxlY3Rpb24tY2hhbmdlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVyxLQUFlLEVBQ2YsV0FBcUI7UUFEckIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFVO0lBRWhDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTZWxlY3Rpb25DaGFuZ2VFdmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgbm9kZXM6IHN0cmluZ1tdLFxuICAgICAgcHVibGljIGNvbm5lY3Rpb25zOiBzdHJpbmdbXSxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { GetConnectionVectorRequest } from '../../../domain';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../f-components-store";
5
- import * as i2 from "../../../domain";
6
- export class RedrawConnectionsHandler {
7
- constructor(fComponentsStore, getElementRectInFlowHandler, getConnectionVectorHandler) {
8
- this.fComponentsStore = fComponentsStore;
9
- this.getElementRectInFlowHandler = getElementRectInFlowHandler;
10
- this.getConnectionVectorHandler = getConnectionVectorHandler;
11
- }
12
- handle() {
13
- this.resetConnectors();
14
- this.fComponentsStore.fTempConnection?.setMarkers();
15
- this.fComponentsStore.fConnections.forEach((connection) => {
16
- const output = this.fComponentsStore.fOutputs.find((x) => x.id === connection.fOutputId);
17
- const input = this.fComponentsStore.fInputs.find((x) => x.id === connection.fInputId);
18
- if (output && input) {
19
- this.setupConnection(output, input, connection);
20
- }
21
- });
22
- }
23
- resetConnectors() {
24
- this.fComponentsStore.fOutputs.forEach((output) => output.setConnected(false));
25
- this.fComponentsStore.fInputs.forEach((input) => input.setConnected(false));
26
- }
27
- setupConnection(output, input, connection) {
28
- output.setConnected(true);
29
- input.setConnected(true);
30
- const vector = this.getVector(output, input, connection);
31
- connection.setVector(vector.point1, output.fConnectableSide, vector.point2, input.fConnectableSide);
32
- connection.setMarkers();
33
- connection.initialize();
34
- }
35
- getVector(output, input, connection) {
36
- const outputRect = this.getElementRectInFlowHandler.handle(output.hostElement);
37
- const inputRect = this.getElementRectInFlowHandler.handle(input.hostElement);
38
- return this.getConnectionVectorHandler.handle(new GetConnectionVectorRequest(outputRect, inputRect, connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RedrawConnectionsHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.GetElementRectInFlowHandler }, { token: i2.GetConnectionVectorHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RedrawConnectionsHandler }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RedrawConnectionsHandler, decorators: [{
44
- type: Injectable
45
- }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.GetElementRectInFlowHandler }, { type: i2.GetConnectionVectorHandler }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZmxvdy9kb21haW4vcmVkcmF3LWNvbm5lY3Rpb25zL3JlZHJhdy1jb25uZWN0aW9ucy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBOEIsMEJBQTBCLEVBQStCLE1BQU0saUJBQWlCLENBQUM7QUFFdEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUszQyxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQ3FCLGdCQUFrQyxFQUMzQywyQkFBd0QsRUFDeEQsMEJBQXNEO1FBRjdDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDM0MsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO0lBRWxFLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFFcEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RGLElBQUksTUFBTSxJQUFJLEtBQUssRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ2pEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFzQixFQUFFLEtBQXFCLEVBQUUsVUFBMkI7UUFDaEcsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV6RCxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDcEcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXhCLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQXNCLEVBQUUsS0FBcUIsRUFBRSxVQUEyQjtRQUMxRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RSxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQ3pDLElBQUksMEJBQTBCLENBQzFCLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxDQUFDLFNBQVMsRUFDcEIsTUFBTSxDQUFDLGdCQUFnQixFQUN2QixLQUFLLENBQUMsZ0JBQWdCLENBQ3pCLENBQ0osQ0FBQztJQUNKLENBQUM7OEdBcERVLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIElWZWN0b3IgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgR2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXIsIEdldENvbm5lY3Rpb25WZWN0b3JSZXF1ZXN0LCBHZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVkcmF3Q29ubmVjdGlvbnNIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8dm9pZCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlcixcbiAgICAgIHByaXZhdGUgZ2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXI6IEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldENvbm5lY3RvcnMoKTtcblxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24/LnNldE1hcmtlcnMoKTtcblxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMuZm9yRWFjaCgoY29ubmVjdGlvbikgPT4ge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5pZCA9PT0gY29ubmVjdGlvbi5mSW5wdXRJZCk7XG4gICAgICBpZiAob3V0cHV0ICYmIGlucHV0KSB7XG4gICAgICAgIHRoaXMuc2V0dXBDb25uZWN0aW9uKG91dHB1dCwgaW5wdXQsIGNvbm5lY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENvbm5lY3RvcnMoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZvckVhY2goKG91dHB1dCkgPT4gb3V0cHV0LnNldENvbm5lY3RlZChmYWxzZSkpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiBpbnB1dC5zZXRDb25uZWN0ZWQoZmFsc2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDb25uZWN0aW9uKG91dHB1dDogRkNvbm5lY3RvckJhc2UsIGlucHV0OiBGQ29ubmVjdG9yQmFzZSwgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKTogdm9pZCB7XG4gICAgb3V0cHV0LnNldENvbm5lY3RlZCh0cnVlKTtcbiAgICBpbnB1dC5zZXRDb25uZWN0ZWQodHJ1ZSk7XG5cbiAgICBjb25zdCB2ZWN0b3IgPSB0aGlzLmdldFZlY3RvcihvdXRwdXQsIGlucHV0LCBjb25uZWN0aW9uKTtcblxuICAgIGNvbm5lY3Rpb24uc2V0VmVjdG9yKHZlY3Rvci5wb2ludDEsIG91dHB1dC5mQ29ubmVjdGFibGVTaWRlLCB2ZWN0b3IucG9pbnQyLCBpbnB1dC5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICBjb25uZWN0aW9uLnNldE1hcmtlcnMoKTtcblxuICAgIGNvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWZWN0b3Iob3V0cHV0OiBGQ29ubmVjdG9yQmFzZSwgaW5wdXQ6IEZDb25uZWN0b3JCYXNlLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBJVmVjdG9yIHtcbiAgICBjb25zdCBvdXRwdXRSZWN0ID0gdGhpcy5nZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIuaGFuZGxlKG91dHB1dC5ob3N0RWxlbWVudCk7XG4gICAgY29uc3QgaW5wdXRSZWN0ID0gdGhpcy5nZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIuaGFuZGxlKGlucHV0Lmhvc3RFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcy5nZXRDb25uZWN0aW9uVmVjdG9ySGFuZGxlci5oYW5kbGUoXG4gICAgICAgIG5ldyBHZXRDb25uZWN0aW9uVmVjdG9yUmVxdWVzdChcbiAgICAgICAgICAgIG91dHB1dFJlY3QsXG4gICAgICAgICAgICBpbnB1dFJlY3QsXG4gICAgICAgICAgICBjb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgICAgIG91dHB1dC5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICAgICAgaW5wdXQuZkNvbm5lY3RhYmxlU2lkZVxuICAgICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- export * from './f-external-item';
2
- export * from './f-line-alignment';
3
- export * from './f-selection-area';
@@ -1,5 +0,0 @@
1
- export declare class CreateConnectionEvent<T = any> {
2
- outputId: T;
3
- inputId: T;
4
- constructor(outputId: T, inputId: T);
5
- }
@@ -1,7 +0,0 @@
1
- export declare class ReassignConnectionEvent<T = any> {
2
- connectionId: T;
3
- outputId: T;
4
- oldInputId: T;
5
- newInputId: T;
6
- constructor(connectionId: T, outputId: T, oldInputId: T, newInputId: T);
7
- }