@foblex/flow 17.0.4 → 17.0.5

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 (186) hide show
  1. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.d.ts +10 -0
  2. package/domain/{get-connection-line/get-connection-line.request.d.ts → f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.d.ts} +3 -3
  3. package/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.d.ts +3 -0
  4. package/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.d.ts +3 -0
  5. package/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.d.ts +3 -0
  6. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +5 -0
  7. package/domain/f-connection/index.d.ts +1 -0
  8. package/domain/f-connection/providers.d.ts +2 -1
  9. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +2 -0
  10. package/domain/f-draggable/providers.d.ts +1 -1
  11. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/get-flow-state-connections.execution.d.ts +1 -1
  12. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/get-flow-state-nodes.execution.d.ts +1 -1
  13. package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state.execution.d.ts +1 -1
  14. package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-connection.d.ts +1 -1
  15. package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-connector.d.ts +1 -1
  16. package/domain/f-flow/index.d.ts +1 -0
  17. package/domain/f-flow/providers.d.ts +1 -1
  18. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.d.ts +12 -0
  19. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.d.ts +2 -0
  20. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.d.ts +2 -0
  21. package/domain/f-node/index.d.ts +1 -0
  22. package/domain/f-node/providers.d.ts +2 -1
  23. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +18 -0
  24. package/domain/f-selection/get-can-be-selected-items/i-can-be-selected.d.ts +6 -0
  25. package/domain/f-selection/get-can-be-selected-items/index.d.ts +3 -0
  26. package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +13 -0
  27. package/domain/f-selection/get-current-selection/get-current-selection.request.d.ts +2 -0
  28. package/domain/f-selection/get-current-selection/i-current-selection.d.ts +5 -0
  29. package/domain/f-selection/get-current-selection/index.d.ts +3 -0
  30. package/domain/f-selection/index.d.ts +2 -1
  31. package/domain/f-selection/providers.d.ts +4 -3
  32. package/domain/{get-element-rect-in-flow/get-element-rect-in-flow-request.d.ts → get-element-rounded-rect/get-element-rounded-rect-request.d.ts} +1 -1
  33. package/domain/get-element-rounded-rect/get-element-rounded-rect.execution.d.ts +13 -0
  34. package/domain/get-element-rounded-rect/index.d.ts +2 -0
  35. package/domain/{create-rounded-rect-from-element/create-rounded-rect-from-element-request.d.ts → get-normalized-element-rect/get-normalized-element-rect-request.d.ts} +1 -1
  36. package/domain/get-normalized-element-rect/get-normalized-element-rect.execution.d.ts +15 -0
  37. package/domain/get-normalized-element-rect/index.d.ts +2 -0
  38. package/domain/{get-position-in-flow/get-position-in-flow-request.d.ts → get-normalized-point/get-normalized-point-request.d.ts} +1 -1
  39. package/domain/get-normalized-point/get-normalized-point.execution.d.ts +11 -0
  40. package/domain/get-normalized-point/index.d.ts +2 -0
  41. package/domain/index.d.ts +3 -7
  42. package/domain/providers.d.ts +4 -7
  43. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.mjs +29 -0
  44. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +15 -0
  45. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +5 -0
  46. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +32 -0
  47. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +14 -0
  48. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +6 -0
  49. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +3 -3
  50. package/esm2022/domain/f-connection/index.mjs +2 -1
  51. package/esm2022/domain/f-connection/providers.mjs +3 -1
  52. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +4 -4
  53. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +10 -4
  54. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +3 -0
  55. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +34 -0
  56. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/index.mjs +3 -0
  57. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +7 -0
  58. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +51 -0
  59. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/index.mjs +3 -0
  60. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +41 -0
  61. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.request.mjs +3 -0
  62. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connection.mjs +2 -0
  63. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-connector.mjs +2 -0
  64. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +2 -0
  65. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state.mjs +2 -0
  66. package/esm2022/domain/f-flow/get-flow-state/index.mjs +10 -0
  67. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +9 -0
  68. package/esm2022/domain/f-flow/index.mjs +2 -1
  69. package/esm2022/domain/f-flow/providers.mjs +3 -1
  70. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +4 -2
  71. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +31 -0
  72. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.request.mjs +3 -0
  73. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.mjs +3 -0
  74. package/esm2022/domain/f-node/index.mjs +2 -1
  75. package/esm2022/domain/f-node/providers.mjs +3 -1
  76. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items-request.mjs +3 -0
  77. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +57 -0
  78. package/esm2022/domain/f-selection/get-can-be-selected-items/i-can-be-selected.mjs +2 -0
  79. package/esm2022/domain/f-selection/get-can-be-selected-items/index.mjs +4 -0
  80. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +41 -0
  81. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.request.mjs +3 -0
  82. package/esm2022/domain/f-selection/get-current-selection/i-current-selection.mjs +2 -0
  83. package/esm2022/domain/f-selection/get-current-selection/index.mjs +4 -0
  84. package/esm2022/domain/f-selection/index.mjs +3 -2
  85. package/esm2022/domain/f-selection/providers.mjs +6 -4
  86. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect-request.mjs +7 -0
  87. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect.execution.mjs +32 -0
  88. package/esm2022/domain/{get-element-rect-in-flow → get-element-rounded-rect}/index.mjs +3 -3
  89. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +7 -0
  90. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +40 -0
  91. package/esm2022/domain/get-normalized-element-rect/index.mjs +3 -0
  92. package/esm2022/domain/get-normalized-point/get-normalized-point-request.mjs +7 -0
  93. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +27 -0
  94. package/esm2022/domain/get-normalized-point/index.mjs +3 -0
  95. package/esm2022/domain/index.mjs +4 -8
  96. package/esm2022/domain/providers.mjs +7 -15
  97. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +4 -4
  98. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +4 -4
  99. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +3 -3
  100. package/esm2022/f-draggable/f-selection-change-event.mjs +4 -2
  101. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +3 -3
  102. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +3 -3
  103. package/esm2022/f-draggable/node/connection.drag-handler.mjs +3 -3
  104. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +3 -3
  105. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +3 -3
  106. package/esm2022/f-flow/f-flow.component.mjs +6 -6
  107. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +4 -4
  108. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +12 -11
  109. package/f-backgroud/providers.d.ts +1 -1
  110. package/f-connection/providers.d.ts +1 -1
  111. package/f-connectors/providers.d.ts +1 -1
  112. package/f-draggable/connections/providers.d.ts +1 -1
  113. package/f-draggable/f-selection-change-event.d.ts +4 -2
  114. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  115. package/f-draggable/node/providers.d.ts +1 -1
  116. package/f-draggable/providers.d.ts +1 -1
  117. package/f-flow/f-flow.component.d.ts +3 -4
  118. package/f-minimap/domain/providers.d.ts +1 -1
  119. package/f-node/providers.d.ts +1 -1
  120. package/f-selection-area/domain/selection-area.drag-handle.d.ts +2 -2
  121. package/f-storage/providers.d.ts +1 -1
  122. package/fesm2022/foblex-flow.mjs +363 -359
  123. package/fesm2022/foblex-flow.mjs.map +1 -1
  124. package/package.json +1 -1
  125. package/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.d.ts +0 -15
  126. package/domain/create-rounded-rect-from-element/index.d.ts +0 -2
  127. package/domain/f-selection/get-selection/get-selection.execution.d.ts +0 -11
  128. package/domain/f-selection/get-selection/get-selection.request.d.ts +0 -2
  129. package/domain/f-selection/get-selection/index.d.ts +0 -2
  130. package/domain/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +0 -19
  131. package/domain/get-can-be-selected-items/i-selectable-with-rect.d.ts +0 -6
  132. package/domain/get-can-be-selected-items/index.d.ts +0 -2
  133. package/domain/get-connection-line/get-connection-line.execution.d.ts +0 -13
  134. package/domain/get-connection-line/index.d.ts +0 -2
  135. package/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.d.ts +0 -16
  136. package/domain/get-element-rect-in-flow/index.d.ts +0 -2
  137. package/domain/get-position-in-flow/get-position-in-flow.execution.d.ts +0 -14
  138. package/domain/get-position-in-flow/index.d.ts +0 -2
  139. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.d.ts +0 -14
  140. package/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.d.ts +0 -2
  141. package/domain/get-scaled-node-rects-with-flow-position/index.d.ts +0 -2
  142. package/esm2022/domain/create-rounded-rect-from-element/create-rounded-rect-from-element-request.mjs +0 -7
  143. package/esm2022/domain/create-rounded-rect-from-element/create-rounded-rect-from-element.execution.mjs +0 -40
  144. package/esm2022/domain/create-rounded-rect-from-element/index.mjs +0 -3
  145. package/esm2022/domain/f-selection/get-selection/get-selection.execution.mjs +0 -36
  146. package/esm2022/domain/f-selection/get-selection/get-selection.request.mjs +0 -3
  147. package/esm2022/domain/f-selection/get-selection/index.mjs +0 -3
  148. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items-request.mjs +0 -3
  149. package/esm2022/domain/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +0 -60
  150. package/esm2022/domain/get-can-be-selected-items/i-selectable-with-rect.mjs +0 -2
  151. package/esm2022/domain/get-can-be-selected-items/index.mjs +0 -3
  152. package/esm2022/domain/get-connection-line/get-connection-line.execution.mjs +0 -65
  153. package/esm2022/domain/get-connection-line/get-connection-line.request.mjs +0 -15
  154. package/esm2022/domain/get-connection-line/index.mjs +0 -3
  155. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs +0 -7
  156. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.execution.mjs +0 -43
  157. package/esm2022/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections-request.mjs +0 -3
  158. package/esm2022/domain/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +0 -34
  159. package/esm2022/domain/get-flow-state/get-flow-state-connections/index.mjs +0 -3
  160. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +0 -7
  161. package/esm2022/domain/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +0 -51
  162. package/esm2022/domain/get-flow-state/get-flow-state-nodes/index.mjs +0 -3
  163. package/esm2022/domain/get-flow-state/get-flow-state.execution.mjs +0 -41
  164. package/esm2022/domain/get-flow-state/get-flow-state.request.mjs +0 -3
  165. package/esm2022/domain/get-flow-state/i-f-flow-state-connection.mjs +0 -2
  166. package/esm2022/domain/get-flow-state/i-f-flow-state-connector.mjs +0 -2
  167. package/esm2022/domain/get-flow-state/i-f-flow-state-node.mjs +0 -2
  168. package/esm2022/domain/get-flow-state/i-f-flow-state.mjs +0 -2
  169. package/esm2022/domain/get-flow-state/index.mjs +0 -10
  170. package/esm2022/domain/get-flow-state/providers.mjs +0 -9
  171. package/esm2022/domain/get-position-in-flow/get-position-in-flow-request.mjs +0 -7
  172. package/esm2022/domain/get-position-in-flow/get-position-in-flow.execution.mjs +0 -33
  173. package/esm2022/domain/get-position-in-flow/index.mjs +0 -3
  174. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.execution.mjs +0 -35
  175. package/esm2022/domain/get-scaled-node-rects-with-flow-position/get-scaled-node-rects-with-flow-position.request.mjs +0 -3
  176. package/esm2022/domain/get-scaled-node-rects-with-flow-position/index.mjs +0 -3
  177. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/get-flow-state-connections-request.d.ts +0 -0
  178. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-connections/index.d.ts +0 -0
  179. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/get-flow-state-nodes-request.d.ts +0 -0
  180. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state-nodes/index.d.ts +0 -0
  181. /package/domain/{get-flow-state → f-flow/get-flow-state}/get-flow-state.request.d.ts +0 -0
  182. /package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state-node.d.ts +0 -0
  183. /package/domain/{get-flow-state → f-flow/get-flow-state}/i-f-flow-state.d.ts +0 -0
  184. /package/domain/{get-flow-state → f-flow/get-flow-state}/index.d.ts +0 -0
  185. /package/domain/{get-flow-state → f-flow/get-flow-state}/providers.d.ts +0 -0
  186. /package/domain/{get-can-be-selected-items → f-selection/get-can-be-selected-items}/get-can-be-selected-items-request.d.ts +0 -0
@@ -0,0 +1,57 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { RectExtensions } from '@foblex/2d';
4
+ import { GetCanBeSelectedItemsRequest } from './get-can-be-selected-items-request';
5
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
6
+ import { FComponentsStore } from '../../../f-storage';
7
+ import { GetNormalizedElementRectRequest } from '../../get-normalized-element-rect';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../f-draggable";
10
+ let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
11
+ fDraggableDataContext;
12
+ _fMediator = inject(FMediator);
13
+ _fComponentsStore = inject(FComponentsStore);
14
+ get fNodes() {
15
+ return this._fComponentsStore.fNodes;
16
+ }
17
+ get fConnections() {
18
+ return this._fComponentsStore.fConnections;
19
+ }
20
+ get transform() {
21
+ return this._fComponentsStore.fCanvas.transform;
22
+ }
23
+ constructor(fDraggableDataContext) {
24
+ this.fDraggableDataContext = fDraggableDataContext;
25
+ }
26
+ handle() {
27
+ return [...this.getNodesWithRects(), ...this.getConnectionsWithRects()].filter((x) => {
28
+ return !this.fDraggableDataContext.selectedItems.includes(x.element);
29
+ });
30
+ }
31
+ getNodesWithRects() {
32
+ return this.fNodes.filter((x) => !x.fSelectionDisabled).map((x) => {
33
+ return {
34
+ element: x,
35
+ rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement)), this.transform.scale)
36
+ };
37
+ });
38
+ }
39
+ getConnectionsWithRects() {
40
+ return this.fConnections.filter((x) => !x.fSelectionDisabled).map((x) => {
41
+ return {
42
+ element: x,
43
+ rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.boundingElement)), this.transform.scale)
44
+ };
45
+ });
46
+ }
47
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution, deps: [{ token: i1.FDraggableDataContext }], target: i0.ɵɵFactoryTarget.Injectable });
48
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution });
49
+ };
50
+ GetCanBeSelectedItemsExecution = __decorate([
51
+ FExecutionRegister(GetCanBeSelectedItemsRequest)
52
+ ], GetCanBeSelectedItemsExecution);
53
+ export { GetCanBeSelectedItemsExecution };
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCanBeSelectedItemsExecution, decorators: [{
55
+ type: Injectable
56
+ }], ctorParameters: () => [{ type: i1.FDraggableDataContext }] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQTBCLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVwRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUduRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUk3RSxJQUFNLDhCQUE4QixHQUFwQyxNQUFNLDhCQUE4QjtJQWtCN0I7SUFoQkosVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVyRCxJQUFZLE1BQU07UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFZLFlBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFDWSxxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUV4RCxDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sQ0FBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyRixPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hFLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFRLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQy9FLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUNyQjthQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RSxPQUFPO2dCQUNMLE9BQU8sRUFBRSxDQUFDO2dCQUNWLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBUSxJQUFJLCtCQUErQixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUNuRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FDckI7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQWxEVSw4QkFBOEI7MkdBQTlCLDhCQUE4Qjs7QUFBOUIsOEJBQThCO0lBRDFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO0dBQ3BDLDhCQUE4QixDQW1EMUM7OzJGQW5EWSw4QkFBOEI7a0JBRjFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElSZWN0LCBJVHJhbnNmb3JtTW9kZWwsIFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBJQ2FuQmVTZWxlY3RlZCB9IGZyb20gJy4vaS1jYW4tYmUtc2VsZWN0ZWQnO1xuaW1wb3J0IHsgR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdCB9IGZyb20gJy4vZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy1yZXF1ZXN0JztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uL2dldC1ub3JtYWxpemVkLWVsZW1lbnQtcmVjdCc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Q2FuQmVTZWxlY3RlZEl0ZW1zUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRDYW5CZVNlbGVjdGVkSXRlbXNFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPHZvaWQsIElDYW5CZVNlbGVjdGVkW10+IHtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBmTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZDb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoKTogSUNhbkJlU2VsZWN0ZWRbXSB7XG4gICAgcmV0dXJuIFsgLi4udGhpcy5nZXROb2Rlc1dpdGhSZWN0cygpLCAuLi50aGlzLmdldENvbm5lY3Rpb25zV2l0aFJlY3RzKCkgXS5maWx0ZXIoKHgpID0+IHtcbiAgICAgIHJldHVybiAhdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyh4LmVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2Rlc1dpdGhSZWN0cygpOiBJQ2FuQmVTZWxlY3RlZFtdIHtcbiAgICByZXR1cm4gdGhpcy5mTm9kZXMuZmlsdGVyKCh4KSA9PiAheC5mU2VsZWN0aW9uRGlzYWJsZWQpLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWxlbWVudDogeCxcbiAgICAgICAgcmVjdDogUmVjdEV4dGVuc2lvbnMubXVsdChcbiAgICAgICAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QoeC5ob3N0RWxlbWVudCkpLFxuICAgICAgICAgIHRoaXMudHJhbnNmb3JtLnNjYWxlXG4gICAgICAgIClcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbm5lY3Rpb25zV2l0aFJlY3RzKCk6IElDYW5CZVNlbGVjdGVkW10ge1xuICAgIHJldHVybiB0aGlzLmZDb25uZWN0aW9ucy5maWx0ZXIoKHgpID0+ICF4LmZTZWxlY3Rpb25EaXNhYmxlZCkubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbGVtZW50OiB4LFxuICAgICAgICByZWN0OiBSZWN0RXh0ZW5zaW9ucy5tdWx0KFxuICAgICAgICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCh4LmJvdW5kaW5nRWxlbWVudCkpLFxuICAgICAgICAgIHRoaXMudHJhbnNmb3JtLnNjYWxlXG4gICAgICAgIClcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jYW4tYmUtc2VsZWN0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zL2ktY2FuLWJlLXNlbGVjdGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUNhbkNoYW5nZVNlbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21peGlucyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNhbkJlU2VsZWN0ZWQge1xuXG4gIGVsZW1lbnQ6IElDYW5DaGFuZ2VTZWxlY3Rpb247XG5cbiAgcmVjdDogSVJlY3Q7XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './get-can-be-selected-items.execution';
2
+ export * from './get-can-be-selected-items-request';
3
+ export * from './i-can-be-selected';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy1yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWNhbi1iZS1zZWxlY3RlZCc7XG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { __decorate } from "tslib";
2
+ import { GetCurrentSelectionRequest } from './get-current-selection.request';
3
+ import { inject, Injectable } from '@angular/core';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { FDraggableDataContext } from '../../../f-draggable';
6
+ import * as i0 from "@angular/core";
7
+ let GetCurrentSelectionExecution = class GetCurrentSelectionExecution {
8
+ _fDraggableDataContext = inject(FDraggableDataContext);
9
+ handle() {
10
+ return {
11
+ nodes: this._getSelectedNodes(),
12
+ groups: this._getSelectedGroups(),
13
+ connections: this._getSelectedConnections()
14
+ };
15
+ }
16
+ _getSelectedNodes() {
17
+ return this._fDraggableDataContext.selectedItems
18
+ .filter(x => x.hostElement.classList.contains('f-node'))
19
+ .map(x => x.hostElement.dataset['fNodeId']);
20
+ }
21
+ _getSelectedGroups() {
22
+ return this._fDraggableDataContext.selectedItems
23
+ .filter(x => x.hostElement.classList.contains('f-group'))
24
+ .map(x => x.hostElement.dataset['fGroupId']);
25
+ }
26
+ _getSelectedConnections() {
27
+ return this._fDraggableDataContext.selectedItems
28
+ .filter(x => !x.hostElement.classList.contains('f-node') && !x.hostElement.classList.contains('f-group'))
29
+ .map(x => x.hostElement.id);
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCurrentSelectionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
32
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCurrentSelectionExecution });
33
+ };
34
+ GetCurrentSelectionExecution = __decorate([
35
+ FExecutionRegister(GetCurrentSelectionRequest)
36
+ ], GetCurrentSelectionExecution);
37
+ export { GetCurrentSelectionExecution };
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetCurrentSelectionExecution, decorators: [{
39
+ type: Injectable
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWN1cnJlbnQtc2VsZWN0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytc2VsZWN0aW9uL2dldC1jdXJyZW50LXNlbGVjdGlvbi9nZXQtY3VycmVudC1zZWxlY3Rpb24uZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQXlCLE1BQU0sc0JBQXNCLENBQUM7O0FBSzdFLElBQU0sNEJBQTRCLEdBQWxDLE1BQU0sNEJBQTRCO0lBRS9CLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXhELE1BQU07UUFDWCxPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2pDLFdBQVcsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUU7U0FDNUMsQ0FBQTtJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYTthQUM3QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdkQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUUsU0FBUyxDQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWE7YUFDN0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFFLFVBQVUsQ0FBRyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhO2FBQzdDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQzt1R0E1QlUsNEJBQTRCOzJHQUE1Qiw0QkFBNEI7O0FBQTVCLDRCQUE0QjtJQUR4QyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQztHQUNsQyw0QkFBNEIsQ0E2QnhDOzsyRkE3QlksNEJBQTRCO2tCQUZ4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0Q3VycmVudFNlbGVjdGlvblJlcXVlc3QgfSBmcm9tICcuL2dldC1jdXJyZW50LXNlbGVjdGlvbi5yZXF1ZXN0JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IElDdXJyZW50U2VsZWN0aW9uIH0gZnJvbSAnLi9pLWN1cnJlbnQtc2VsZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRDdXJyZW50U2VsZWN0aW9uRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdCwgSUN1cnJlbnRTZWxlY3Rpb24+IHtcblxuICBwcml2YXRlIF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcblxuICBwdWJsaWMgaGFuZGxlKCk6IElDdXJyZW50U2VsZWN0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgbm9kZXM6IHRoaXMuX2dldFNlbGVjdGVkTm9kZXMoKSxcbiAgICAgIGdyb3VwczogdGhpcy5fZ2V0U2VsZWN0ZWRHcm91cHMoKSxcbiAgICAgIGNvbm5lY3Rpb25zOiB0aGlzLl9nZXRTZWxlY3RlZENvbm5lY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3RlZE5vZGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXNcbiAgICAgIC5maWx0ZXIoeCA9PiB4Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZi1ub2RlJykpXG4gICAgICAubWFwKHggPT4geC5ob3N0RWxlbWVudC5kYXRhc2V0WyAnZk5vZGVJZCcgXSEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U2VsZWN0ZWRHcm91cHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLmZpbHRlcih4ID0+IHguaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmLWdyb3VwJykpXG4gICAgICAubWFwKHggPT4geC5ob3N0RWxlbWVudC5kYXRhc2V0WyAnZkdyb3VwSWQnIF0hKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFNlbGVjdGVkQ29ubmVjdGlvbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLmZpbHRlcih4ID0+ICF4Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZi1ub2RlJykgJiYgIXguaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmLWdyb3VwJykpXG4gICAgICAubWFwKHggPT4geC5ob3N0RWxlbWVudC5pZCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class GetCurrentSelectionRequest {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWN1cnJlbnQtc2VsZWN0aW9uLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9nZXQtY3VycmVudC1zZWxlY3Rpb24vZ2V0LWN1cnJlbnQtc2VsZWN0aW9uLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEwQjtDQUV0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHZXRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdCB7XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jdXJyZW50LXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytc2VsZWN0aW9uL2dldC1jdXJyZW50LXNlbGVjdGlvbi9pLWN1cnJlbnQtc2VsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElDdXJyZW50U2VsZWN0aW9uIHtcblxuICBub2Rlczogc3RyaW5nW107XG5cbiAgZ3JvdXBzOiBzdHJpbmdbXTtcblxuICBjb25uZWN0aW9uczogc3RyaW5nW107XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './get-current-selection.execution';
2
+ export * from './get-current-selection.request';
3
+ export * from './i-current-selection';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9nZXQtY3VycmVudC1zZWxlY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1jdXJyZW50LXNlbGVjdGlvbi5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jdXJyZW50LXNlbGVjdGlvbi5yZXF1ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWN1cnJlbnQtc2VsZWN0aW9uJztcbiJdfQ==
@@ -1,7 +1,8 @@
1
1
  export * from './clear-selection';
2
- export * from './get-selection';
2
+ export * from './get-can-be-selected-items';
3
+ export * from './get-current-selection';
3
4
  export * from './select';
4
5
  export * from './select-all';
5
6
  export * from './select-and-update-node-layer';
6
7
  export * from './providers';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsaUJBQWlCLENBQUM7QUFFaEMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xlYXItc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1hbGwnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbGVhci1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jdXJyZW50LXNlbGVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtYWxsJztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
@@ -1,13 +1,15 @@
1
1
  import { ClearSelectionExecution } from './clear-selection';
2
- import { GetSelectionExecution } from './get-selection';
2
+ import { GetCurrentSelectionExecution } from './get-current-selection';
3
3
  import { SelectExecution } from './select';
4
4
  import { SelectAllExecution } from './select-all';
5
- import { SelectAndUpdateNodeLayerExecution } from './select-and-update-node-layer/select-and-update-node-layer.execution';
5
+ import { SelectAndUpdateNodeLayerExecution } from './select-and-update-node-layer';
6
+ import { GetCanBeSelectedItemsExecution } from './get-can-be-selected-items';
6
7
  export const F_SELECTION_FEATURES = [
7
8
  ClearSelectionExecution,
8
- GetSelectionExecution,
9
+ GetCanBeSelectedItemsExecution,
10
+ GetCurrentSelectionExecution,
9
11
  SelectExecution,
10
12
  SelectAllExecution,
11
13
  SelectAndUpdateNodeLayerExecution
12
14
  ];
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1zZWxlY3Rpb24vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFDTCxpQ0FBaUMsRUFDbEMsTUFBTSx1RUFBdUUsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUVsQyx1QkFBdUI7SUFFdkIscUJBQXFCO0lBRXJCLGVBQWU7SUFFZixrQkFBa0I7SUFFbEIsaUNBQWlDO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGVhclNlbGVjdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vY2xlYXItc2VsZWN0aW9uJztcbmltcG9ydCB7IEdldFNlbGVjdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbic7XG5pbXBvcnQgeyBTZWxlY3RFeGVjdXRpb24gfSBmcm9tICcuL3NlbGVjdCc7XG5pbXBvcnQgeyBTZWxlY3RBbGxFeGVjdXRpb24gfSBmcm9tICcuL3NlbGVjdC1hbGwnO1xuaW1wb3J0IHtcbiAgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyRXhlY3V0aW9uXG59IGZyb20gJy4vc2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCBjb25zdCBGX1NFTEVDVElPTl9GRUFUVVJFUyA9IFtcblxuICBDbGVhclNlbGVjdGlvbkV4ZWN1dGlvbixcblxuICBHZXRTZWxlY3Rpb25FeGVjdXRpb24sXG5cbiAgU2VsZWN0RXhlY3V0aW9uLFxuXG4gIFNlbGVjdEFsbEV4ZWN1dGlvbixcblxuICBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJFeGVjdXRpb25cbl07XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1zZWxlY3Rpb24vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBRWxDLHVCQUF1QjtJQUV2Qiw4QkFBOEI7SUFFOUIsNEJBQTRCO0lBRTVCLGVBQWU7SUFFZixrQkFBa0I7SUFFbEIsaUNBQWlDO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGVhclNlbGVjdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vY2xlYXItc2VsZWN0aW9uJztcbmltcG9ydCB7IEdldEN1cnJlbnRTZWxlY3Rpb25FeGVjdXRpb24gfSBmcm9tICcuL2dldC1jdXJyZW50LXNlbGVjdGlvbic7XG5pbXBvcnQgeyBTZWxlY3RFeGVjdXRpb24gfSBmcm9tICcuL3NlbGVjdCc7XG5pbXBvcnQgeyBTZWxlY3RBbGxFeGVjdXRpb24gfSBmcm9tICcuL3NlbGVjdC1hbGwnO1xuaW1wb3J0IHsgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyRXhlY3V0aW9uIH0gZnJvbSAnLi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyJztcbmltcG9ydCB7IEdldENhbkJlU2VsZWN0ZWRJdGVtc0V4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcyc7XG5cbmV4cG9ydCBjb25zdCBGX1NFTEVDVElPTl9GRUFUVVJFUyA9IFtcblxuICBDbGVhclNlbGVjdGlvbkV4ZWN1dGlvbixcblxuICBHZXRDYW5CZVNlbGVjdGVkSXRlbXNFeGVjdXRpb24sXG5cbiAgR2V0Q3VycmVudFNlbGVjdGlvbkV4ZWN1dGlvbixcblxuICBTZWxlY3RFeGVjdXRpb24sXG5cbiAgU2VsZWN0QWxsRXhlY3V0aW9uLFxuXG4gIFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllckV4ZWN1dGlvblxuXTtcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export class GetElementRoundedRectRequest {
2
+ element;
3
+ constructor(element) {
4
+ this.element = element;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtcm91bmRlZC1yZWN0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QvZ2V0LWVsZW1lbnQtcm91bmRlZC1yZWN0LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDRCQUE0QjtJQUU5QjtJQURULFlBQ1MsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFFMUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEdldEVsZW1lbnRSb3VuZGVkUmVjdFJlcXVlc3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LFxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,32 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { GetElementRoundedRectRequest } from './get-element-rounded-rect-request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { BrowserService } from '@foblex/platform';
6
+ import { RoundedRect, RectExtensions } from '@foblex/2d';
7
+ import * as i0 from "@angular/core";
8
+ let GetElementRoundedRectExecution = class GetElementRoundedRectExecution {
9
+ _fBrowser = inject(BrowserService);
10
+ handle(request) {
11
+ return this._getRoundedRect(RectExtensions.fromElement(request.element), request.element, this._getComputedStyle(request.element));
12
+ }
13
+ _getRoundedRect(rect, element, styles) {
14
+ return new RoundedRect(rect.x, rect.y, rect.width, rect.height, this._toPixels(styles.borderTopLeftRadius, element, styles.fontSize), this._toPixels(styles.borderTopRightRadius, element, styles.fontSize), this._toPixels(styles.borderBottomRightRadius, element, styles.fontSize), this._toPixels(styles.borderBottomLeftRadius, element, styles.fontSize));
15
+ }
16
+ _getComputedStyle(element) {
17
+ return this._fBrowser.window.getComputedStyle(element);
18
+ }
19
+ _toPixels(value, element, fontSize) {
20
+ return this._fBrowser.toPixels(value, element.clientWidth, element.clientHeight, fontSize) || 0;
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRoundedRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRoundedRectExecution });
24
+ };
25
+ GetElementRoundedRectExecution = __decorate([
26
+ FExecutionRegister(GetElementRoundedRectRequest)
27
+ ], GetElementRoundedRectExecution);
28
+ export { GetElementRoundedRectExecution };
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetElementRoundedRectExecution, decorators: [{
30
+ type: Injectable
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtcm91bmRlZC1yZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2dldC1lbGVtZW50LXJvdW5kZWQtcmVjdC9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQVMsTUFBTSxZQUFZLENBQUM7O0FBSXpELElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBRWpDLFNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFcEMsTUFBTSxDQUFDLE9BQXFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FDekIsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUN0RyxDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFXLEVBQUUsT0FBaUMsRUFBRSxNQUEyQjtRQUNqRyxPQUFPLElBQUksV0FBVyxDQUNwQixJQUFJLENBQUMsQ0FBQyxFQUNOLElBQUksQ0FBQyxDQUFDLEVBQ04sSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ3JFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBaUM7UUFDekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWEsRUFBRSxPQUFpQyxFQUFFLFFBQWdCO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDakcsQ0FBQzt1R0E3QlUsOEJBQThCOzJHQUE5Qiw4QkFBOEI7O0FBQTlCLDhCQUE4QjtJQUQxQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQztHQUNwQyw4QkFBOEIsQ0E4QjFDOzsyRkE5QlksOEJBQThCO2tCQUYxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXRFbGVtZW50Um91bmRlZFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBSb3VuZGVkUmVjdCwgUmVjdEV4dGVuc2lvbnMsIElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0RWxlbWVudFJvdW5kZWRSZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRFbGVtZW50Um91bmRlZFJlY3RFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldEVsZW1lbnRSb3VuZGVkUmVjdFJlcXVlc3QsIFJvdW5kZWRSZWN0PiB7XG5cbiAgcHJpdmF0ZSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0RWxlbWVudFJvdW5kZWRSZWN0UmVxdWVzdCk6IFJvdW5kZWRSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Um91bmRlZFJlY3QoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChyZXF1ZXN0LmVsZW1lbnQpLCByZXF1ZXN0LmVsZW1lbnQsIHRoaXMuX2dldENvbXB1dGVkU3R5bGUocmVxdWVzdC5lbGVtZW50KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRSb3VuZGVkUmVjdChyZWN0OiBJUmVjdCwgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50LCBzdHlsZXM6IENTU1N0eWxlRGVjbGFyYXRpb24pOiBSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChcbiAgICAgIHJlY3QueCxcbiAgICAgIHJlY3QueSxcbiAgICAgIHJlY3Qud2lkdGgsXG4gICAgICByZWN0LmhlaWdodCxcbiAgICAgIHRoaXMuX3RvUGl4ZWxzKHN0eWxlcy5ib3JkZXJUb3BMZWZ0UmFkaXVzLCBlbGVtZW50LCBzdHlsZXMuZm9udFNpemUpLFxuICAgICAgdGhpcy5fdG9QaXhlbHMoc3R5bGVzLmJvcmRlclRvcFJpZ2h0UmFkaXVzLCBlbGVtZW50LCBzdHlsZXMuZm9udFNpemUpLFxuICAgICAgdGhpcy5fdG9QaXhlbHMoc3R5bGVzLmJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzLCBlbGVtZW50LCBzdHlsZXMuZm9udFNpemUpLFxuICAgICAgdGhpcy5fdG9QaXhlbHMoc3R5bGVzLmJvcmRlckJvdHRvbUxlZnRSYWRpdXMsIGVsZW1lbnQsIHN0eWxlcy5mb250U2l6ZSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBDU1NTdHlsZURlY2xhcmF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZkJyb3dzZXIud2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF90b1BpeGVscyh2YWx1ZTogc3RyaW5nLCBlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQsIGZvbnRTaXplOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9mQnJvd3Nlci50b1BpeGVscyh2YWx1ZSwgZWxlbWVudC5jbGllbnRXaWR0aCwgZWxlbWVudC5jbGllbnRIZWlnaHQsIGZvbnRTaXplKSB8fCAwXG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './get-element-rect-in-flow.execution';
2
- export * from './get-element-rect-in-flow-request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3ctcmVxdWVzdCc7XG4iXX0=
1
+ export * from './get-element-rounded-rect.execution';
2
+ export * from './get-element-rounded-rect-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QtcmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class GetNormalizedElementRectRequest {
2
+ element;
3
+ constructor(element) {
4
+ this.element = element;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtZWxlbWVudC1yZWN0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QvZ2V0LW5vcm1hbGl6ZWQtZWxlbWVudC1yZWN0LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLCtCQUErQjtJQUU3QjtJQURYLFlBQ1csT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFFNUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3Qge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50XG4gICAgKSB7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,40 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { GetNormalizedElementRectRequest } from './get-normalized-element-rect-request';
4
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
+ import { FComponentsStore } from '../../f-storage';
6
+ import { RoundedRect, Point, SizeExtensions } from '@foblex/2d';
7
+ import { GetElementRoundedRectRequest } from '../get-element-rounded-rect';
8
+ import * as i0 from "@angular/core";
9
+ let GetNormalizedElementRectExecution = class GetNormalizedElementRectExecution {
10
+ _fComponentsStore = inject(FComponentsStore);
11
+ _fMediator = inject(FMediator);
12
+ get _transform() {
13
+ return this._fComponentsStore.fCanvas.transform;
14
+ }
15
+ handle(request) {
16
+ const systemRect = this._getElementRoundedRect(request.element);
17
+ const position = this._normalizePosition(systemRect);
18
+ const size = this._normalizeSize(systemRect);
19
+ return new RoundedRect(position.x, position.y, size.width, size.height, systemRect.radius1, systemRect.radius2, systemRect.radius3, systemRect.radius4);
20
+ }
21
+ _getElementRoundedRect(element) {
22
+ return this._fMediator.send(new GetElementRoundedRectRequest(element));
23
+ }
24
+ _normalizePosition(rect) {
25
+ return Point.fromPoint(rect).elementTransform(this._fComponentsStore.flowHost).sub(this._transform.scaledPosition).sub(this._transform.position).div(this._transform.scale);
26
+ }
27
+ _normalizeSize(rect) {
28
+ return SizeExtensions.initialize(rect.width / this._transform.scale, rect.height / this._transform.scale);
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedElementRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedElementRectExecution });
32
+ };
33
+ GetNormalizedElementRectExecution = __decorate([
34
+ FExecutionRegister(GetNormalizedElementRectRequest)
35
+ ], GetNormalizedElementRectExecution);
36
+ export { GetNormalizedElementRectExecution };
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedElementRectExecution, decorators: [{
38
+ type: Injectable
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtZWxlbWVudC1yZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2dldC1ub3JtYWxpemVkLWVsZW1lbnQtcmVjdC9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFnQixXQUFXLEVBQWlCLEtBQUssRUFBRSxjQUFjLEVBQW9CLE1BQU0sWUFBWSxDQUFDO0FBQy9HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUlwRSxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUVwQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXZDLElBQVksVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBd0M7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxPQUFPLElBQUksV0FBVyxDQUNwQixRQUFRLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUMvQyxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUMvRSxDQUFDO0lBQ0osQ0FBQztJQUVPLHNCQUFzQixDQUFDLE9BQWlDO1FBQzlELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3pCLElBQUksNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQzFDLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBa0I7UUFDM0MsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5SyxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQWtCO1FBQ3ZDLE9BQU8sY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RyxDQUFDO3VHQWhDVSxpQ0FBaUM7MkdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQWlDN0M7OzJGQWpDWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QgfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLWVsZW1lbnQtcmVjdC1yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElSb3VuZGVkUmVjdCwgUm91bmRlZFJlY3QsIElQb2ludCwgSVNpemUsIFBvaW50LCBTaXplRXh0ZW5zaW9ucywgSVRyYW5zZm9ybU1vZGVsICB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0RWxlbWVudFJvdW5kZWRSZWN0UmVxdWVzdCB9IGZyb20gJy4uL2dldC1lbGVtZW50LXJvdW5kZWQtcmVjdCc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QsIElSb3VuZGVkUmVjdD4ge1xuXG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QpOiBJUm91bmRlZFJlY3Qge1xuICAgIGNvbnN0IHN5c3RlbVJlY3QgPSB0aGlzLl9nZXRFbGVtZW50Um91bmRlZFJlY3QocmVxdWVzdC5lbGVtZW50KTtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuX25vcm1hbGl6ZVBvc2l0aW9uKHN5c3RlbVJlY3QpO1xuICAgIGNvbnN0IHNpemUgPSB0aGlzLl9ub3JtYWxpemVTaXplKHN5c3RlbVJlY3QpO1xuXG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChcbiAgICAgIHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIHNpemUud2lkdGgsIHNpemUuaGVpZ2h0LFxuICAgICAgc3lzdGVtUmVjdC5yYWRpdXMxLCBzeXN0ZW1SZWN0LnJhZGl1czIsIHN5c3RlbVJlY3QucmFkaXVzMywgc3lzdGVtUmVjdC5yYWRpdXM0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEVsZW1lbnRSb3VuZGVkUmVjdChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBJUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3Iuc2VuZDxJUm91bmRlZFJlY3Q+KFxuICAgICAgbmV3IEdldEVsZW1lbnRSb3VuZGVkUmVjdFJlcXVlc3QoZWxlbWVudClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfbm9ybWFsaXplUG9zaXRpb24ocmVjdDogSVJvdW5kZWRSZWN0KTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHJlY3QpLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mbG93SG9zdCkuc3ViKHRoaXMuX3RyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbikuc3ViKHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbikuZGl2KHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gIH1cblxuICBwcml2YXRlIF9ub3JtYWxpemVTaXplKHJlY3Q6IElSb3VuZGVkUmVjdCk6IElTaXplIHtcbiAgICByZXR1cm4gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZShyZWN0LndpZHRoIC8gdGhpcy5fdHJhbnNmb3JtLnNjYWxlLCByZWN0LmhlaWdodCAvIHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './get-normalized-element-rect.execution';
2
+ export * from './get-normalized-element-rect-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QtcmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class GetNormalizedPointRequest {
2
+ position;
3
+ constructor(position) {
4
+ this.position = position;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcG9pbnQtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2dldC1ub3JtYWxpemVkLXBvaW50L2dldC1ub3JtYWxpemVkLXBvaW50LXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHlCQUF5QjtJQUUzQjtJQURULFlBQ1MsUUFBZ0I7UUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUV6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcG9zaXRpb246IElQb2ludFxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,27 @@
1
+ import { __decorate } from "tslib";
2
+ import { Point } from '@foblex/2d';
3
+ import { inject, Injectable } from '@angular/core';
4
+ import { GetNormalizedPointRequest } from './get-normalized-point-request';
5
+ import { FComponentsStore } from '../../f-storage';
6
+ import { FExecutionRegister } from '@foblex/mediator';
7
+ import * as i0 from "@angular/core";
8
+ let GetNormalizedPointExecution = class GetNormalizedPointExecution {
9
+ _fComponentsStore = inject(FComponentsStore);
10
+ get _transform() {
11
+ return this._fComponentsStore.fCanvas.transform;
12
+ }
13
+ handle(request) {
14
+ return Point.fromPoint(request.position).elementTransform(this._fComponentsStore.flowHost)
15
+ .sub(this._transform.scaledPosition).sub(this._transform.position).div(this._transform.scale);
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedPointExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedPointExecution });
19
+ };
20
+ GetNormalizedPointExecution = __decorate([
21
+ FExecutionRegister(GetNormalizedPointRequest)
22
+ ], GetNormalizedPointExecution);
23
+ export { GetNormalizedPointExecution };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedPointExecution, decorators: [{
25
+ type: Injectable
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQvZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQTJCLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFJM0QsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFFOUIsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFckQsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFrQztRQUM5QyxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7YUFDdkYsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsQ0FBQzt1R0FYVSwyQkFBMkI7MkdBQTNCLDJCQUEyQjs7QUFBM0IsMkJBQTJCO0lBRHZDLGtCQUFrQixDQUFDLHlCQUF5QixDQUFDO0dBQ2pDLDJCQUEyQixDQVl2Qzs7MkZBWlksMkJBQTJCO2tCQUZ2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QgfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBvaW50LXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXROb3JtYWxpemVkUG9pbnRSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vcm1hbGl6ZWRQb2ludEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCwgSVBvaW50PiB7XG5cbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwcml2YXRlIGdldCBfdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXROb3JtYWxpemVkUG9pbnRSZXF1ZXN0KTogSVBvaW50IHtcbiAgICByZXR1cm4gUG9pbnQuZnJvbVBvaW50KHJlcXVlc3QucG9zaXRpb24pLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mbG93SG9zdClcbiAgICAgIC5zdWIodGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKS5zdWIodGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uKS5kaXYodGhpcy5fdHJhbnNmb3JtLnNjYWxlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './get-normalized-point.execution';
2
+ export * from './get-normalized-point-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1wb2ludC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBvaW50LmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQtcmVxdWVzdCc7XG4iXX0=
@@ -1,4 +1,4 @@
1
- export * from './create-rounded-rect-from-element';
1
+ export * from './get-element-rounded-rect';
2
2
  export * from './f-background';
3
3
  export * from './f-canvas';
4
4
  export * from './f-connection';
@@ -8,13 +8,9 @@ export * from './f-flow';
8
8
  export * from './f-line-alignment';
9
9
  export * from './f-node';
10
10
  export * from './f-selection';
11
- export * from './get-can-be-selected-items';
12
11
  export * from './get-deep-children-nodes-and-groups';
13
- export * from './get-connection-line';
14
- export * from './get-element-rect-in-flow';
15
- export * from './get-flow-state';
16
- export * from './get-scaled-node-rects-with-flow-position';
17
- export * from './get-position-in-flow';
12
+ export * from './get-normalized-element-rect';
13
+ export * from './get-normalized-point';
18
14
  export * from './sort-item-layers';
19
15
  export * from './update-item-and-children-layers';
20
16
  export * from './create-dom-element';
@@ -22,4 +18,4 @@ export * from './i-map';
22
18
  export * from './is-mobile';
23
19
  export * from './providers';
24
20
  export * from './transition-end';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsNENBQTRDLENBQUM7QUFFM0QsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLFNBQVMsQ0FBQztBQUV4QixjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtcm91bmRlZC1yZWN0LWZyb20tZWxlbWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1iYWNrZ3JvdW5kJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNhbnZhcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZHJhZ2dhYmxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtbGluZS1hbGlnbm1lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1kZWVwLWNoaWxkcmVuLW5vZGVzLWFuZC1ncm91cHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jb25uZWN0aW9uLWxpbmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1lbGVtZW50LXJlY3QtaW4tZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWZsb3ctc3RhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1zY2FsZWQtbm9kZS1yZWN0cy13aXRoLWZsb3ctcG9zaXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1wb3NpdGlvbi1pbi1mbG93JztcblxuZXhwb3J0ICogZnJvbSAnLi9zb3J0LWl0ZW0tbGF5ZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtZG9tLWVsZW1lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktbWFwJztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1tb2JpbGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNpdGlvbi1lbmQnO1xuXG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxTQUFTLENBQUM7QUFFeEIsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LWVsZW1lbnQtcm91bmRlZC1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWJhY2tncm91bmQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNvbm5lY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdG9ycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kcmFnZ2FibGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1saW5lLWFsaWdubWVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1ub2RlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtZWxlbWVudC1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1wb2ludCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc29ydC1pdGVtLWxheWVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWRvbS1lbGVtZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9pLW1hcCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RyYW5zaXRpb24tZW5kJztcblxuIl19
@@ -1,13 +1,9 @@
1
- import { GetConnectionLineExecution } from './get-connection-line';
2
- import { GetElementRectInFlowExecution } from './get-element-rect-in-flow';
1
+ import { GetNormalizedElementRectExecution } from './get-normalized-element-rect';
3
2
  import { MoveFrontElementsBeforeTargetElementExecution, UpdateItemAndChildrenLayersExecution } from './update-item-and-children-layers';
4
- import { GetPositionInFlowExecution } from './get-position-in-flow';
5
- import { GetCanBeSelectedItemsExecution } from './get-can-be-selected-items';
6
- import { GetScaledNodeRectsWithFlowPositionExecution } from './get-scaled-node-rects-with-flow-position';
3
+ import { GetNormalizedPointExecution } from './get-normalized-point';
7
4
  import { SortItemLayersExecution, SortItemsByParentExecution, SortNodeLayersExecution } from './sort-item-layers';
8
5
  import { GetDeepChildrenNodesAndGroupsExecution } from './get-deep-children-nodes-and-groups';
9
- import { CreateRoundedRectFromElementExecution } from './create-rounded-rect-from-element';
10
- import { GET_FLOW_STATE_PROVIDERS } from './get-flow-state';
6
+ import { GetElementRoundedRectExecution } from './get-element-rounded-rect';
11
7
  import { F_SELECTION_FEATURES } from './f-selection';
12
8
  import { F_BACKGROUND_FEATURES } from './f-background';
13
9
  import { F_CANVAS_FEATURES } from './f-canvas';
@@ -26,19 +22,15 @@ export const COMMON_PROVIDERS = [
26
22
  ...F_FLOW_FEATURES,
27
23
  ...F_LINE_ALIGNMENT_FEATURES,
28
24
  ...F_NODE_FEATURES,
29
- CreateRoundedRectFromElementExecution,
25
+ GetElementRoundedRectExecution,
30
26
  ...F_SELECTION_FEATURES,
31
- GetCanBeSelectedItemsExecution,
32
27
  GetDeepChildrenNodesAndGroupsExecution,
33
- GetConnectionLineExecution,
34
- GetElementRectInFlowExecution,
35
- ...GET_FLOW_STATE_PROVIDERS,
36
- GetScaledNodeRectsWithFlowPositionExecution,
37
- GetPositionInFlowExecution,
28
+ GetNormalizedElementRectExecution,
29
+ GetNormalizedPointExecution,
38
30
  SortItemLayersExecution,
39
31
  SortItemsByParentExecution,
40
32
  SortNodeLayersExecution,
41
33
  UpdateItemAndChildrenLayersExecution,
42
34
  MoveFrontElementsBeforeTargetElementExecution,
43
35
  ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNFLE9BQU8sRUFDTCw2Q0FBNkMsRUFDN0Msb0NBQW9DLEVBQ3JDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUYsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBRTlCLEdBQUcsaUJBQWlCO0lBRXBCLEdBQUcscUJBQXFCO0lBRXhCLEdBQUcscUJBQXFCO0lBRXhCLEdBQUcscUJBQXFCO0lBRXhCLEdBQUcsb0JBQW9CO0lBRXZCLEdBQUcsZUFBZTtJQUVsQixHQUFHLHlCQUF5QjtJQUU1QixHQUFHLGVBQWU7SUFFbEIscUNBQXFDO0lBRXJDLEdBQUcsb0JBQW9CO0lBRXZCLDhCQUE4QjtJQUU5QixzQ0FBc0M7SUFFdEMsMEJBQTBCO0lBRTFCLDZCQUE2QjtJQUU3QixHQUFHLHdCQUF3QjtJQUUzQiwyQ0FBMkM7SUFFM0MsMEJBQTBCO0lBRTFCLHVCQUF1QjtJQUV2QiwwQkFBMEI7SUFFMUIsdUJBQXVCO0lBRXZCLG9DQUFvQztJQUVwQyw2Q0FBNkM7Q0FDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldENvbm5lY3Rpb25MaW5lRXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtY29ubmVjdGlvbi1saW5lJztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93RXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cnO1xuaW1wb3J0IHtcbiAgTW92ZUZyb250RWxlbWVudHNCZWZvcmVUYXJnZXRFbGVtZW50RXhlY3V0aW9uLFxuICBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNFeGVjdXRpb25cbn0gZnJvbSAnLi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzJztcbmltcG9ydCB7IEdldFBvc2l0aW9uSW5GbG93RXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtcG9zaXRpb24taW4tZmxvdyc7XG5pbXBvcnQgeyBHZXRDYW5CZVNlbGVjdGVkSXRlbXNFeGVjdXRpb24gfSBmcm9tICcuL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMnO1xuaW1wb3J0IHsgR2V0U2NhbGVkTm9kZVJlY3RzV2l0aEZsb3dQb3NpdGlvbkV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LXNjYWxlZC1ub2RlLXJlY3RzLXdpdGgtZmxvdy1wb3NpdGlvbic7XG5pbXBvcnQgeyBTb3J0SXRlbUxheWVyc0V4ZWN1dGlvbiwgU29ydEl0ZW1zQnlQYXJlbnRFeGVjdXRpb24sIFNvcnROb2RlTGF5ZXJzRXhlY3V0aW9uIH0gZnJvbSAnLi9zb3J0LWl0ZW0tbGF5ZXJzJztcbmltcG9ydCB7IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzRXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzJztcbmltcG9ydCB7IENyZWF0ZVJvdW5kZWRSZWN0RnJvbUVsZW1lbnRFeGVjdXRpb24gfSBmcm9tICcuL2NyZWF0ZS1yb3VuZGVkLXJlY3QtZnJvbS1lbGVtZW50JztcbmltcG9ydCB7IEdFVF9GTE9XX1NUQVRFX1BST1ZJREVSUyB9IGZyb20gJy4vZ2V0LWZsb3ctc3RhdGUnO1xuaW1wb3J0IHsgRl9TRUxFQ1RJT05fRkVBVFVSRVMgfSBmcm9tICcuL2Ytc2VsZWN0aW9uJztcbmltcG9ydCB7IEZfQkFDS0dST1VORF9GRUFUVVJFUyB9IGZyb20gJy4vZi1iYWNrZ3JvdW5kJztcbmltcG9ydCB7IEZfQ0FOVkFTX0ZFQVRVUkVTIH0gZnJvbSAnLi9mLWNhbnZhcyc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fRkVBVFVSRVMgfSBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RPUlNfRkVBVFVSRVMgfSBmcm9tICcuL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGX0ZMT1dfRkVBVFVSRVMgfSBmcm9tICcuL2YtZmxvdyc7XG5pbXBvcnQgeyBGX0RSQUdHQUJMRV9GRUFUVVJFUyB9IGZyb20gJy4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRl9OT0RFX0ZFQVRVUkVTIH0gZnJvbSAnLi9mLW5vZGUnO1xuaW1wb3J0IHsgRl9MSU5FX0FMSUdOTUVOVF9GRUFUVVJFUyB9IGZyb20gJy4vZi1saW5lLWFsaWdubWVudCc7XG5cbmV4cG9ydCBjb25zdCBDT01NT05fUFJPVklERVJTID0gW1xuXG4gIC4uLkZfQ0FOVkFTX0ZFQVRVUkVTLFxuXG4gIC4uLkZfQ09OTkVDVElPTl9GRUFUVVJFUyxcblxuICAuLi5GX0JBQ0tHUk9VTkRfRkVBVFVSRVMsXG5cbiAgLi4uRl9DT05ORUNUT1JTX0ZFQVRVUkVTLFxuXG4gIC4uLkZfRFJBR0dBQkxFX0ZFQVRVUkVTLFxuXG4gIC4uLkZfRkxPV19GRUFUVVJFUyxcblxuICAuLi5GX0xJTkVfQUxJR05NRU5UX0ZFQVRVUkVTLFxuXG4gIC4uLkZfTk9ERV9GRUFUVVJFUyxcblxuICBDcmVhdGVSb3VuZGVkUmVjdEZyb21FbGVtZW50RXhlY3V0aW9uLFxuXG4gIC4uLkZfU0VMRUNUSU9OX0ZFQVRVUkVTLFxuXG4gIEdldENhbkJlU2VsZWN0ZWRJdGVtc0V4ZWN1dGlvbixcblxuICBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc0V4ZWN1dGlvbixcblxuICBHZXRDb25uZWN0aW9uTGluZUV4ZWN1dGlvbixcblxuICBHZXRFbGVtZW50UmVjdEluRmxvd0V4ZWN1dGlvbixcblxuICAuLi5HRVRfRkxPV19TVEFURV9QUk9WSURFUlMsXG5cbiAgR2V0U2NhbGVkTm9kZVJlY3RzV2l0aEZsb3dQb3NpdGlvbkV4ZWN1dGlvbixcblxuICBHZXRQb3NpdGlvbkluRmxvd0V4ZWN1dGlvbixcblxuICBTb3J0SXRlbUxheWVyc0V4ZWN1dGlvbixcblxuICBTb3J0SXRlbXNCeVBhcmVudEV4ZWN1dGlvbixcblxuICBTb3J0Tm9kZUxheWVyc0V4ZWN1dGlvbixcblxuICBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNFeGVjdXRpb24sXG5cbiAgTW92ZUZyb250RWxlbWVudHNCZWZvcmVUYXJnZXRFbGVtZW50RXhlY3V0aW9uLFxuXTtcbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xGLE9BQU8sRUFDTCw2Q0FBNkMsRUFDN0Msb0NBQW9DLEVBQ3JDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBRTlCLEdBQUcsaUJBQWlCO0lBRXBCLEdBQUcscUJBQXFCO0lBRXhCLEdBQUcscUJBQXFCO0lBRXhCLEdBQUcscUJBQXFCO0lBRXhCLEdBQUcsb0JBQW9CO0lBRXZCLEdBQUcsZUFBZTtJQUVsQixHQUFHLHlCQUF5QjtJQUU1QixHQUFHLGVBQWU7SUFFbEIsOEJBQThCO0lBRTlCLEdBQUcsb0JBQW9CO0lBRXZCLHNDQUFzQztJQUV0QyxpQ0FBaUM7SUFFakMsMkJBQTJCO0lBRTNCLHVCQUF1QjtJQUV2QiwwQkFBMEI7SUFFMUIsdUJBQXVCO0lBRXZCLG9DQUFvQztJQUVwQyw2Q0FBNkM7Q0FDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdEV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtZWxlbWVudC1yZWN0JztcbmltcG9ydCB7XG4gIE1vdmVGcm9udEVsZW1lbnRzQmVmb3JlVGFyZ2V0RWxlbWVudEV4ZWN1dGlvbixcbiAgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzRXhlY3V0aW9uXG59IGZyb20gJy4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycyc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkUG9pbnRFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBvaW50JztcbmltcG9ydCB7IFNvcnRJdGVtTGF5ZXJzRXhlY3V0aW9uLCBTb3J0SXRlbXNCeVBhcmVudEV4ZWN1dGlvbiwgU29ydE5vZGVMYXllcnNFeGVjdXRpb24gfSBmcm9tICcuL3NvcnQtaXRlbS1sYXllcnMnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNFeGVjdXRpb24gfSBmcm9tICcuL2dldC1kZWVwLWNoaWxkcmVuLW5vZGVzLWFuZC1ncm91cHMnO1xuaW1wb3J0IHsgR2V0RWxlbWVudFJvdW5kZWRSZWN0RXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QnO1xuaW1wb3J0IHsgRl9TRUxFQ1RJT05fRkVBVFVSRVMgfSBmcm9tICcuL2Ytc2VsZWN0aW9uJztcbmltcG9ydCB7IEZfQkFDS0dST1VORF9GRUFUVVJFUyB9IGZyb20gJy4vZi1iYWNrZ3JvdW5kJztcbmltcG9ydCB7IEZfQ0FOVkFTX0ZFQVRVUkVTIH0gZnJvbSAnLi9mLWNhbnZhcyc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fRkVBVFVSRVMgfSBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RPUlNfRkVBVFVSRVMgfSBmcm9tICcuL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGX0ZMT1dfRkVBVFVSRVMgfSBmcm9tICcuL2YtZmxvdyc7XG5pbXBvcnQgeyBGX0RSQUdHQUJMRV9GRUFUVVJFUyB9IGZyb20gJy4vZi1kcmFnZ2FibGUnO1xuaW1wb3J0IHsgRl9OT0RFX0ZFQVRVUkVTIH0gZnJvbSAnLi9mLW5vZGUnO1xuaW1wb3J0IHsgRl9MSU5FX0FMSUdOTUVOVF9GRUFUVVJFUyB9IGZyb20gJy4vZi1saW5lLWFsaWdubWVudCc7XG5cbmV4cG9ydCBjb25zdCBDT01NT05fUFJPVklERVJTID0gW1xuXG4gIC4uLkZfQ0FOVkFTX0ZFQVRVUkVTLFxuXG4gIC4uLkZfQ09OTkVDVElPTl9GRUFUVVJFUyxcblxuICAuLi5GX0JBQ0tHUk9VTkRfRkVBVFVSRVMsXG5cbiAgLi4uRl9DT05ORUNUT1JTX0ZFQVRVUkVTLFxuXG4gIC4uLkZfRFJBR0dBQkxFX0ZFQVRVUkVTLFxuXG4gIC4uLkZfRkxPV19GRUFUVVJFUyxcblxuICAuLi5GX0xJTkVfQUxJR05NRU5UX0ZFQVRVUkVTLFxuXG4gIC4uLkZfTk9ERV9GRUFUVVJFUyxcblxuICBHZXRFbGVtZW50Um91bmRlZFJlY3RFeGVjdXRpb24sXG5cbiAgLi4uRl9TRUxFQ1RJT05fRkVBVFVSRVMsXG5cbiAgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNFeGVjdXRpb24sXG5cbiAgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0RXhlY3V0aW9uLFxuXG4gIEdldE5vcm1hbGl6ZWRQb2ludEV4ZWN1dGlvbixcblxuICBTb3J0SXRlbUxheWVyc0V4ZWN1dGlvbixcblxuICBTb3J0SXRlbXNCeVBhcmVudEV4ZWN1dGlvbixcblxuICBTb3J0Tm9kZUxheWVyc0V4ZWN1dGlvbixcblxuICBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNFeGVjdXRpb24sXG5cbiAgTW92ZUZyb250RWxlbWVudHNCZWZvcmVUYXJnZXRFbGVtZW50RXhlY3V0aW9uLFxuXTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { FindClosestInputUsingSnapThresholdRequest, GetAllCanBeConnectedInputPositionsRequest, GetConnectionLineRequest, GetConnectorWithRectRequest } from '../../../domain';
1
+ import { FindClosestInputUsingSnapThresholdRequest, GetAllCanBeConnectedInputPositionsRequest, CalculateConnectionLineByBehaviorRequest, GetConnectorWithRectRequest } from '../../../domain';
2
2
  import { EFConnectableSide } from '../../../f-connectors';
3
3
  import { RoundedRect, PointExtensions, RectExtensions, Point, } from '@foblex/2d';
4
4
  export class CreateConnectionDragHandler {
@@ -41,13 +41,13 @@ export class CreateConnectionDragHandler {
41
41
  }
42
42
  }
43
43
  drawTempConnection(fInputRect) {
44
- const line = this.fMediator.send(new GetConnectionLineRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, EFConnectableSide.TOP));
44
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, EFConnectableSide.TOP));
45
45
  this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, EFConnectableSide.TOP);
46
46
  this.fConnection.redraw();
47
47
  }
48
48
  drawSnapConnection(fInputWithRect) {
49
49
  if (fInputWithRect) {
50
- const line = this.fMediator.send(new GetConnectionLineRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
50
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
51
51
  this.fSnapConnection.show();
52
52
  this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fInputWithRect.fConnector.fConnectableSide);
53
53
  this.fSnapConnection.redraw();
@@ -68,4 +68,4 @@ export class CreateConnectionDragHandler {
68
68
  this.fSnapConnection?.hide();
69
69
  }
70
70
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUU1QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0IsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsV0FBVyxFQUFpQixlQUFlLEVBQUUsY0FBYyxFQUFFLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQztBQUdqRyxNQUFNLE9BQU8sMkJBQTJCO0lBaUI1QjtJQUNBO0lBQ0E7SUFDQTtJQWxCRixlQUFlLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFFekQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWdCLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVksZUFBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUEyQyxDQUFDO0lBQzNFLENBQUM7SUFFTyxlQUFlLENBQXNCO0lBRXJDLG9CQUFvQixHQUF5QixFQUFFLENBQUM7SUFFeEQsWUFDVSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsT0FBdUIsRUFDdkIscUJBQTZCO1FBSDdCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQVE7SUFFdkMsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLElB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QUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3RKLElBQUksQ0FBQyxlQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixJQUFJLHlDQUF5QyxDQUMzQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQ3JELElBQUksQ0FBQyxvQkFBb0IsRUFDekIsSUFBSSxDQUFDLGVBQWdCLENBQUMsY0FBYyxDQUNyQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHtcbiAgRmluZENsb3Nlc3RJbnB1dFVzaW5nU25hcFRocmVzaG9sZFJlcXVlc3QsXG4gIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNSZXF1ZXN0LFxuICBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QsXG4gIEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCxcbiAgSUNvbm5lY3RvcldpdGhSZWN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSwgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBSb3VuZGVkUmVjdCwgSUxpbmUsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucywgUG9pbnQsIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwcml2YXRlIHRvQ29ubmVjdG9yUmVjdDogUm91bmRlZFJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcblxuICBwdWJsaWMgZ2V0IGZDb25uZWN0aW9uKCk6IEZDb25uZWN0aW9uQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24hO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZlNuYXBDb25uZWN0aW9uKCk6IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mU25hcENvbm5lY3Rpb24gYXMgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBmT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yV2l0aFJlY3Q7XG5cbiAgcHJpdmF0ZSBjYW5CZUNvbm5lY3RlZElucHV0czogSUNvbm5lY3RvcldpdGhSZWN0W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZPdXRwdXQ6IEZDb25uZWN0b3JCYXNlLFxuICAgIHByaXZhdGUgb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQsXG4gICkge1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQgPSB0aGlzLmZPdXRwdXQuZklkO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICAgICAgdGhpcy5jYW5CZUNvbm5lY3RlZElucHV0cyA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0W10+KFxuICAgICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dFBvc2l0aW9uc1JlcXVlc3QodGhpcy5mT3V0cHV0LmZJZClcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkID0gdGhpcy5mT3V0cHV0LmZJZDtcbiAgICB0aGlzLmZDb25uZWN0aW9uLmluaXRpYWxpemUoKTtcblxuXG4gICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElDb25uZWN0b3JXaXRoUmVjdD4obmV3IEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCh0aGlzLmZPdXRwdXQpKTtcblxuICAgIHRoaXMudG9Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJlY3QoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uLngsIHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uLnkpXG4gICAgKTtcblxuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2hvdygpO1xuICAgIHRoaXMub25Qb2ludGVyTW92ZShQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd1RlbXBDb25uZWN0aW9uKHRoaXMudG9Db25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpKTtcbiAgICBpZiAodGhpcy5mU25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuZHJhd1NuYXBDb25uZWN0aW9uKHRoaXMuZ2V0Q2xvc2V0SW5wdXQoZGlmZmVyZW5jZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZHJhd1RlbXBDb25uZWN0aW9uKGZJbnB1dFJlY3Q6IFJvdW5kZWRSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUxpbmU+KG5ldyBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QoXG4gICAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICBmSW5wdXRSZWN0LFxuICAgICAgICB0aGlzLmZDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBFRkNvbm5lY3RhYmxlU2lkZS5UT1AsXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBsaW5lLnBvaW50MiwgRUZDb25uZWN0YWJsZVNpZGUuVE9QKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3U25hcENvbm5lY3Rpb24oZklucHV0V2l0aFJlY3Q6IElDb25uZWN0b3JXaXRoUmVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmSW5wdXRXaXRoUmVjdCkge1xuICAgICAgY29uc3QgbGluZSA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUxpbmU+KG5ldyBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QoXG4gICAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgICAgZklucHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLmZCZWhhdmlvcixcbiAgICAgICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgICAgZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEuc2hvdygpO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgbGluZS5wb2ludDIsIGZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEucmVkcmF3KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENsb3NldElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDb25uZWN0b3JXaXRoUmVjdCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0IHwgdW5kZWZpbmVkPihcbiAgICAgIG5ldyBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkUmVxdWVzdChcbiAgICAgICAgUG9pbnQuZnJvbVBvaW50KHRoaXMudG9Db25uZWN0b3JSZWN0KS5hZGQoZGlmZmVyZW5jZSksXG4gICAgICAgIHRoaXMuY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uIS5mU25hcFRocmVzaG9sZFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLmhpZGUoKTtcbiAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuICB9XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUU1QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0IsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsV0FBVyxFQUFpQixlQUFlLEVBQUUsY0FBYyxFQUFFLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQztBQUdqRyxNQUFNLE9BQU8sMkJBQTJCO0lBaUI1QjtJQUNBO0lBQ0E7SUFDQTtJQWxCRixlQUFlLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7SUFFekQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWdCLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVksZUFBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUEyQyxDQUFDO0lBQzNFLENBQUM7SUFFTyxlQUFlLENBQXNCO0lBRXJDLG9CQUFvQixHQUF5QixFQUFFLENBQUM7SUFFeEQsWUFDVSxTQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsT0FBdUIsRUFDdkIscUJBQTZCO1FBSDdCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQVE7SUFFdkMsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLElB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QUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3RKLElBQUksQ0FBQyxlQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxVQUFrQjtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixJQUFJLHlDQUF5QyxDQUMzQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQ3JELElBQUksQ0FBQyxvQkFBb0IsRUFDekIsSUFBSSxDQUFDLGVBQWdCLENBQUMsY0FBYyxDQUNyQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHtcbiAgRmluZENsb3Nlc3RJbnB1dFVzaW5nU25hcFRocmVzaG9sZFJlcXVlc3QsXG4gIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNSZXF1ZXN0LFxuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LFxuICBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QsXG4gIElDb25uZWN0b3JXaXRoUmVjdFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUsIEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgUm91bmRlZFJlY3QsIElMaW5lLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMsIFBvaW50LCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSB0b0Nvbm5lY3RvclJlY3Q6IFJvdW5kZWRSZWN0ID0gbmV3IFJvdW5kZWRSZWN0KCk7XG5cbiAgcHVibGljIGdldCBmQ29ubmVjdGlvbigpOiBGQ29ubmVjdGlvbkJhc2Uge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZlRlbXBDb25uZWN0aW9uITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZTbmFwQ29ubmVjdGlvbigpOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZlNuYXBDb25uZWN0aW9uIGFzIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgZk91dHB1dFdpdGhSZWN0ITogSUNvbm5lY3RvcldpdGhSZWN0O1xuXG4gIHByaXZhdGUgY2FuQmVDb25uZWN0ZWRJbnB1dHM6IElDb25uZWN0b3JXaXRoUmVjdFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmT3V0cHV0OiBGQ29ubmVjdG9yQmFzZSxcbiAgICBwcml2YXRlIG9uUG9pbnRlckRvd25Qb3NpdGlvbjogSVBvaW50LFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24uZk91dHB1dElkID0gdGhpcy5mT3V0cHV0LmZJZDtcbiAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uLmluaXRpYWxpemUoKTtcbiAgICAgIHRoaXMuY2FuQmVDb25uZWN0ZWRJbnB1dHMgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElDb25uZWN0b3JXaXRoUmVjdFtdPihcbiAgICAgICAgbmV3IEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNSZXF1ZXN0KHRoaXMuZk91dHB1dC5mSWQpXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmZDb25uZWN0aW9uLmZPdXRwdXRJZCA9IHRoaXMuZk91dHB1dC5mSWQ7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG5cblxuICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yV2l0aFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QodGhpcy5mT3V0cHV0KSk7XG5cbiAgICB0aGlzLnRvQ29ubmVjdG9yUmVjdCA9IFJvdW5kZWRSZWN0LmZyb21SZWN0KFxuICAgICAgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbi54LCB0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbi55KVxuICAgICk7XG5cbiAgICB0aGlzLmZDb25uZWN0aW9uLnNob3coKTtcbiAgICB0aGlzLm9uUG9pbnRlck1vdmUoUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRyYXdUZW1wQ29ubmVjdGlvbih0aGlzLnRvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSk7XG4gICAgaWYgKHRoaXMuZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLmRyYXdTbmFwQ29ubmVjdGlvbih0aGlzLmdldENsb3NldElucHV0KGRpZmZlcmVuY2UpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRyYXdUZW1wQ29ubmVjdGlvbihmSW5wdXRSZWN0OiBSb3VuZGVkUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgIGZJbnB1dFJlY3QsXG4gICAgICAgIHRoaXMuZkNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIEVGQ29ubmVjdGFibGVTaWRlLlRPUCxcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5mQ29ubmVjdGlvbi5zZXRMaW5lKGxpbmUucG9pbnQxLCB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIGxpbmUucG9pbnQyLCBFRkNvbm5lY3RhYmxlU2lkZS5UT1ApO1xuICAgIHRoaXMuZkNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIGRyYXdTbmFwQ29ubmVjdGlvbihmSW5wdXRXaXRoUmVjdDogSUNvbm5lY3RvcldpdGhSZWN0IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKGZJbnB1dFdpdGhSZWN0KSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJTGluZT4obmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgICAgZklucHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLmZCZWhhdmlvcixcbiAgICAgICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgICAgZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEuc2hvdygpO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgbGluZS5wb2ludDIsIGZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEucmVkcmF3KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENsb3NldElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDb25uZWN0b3JXaXRoUmVjdCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0IHwgdW5kZWZpbmVkPihcbiAgICAgIG5ldyBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkUmVxdWVzdChcbiAgICAgICAgUG9pbnQuZnJvbVBvaW50KHRoaXMudG9Db25uZWN0b3JSZWN0KS5hZGQoZGlmZmVyZW5jZSksXG4gICAgICAgIHRoaXMuY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uIS5mU25hcFRocmVzaG9sZFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLmhpZGUoKTtcbiAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuICB9XG59XG4iXX0=