@foblex/flow 1.5.5 → 1.5.6

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 (92) hide show
  1. package/domain/get-connection-vector/get-connection-vector.handler.d.ts +1 -1
  2. package/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.d.ts +4 -0
  3. package/domain/{get-element-rect-in-flow.handler.d.ts → get-element-rect-in-flow/get-element-rect-in-flow.handler.d.ts} +4 -3
  4. package/domain/get-element-rect-in-flow/index.d.ts +2 -0
  5. package/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.d.ts +4 -0
  6. package/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.d.ts +7 -0
  7. package/domain/get-input-rect-in-flow/get-input-rect-in-flow.handler.d.ts +14 -0
  8. package/domain/get-input-rect-in-flow/index.d.ts +3 -0
  9. package/domain/get-nodes-rect/get-nodes-rect.handler.d.ts +11 -0
  10. package/domain/get-nodes-rect/get-nodes-rect.request.d.ts +2 -0
  11. package/domain/get-nodes-rect/index.d.ts +2 -0
  12. package/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.d.ts +3 -3
  13. package/domain/index.d.ts +3 -4
  14. package/domain/providers.d.ts +4 -4
  15. package/domain/redraw-connections/redraw-connections.handler.d.ts +1 -3
  16. package/errors/conflict-error.d.ts +6 -0
  17. package/errors/create-error-class.d.ts +1 -0
  18. package/errors/errors.d.ts +3 -0
  19. package/errors/index.d.ts +4 -0
  20. package/errors/not-found-error.d.ts +6 -0
  21. package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +3 -3
  22. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow-request.mjs +6 -0
  23. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.mjs +35 -0
  24. package/esm2022/domain/get-element-rect-in-flow/index.mjs +3 -0
  25. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-request.mjs +6 -0
  26. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow-response.mjs +7 -0
  27. package/esm2022/domain/get-input-rect-in-flow/get-input-rect-in-flow.handler.mjs +34 -0
  28. package/esm2022/domain/get-input-rect-in-flow/index.mjs +4 -0
  29. package/esm2022/domain/get-nodes-rect/get-nodes-rect.handler.mjs +30 -0
  30. package/esm2022/domain/get-nodes-rect/get-nodes-rect.request.mjs +3 -0
  31. package/esm2022/domain/get-nodes-rect/index.mjs +3 -0
  32. package/esm2022/domain/get-output-rect-in-flow/get-output-rect-in-flow.handler.mjs +9 -8
  33. package/esm2022/domain/index.mjs +4 -5
  34. package/esm2022/domain/providers.mjs +6 -6
  35. package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +8 -9
  36. package/esm2022/errors/conflict-error.mjs +7 -0
  37. package/esm2022/errors/create-error-class.mjs +11 -0
  38. package/esm2022/errors/errors.mjs +12 -0
  39. package/esm2022/errors/index.mjs +5 -0
  40. package/esm2022/errors/not-found-error.mjs +7 -0
  41. package/esm2022/f-canvas/f-canvas.component.mjs +15 -8
  42. package/esm2022/f-connection/common/e-f-connection-behavior.mjs +2 -1
  43. package/esm2022/f-connectors/f-connector-base.mjs +2 -1
  44. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +2 -2
  45. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +9 -2
  46. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +3 -3
  47. package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +9 -10
  48. package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +3 -3
  49. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +5 -6
  50. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +2 -2
  51. package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +9 -8
  52. package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +4 -1
  53. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +4 -5
  54. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +4 -5
  55. package/esm2022/f-draggable/node/connection.drag-handler.mjs +4 -5
  56. package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +10 -7
  57. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +8 -9
  58. package/esm2022/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.mjs +9 -8
  59. package/esm2022/f-external-item/f-external-item-base.mjs +1 -1
  60. package/esm2022/f-external-item/f-external-item.directive.mjs +10 -6
  61. package/esm2022/f-flow/f-flow.component.mjs +16 -13
  62. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +9 -8
  63. package/f-canvas/f-canvas.component.d.ts +3 -3
  64. package/f-connection/common/e-f-connection-behavior.d.ts +1 -0
  65. package/f-connectors/f-connector-base.d.ts +1 -0
  66. package/f-connectors/f-node-output/f-node-output-base.d.ts +1 -0
  67. package/f-connectors/f-node-output/f-node-output.directive.d.ts +3 -1
  68. package/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.d.ts +1 -3
  69. package/f-draggable/connections/providers.d.ts +1 -1
  70. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +1 -3
  71. package/f-draggable/external-item/external-item.on-pointer-up.d.ts +3 -3
  72. package/f-draggable/external-item/providers.d.ts +1 -1
  73. package/f-draggable/node/connection-source.drag-handler.d.ts +1 -3
  74. package/f-draggable/node/connection-target.drag-handler.d.ts +1 -3
  75. package/f-draggable/node/connection.drag-handler.d.ts +1 -3
  76. package/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.d.ts +4 -3
  77. package/f-draggable/node/node.prepare-drag-sequence.d.ts +2 -3
  78. package/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.d.ts +3 -3
  79. package/f-external-item/f-external-item-base.d.ts +7 -6
  80. package/f-external-item/f-external-item.directive.d.ts +6 -5
  81. package/f-flow/f-flow.component.d.ts +3 -4
  82. package/f-line-alignment/f-line-alignment.component.d.ts +3 -3
  83. package/fesm2022/foblex-flow.mjs +227 -153
  84. package/fesm2022/foblex-flow.mjs.map +1 -1
  85. package/package.json +1 -1
  86. package/domain/errors.d.ts +0 -3
  87. package/domain/get-all-nodes-rect.handler.d.ts +0 -10
  88. package/domain/get-input-rect-in-flow.handler.d.ts +0 -19
  89. package/esm2022/domain/errors.mjs +0 -10
  90. package/esm2022/domain/get-all-nodes-rect.handler.mjs +0 -23
  91. package/esm2022/domain/get-element-rect-in-flow.handler.mjs +0 -28
  92. package/esm2022/domain/get-input-rect-in-flow.handler.mjs +0 -25
@@ -1,9 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { RectExtensions } from '@foblex/core';
3
+ import { GetElementRectInFlowRequest } from '../../../domain';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../../../f-components-store";
5
6
  import * as i2 from "../../f-draggable-data-context";
6
- import * as i3 from "../../../domain";
7
+ import * as i3 from "../../../f-mediator";
7
8
  export class GetCanBeSelectedItemsHandler {
8
9
  get fNodes() {
9
10
  return this.fComponentsStore.fNodes;
@@ -14,10 +15,10 @@ export class GetCanBeSelectedItemsHandler {
14
15
  get transform() {
15
16
  return this.fComponentsStore.fCanvas.transform;
16
17
  }
17
- constructor(fComponentsStore, fDraggableDataContext, getElementRectInFlowHandler) {
18
+ constructor(fComponentsStore, fDraggableDataContext, fMediator) {
18
19
  this.fComponentsStore = fComponentsStore;
19
20
  this.fDraggableDataContext = fDraggableDataContext;
20
- this.getElementRectInFlowHandler = getElementRectInFlowHandler;
21
+ this.fMediator = fMediator;
21
22
  }
22
23
  handle() {
23
24
  const nodeRects = this.getNodesWithRects();
@@ -29,7 +30,7 @@ export class GetCanBeSelectedItemsHandler {
29
30
  }
30
31
  getNodesWithRects() {
31
32
  return this.fNodes.map((x) => {
32
- const rect = this.getElementRectInFlowHandler.handle(x.hostElement);
33
+ const rect = this.fMediator.send(new GetElementRectInFlowRequest(x.hostElement));
33
34
  return {
34
35
  element: x,
35
36
  rect: RectExtensions.mult(rect, this.transform.scale)
@@ -38,17 +39,17 @@ export class GetCanBeSelectedItemsHandler {
38
39
  }
39
40
  getConnectionsWithRects() {
40
41
  return this.fConnections.map((x) => {
41
- const rect = this.getElementRectInFlowHandler.handle(x.boundingElement);
42
+ const rect = this.fMediator.send(new GetElementRectInFlowRequest(x.boundingElement));
42
43
  return {
43
44
  element: x,
44
45
  rect: RectExtensions.mult(rect, this.transform.scale)
45
46
  };
46
47
  });
47
48
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetCanBeSelectedItemsHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.GetElementRectInFlowHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetCanBeSelectedItemsHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FFlowMediator }], target: i0.ɵɵFactoryTarget.Injectable }); }
49
50
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetCanBeSelectedItemsHandler }); }
50
51
  }
51
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GetCanBeSelectedItemsHandler, decorators: [{
52
53
  type: Injectable
53
- }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetElementRectInFlowHandler }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9zZWxlY3Rpb24tYXJlYS9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBb0MsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7OztBQVNoRixNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsMkJBQXdEO1FBRnhELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO0lBRXBFLENBQUM7SUFFTSxNQUFNO1FBQ1gsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFFakQsTUFBTSxNQUFNLEdBQUcsQ0FBRSxHQUFHLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pELE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUUzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwRSxPQUFPO2dCQUNMLE9BQU8sRUFBRSxDQUFDO2dCQUNWLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQzthQUN0RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN4RSxPQUFPO2dCQUNMLE9BQU8sRUFBRSxDQUFDO2dCQUNWLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQzthQUN0RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXBEVSw0QkFBNEI7a0hBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElIYW5kbGVyLCBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZVdpdGhSZWN0IH0gZnJvbSAnLi9pLXNlbGVjdGFibGUtd2l0aC1yZWN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlciB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIElTZWxlY3RhYmxlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHZXRDYW5CZVNlbGVjdGVkSXRlbXNIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8dm9pZCwgSVNlbGVjdGFibGVXaXRoUmVjdFtdPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZDb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICAgIHByaXZhdGUgZ2V0RWxlbWVudFJlY3RJbkZsb3dIYW5kbGVyOiBHZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXJcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKCk6IElTZWxlY3RhYmxlV2l0aFJlY3RbXSB7XG4gICAgY29uc3Qgbm9kZVJlY3RzID0gdGhpcy5nZXROb2Rlc1dpdGhSZWN0cygpO1xuXG4gICAgY29uc3QgbGluZVJlY3RzID0gdGhpcy5nZXRDb25uZWN0aW9uc1dpdGhSZWN0cygpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gWyAuLi5ub2RlUmVjdHMsIC4uLmxpbmVSZWN0cyBdLmZpbHRlcigoeCkgPT4ge1xuICAgICAgcmV0dXJuICF0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKHguZWxlbWVudCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2Rlc1dpdGhSZWN0cygpOiB7IGVsZW1lbnQ6IElTZWxlY3RhYmxlLCByZWN0OiBJUmVjdCB9W10ge1xuICAgIHJldHVybiB0aGlzLmZOb2Rlcy5tYXAoKHgpID0+IHtcblxuICAgICAgY29uc3QgcmVjdCA9IHRoaXMuZ2V0RWxlbWVudFJlY3RJbkZsb3dIYW5kbGVyLmhhbmRsZSh4Lmhvc3RFbGVtZW50KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVsZW1lbnQ6IHgsXG4gICAgICAgIHJlY3Q6IFJlY3RFeHRlbnNpb25zLm11bHQocmVjdCwgdGhpcy50cmFuc2Zvcm0uc2NhbGUpXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25uZWN0aW9uc1dpdGhSZWN0cygpOiB7IGVsZW1lbnQ6IElTZWxlY3RhYmxlLCByZWN0OiBJUmVjdCB9W10ge1xuICAgIHJldHVybiB0aGlzLmZDb25uZWN0aW9ucy5tYXAoKHgpID0+IHtcbiAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ib3VuZGluZ0VsZW1lbnQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWxlbWVudDogeCxcbiAgICAgICAgcmVjdDogUmVjdEV4dGVuc2lvbnMubXVsdChyZWN0LCB0aGlzLnRyYW5zZm9ybS5zY2FsZSlcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
54
+ }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FFlowMediator }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNhbi1iZS1zZWxlY3RlZC1pdGVtcy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9zZWxlY3Rpb24tYXJlYS9nZXQtY2FuLWJlLXNlbGVjdGVkLWl0ZW1zL2dldC1jYW4tYmUtc2VsZWN0ZWQtaXRlbXMuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBb0MsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBT2hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUc5RCxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsU0FBd0I7UUFGeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQWU7SUFFcEMsQ0FBQztJQUVNLE1BQU07UUFDWCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUUzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUVqRCxNQUFNLE1BQU0sR0FBRyxDQUFFLEdBQUcsU0FBUyxFQUFFLEdBQUcsU0FBUyxDQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBRTNCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksMkJBQTJCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDeEYsT0FBTztnQkFDTCxPQUFPLEVBQUUsQ0FBQztnQkFDVixJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7YUFDdEQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUM1RixPQUFPO2dCQUNMLE9BQU8sRUFBRSxDQUFDO2dCQUNWLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQzthQUN0RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXBEVSw0QkFBNEI7a0hBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElIYW5kbGVyLCBJUmVjdCwgSVRyYW5zZm9ybU1vZGVsLCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJU2VsZWN0YWJsZVdpdGhSZWN0IH0gZnJvbSAnLi9pLXNlbGVjdGFibGUtd2l0aC1yZWN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgSVNlbGVjdGFibGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IgfSBmcm9tICcuLi8uLi8uLi9mLW1lZGlhdG9yJztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHZXRDYW5CZVNlbGVjdGVkSXRlbXNIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8dm9pZCwgSVNlbGVjdGFibGVXaXRoUmVjdFtdPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZk5vZGVzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2RlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZDb25uZWN0aW9ucygpOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnM7XG4gIH1cblxuICBwcml2YXRlIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXMhLnRyYW5zZm9ybTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBmRHJhZ2dhYmxlRGF0YUNvbnRleHQ6IEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUoKTogSVNlbGVjdGFibGVXaXRoUmVjdFtdIHtcbiAgICBjb25zdCBub2RlUmVjdHMgPSB0aGlzLmdldE5vZGVzV2l0aFJlY3RzKCk7XG5cbiAgICBjb25zdCBsaW5lUmVjdHMgPSB0aGlzLmdldENvbm5lY3Rpb25zV2l0aFJlY3RzKCk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBbIC4uLm5vZGVSZWN0cywgLi4ubGluZVJlY3RzIF0uZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gIXRoaXMuZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXMuaW5jbHVkZXMoeC5lbGVtZW50KTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVzV2l0aFJlY3RzKCk6IHsgZWxlbWVudDogSVNlbGVjdGFibGUsIHJlY3Q6IElSZWN0IH1bXSB7XG4gICAgcmV0dXJuIHRoaXMuZk5vZGVzLm1hcCgoeCkgPT4ge1xuXG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCh4Lmhvc3RFbGVtZW50KSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlbGVtZW50OiB4LFxuICAgICAgICByZWN0OiBSZWN0RXh0ZW5zaW9ucy5tdWx0KHJlY3QsIHRoaXMudHJhbnNmb3JtLnNjYWxlKVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29ubmVjdGlvbnNXaXRoUmVjdHMoKTogeyBlbGVtZW50OiBJU2VsZWN0YWJsZSwgcmVjdDogSVJlY3QgfVtdIHtcbiAgICByZXR1cm4gdGhpcy5mQ29ubmVjdGlvbnMubWFwKCh4KSA9PiB7XG4gICAgICBjb25zdCByZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCh4LmJvdW5kaW5nRWxlbWVudCkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZWxlbWVudDogeCxcbiAgICAgICAgcmVjdDogUmVjdEV4dGVuc2lvbnMubXVsdChyZWN0LCB0aGlzLnRyYW5zZm9ybS5zY2FsZSlcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -8,4 +8,4 @@ export class FExternalItemBase {
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FExternalItemBase, decorators: [{
9
9
  type: Directive
10
10
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZXh0ZXJuYWwtaXRlbS9mLWV4dGVybmFsLWl0ZW0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFvQixpQkFBaUIsQ0FBQyxDQUFDO0FBR3hGLE1BQU0sT0FBZ0IsaUJBQWlCOzhHQUFqQixpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGX0VYVEVSTkFMX0lURU0gPSBuZXcgSW5qZWN0aW9uVG9rZW48RkV4dGVybmFsSXRlbUJhc2U+KCdGX0VYVEVSTkFMX0lURU0nKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkV4dGVybmFsSXRlbUJhc2UgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpZDogYW55O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBkYXRhOiBhbnk7XG59XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZXh0ZXJuYWwtaXRlbS9mLWV4dGVybmFsLWl0ZW0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFvQixpQkFBaUIsQ0FBQyxDQUFDO0FBR3hGLE1BQU0sT0FBZ0IsaUJBQWlCOzhHQUFqQixpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBGX0VYVEVSTkFMX0lURU0gPSBuZXcgSW5qZWN0aW9uVG9rZW48RkV4dGVybmFsSXRlbUJhc2U+KCdGX0VYVEVSTkFMX0lURU0nKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkV4dGVybmFsSXRlbUJhc2U8VERhdGEgPSBhbnk+IGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkV4dGVybmFsSXRlbUlkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEYXRhOiBURGF0YSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRpc2FibGVkOiBib29sZWFuO1xufVxuIl19
@@ -11,7 +11,8 @@ export class FExternalItemDirective extends FExternalItemBase {
11
11
  super();
12
12
  this.elementReference = elementReference;
13
13
  this.fExternalItemService = fExternalItemService;
14
- this.id = `f-external-item-${uniqueId++}`;
14
+ this.fExternalItemId = `f-external-item-${uniqueId++}`;
15
+ this.fDisabled = false;
15
16
  }
16
17
  ngOnInit() {
17
18
  this.fExternalItemService.registerItem(this);
@@ -20,7 +21,7 @@ export class FExternalItemDirective extends FExternalItemBase {
20
21
  this.fExternalItemService.removeItem(this);
21
22
  }
22
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FExternalItemDirective, deps: [{ token: i0.ElementRef }, { token: i1.FExternalItemService }], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FExternalItemDirective, selector: "[fExternalItem]", inputs: { id: "id", data: "data" }, host: { properties: { "attr.id": "id" }, classAttribute: "f-component f-external-item" }, providers: [
24
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FExternalItemDirective, selector: "[fExternalItem]", inputs: { fExternalItemId: "fExternalItemId", fData: "fData", fDisabled: "fDisabled" }, host: { properties: { "attr.id": "fExternalItemId", "class.f-external-item-disabled": "fDisabled" }, classAttribute: "f-component f-external-item" }, providers: [
24
25
  { provide: F_EXTERNAL_ITEM, useExisting: FExternalItemDirective }
25
26
  ], usesInheritance: true, ngImport: i0 }); }
26
27
  }
@@ -29,16 +30,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
29
30
  args: [{
30
31
  selector: "[fExternalItem]",
31
32
  host: {
32
- '[attr.id]': 'id',
33
+ '[attr.id]': 'fExternalItemId',
33
34
  class: "f-component f-external-item",
35
+ '[class.f-external-item-disabled]': 'fDisabled',
34
36
  },
35
37
  providers: [
36
38
  { provide: F_EXTERNAL_ITEM, useExisting: FExternalItemDirective }
37
39
  ],
38
40
  }]
39
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FExternalItemService }], propDecorators: { id: [{
41
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FExternalItemService }], propDecorators: { fExternalItemId: [{
40
42
  type: Input
41
- }], data: [{
43
+ }], fData: [{
44
+ type: Input
45
+ }], fDisabled: [{
42
46
  type: Input
43
47
  }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1leHRlcm5hbC1pdGVtL2YtZXh0ZXJuYWwtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRzVFLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQVl6QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBSzNELElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFLRCxZQUNVLGdCQUF5QyxFQUN6QyxvQkFBMEM7UUFFbEQsS0FBSyxFQUFFLENBQUM7UUFIQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFYcEMsT0FBRSxHQUFXLG1CQUFvQixRQUFRLEVBQUcsRUFBRSxDQUFDO0lBYy9ELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBekJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHdLQUp0QjtZQUNULEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7U0FDbEU7OzJGQUVVLHNCQUFzQjtrQkFWbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osV0FBVyxFQUFFLElBQUk7d0JBQ2pCLEtBQUssRUFBRSw2QkFBNkI7cUJBQ3JDO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyx3QkFBd0IsRUFBRTtxQkFDbEU7aUJBQ0Y7a0hBSWlCLEVBQUU7c0JBRGpCLEtBQUs7Z0JBUVUsSUFBSTtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXh0ZXJuYWxJdGVtQmFzZSwgRl9FWFRFUk5BTF9JVEVNIH0gZnJvbSAnLi9mLWV4dGVybmFsLWl0ZW0tYmFzZSc7XG5pbXBvcnQgeyBGRXh0ZXJuYWxJdGVtU2VydmljZSB9IGZyb20gJy4vZi1leHRlcm5hbC1pdGVtLnNlcnZpY2UnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZkV4dGVybmFsSXRlbV1cIixcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtZXh0ZXJuYWwtaXRlbVwiLFxuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfRVhURVJOQUxfSVRFTSwgdXNlRXhpc3Rpbmc6IEZFeHRlcm5hbEl0ZW1EaXJlY3RpdmUgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGRXh0ZXJuYWxJdGVtRGlyZWN0aXZlIGV4dGVuZHMgRkV4dGVybmFsSXRlbUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcgPSBgZi1leHRlcm5hbC1pdGVtLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBkYXRhOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZFeHRlcm5hbEl0ZW1TZXJ2aWNlOiBGRXh0ZXJuYWxJdGVtU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZFeHRlcm5hbEl0ZW1TZXJ2aWNlLnJlZ2lzdGVySXRlbSh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZFeHRlcm5hbEl0ZW1TZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcyk7XG4gIH1cbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1leHRlcm5hbC1pdGVtL2YtZXh0ZXJuYWwtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRzVFLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWF6QixNQUFNLE9BQU8sc0JBQThCLFNBQVEsaUJBQXdCO0lBS3pFLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFRRCxZQUNVLGdCQUF5QyxFQUN6QyxvQkFBMEM7UUFFbEQsS0FBSyxFQUFFLENBQUM7UUFIQSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXlCO1FBQ3pDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFkcEMsb0JBQWUsR0FBVyxtQkFBb0IsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQVU1RCxjQUFTLEdBQVksS0FBSyxDQUFDO0lBTzNDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBNUJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHdSQUp0QjtZQUNULEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7U0FDbEU7OzJGQUVVLHNCQUFzQjtrQkFYbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osV0FBVyxFQUFFLGlCQUFpQjt3QkFDOUIsS0FBSyxFQUFFLDZCQUE2Qjt3QkFDcEMsa0NBQWtDLEVBQUUsV0FBVztxQkFDaEQ7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLHdCQUF3QixFQUFFO3FCQUNsRTtpQkFDRjtrSEFJaUIsZUFBZTtzQkFEOUIsS0FBSztnQkFRVSxLQUFLO3NCQURwQixLQUFLO2dCQUlVLFNBQVM7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4dGVybmFsSXRlbUJhc2UsIEZfRVhURVJOQUxfSVRFTSB9IGZyb20gJy4vZi1leHRlcm5hbC1pdGVtLWJhc2UnO1xuaW1wb3J0IHsgRkV4dGVybmFsSXRlbVNlcnZpY2UgfSBmcm9tICcuL2YtZXh0ZXJuYWwtaXRlbS5zZXJ2aWNlJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZFeHRlcm5hbEl0ZW1dXCIsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZFeHRlcm5hbEl0ZW1JZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1leHRlcm5hbC1pdGVtXCIsXG4gICAgJ1tjbGFzcy5mLWV4dGVybmFsLWl0ZW0tZGlzYWJsZWRdJzogJ2ZEaXNhYmxlZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9FWFRFUk5BTF9JVEVNLCB1c2VFeGlzdGluZzogRkV4dGVybmFsSXRlbURpcmVjdGl2ZSB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZFeHRlcm5hbEl0ZW1EaXJlY3RpdmU8VERhdGE+IGV4dGVuZHMgRkV4dGVybmFsSXRlbUJhc2U8VERhdGE+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRXh0ZXJuYWxJdGVtSWQ6IHN0cmluZyA9IGBmLWV4dGVybmFsLWl0ZW0tJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEYXRhOiBURGF0YSB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGZFeHRlcm5hbEl0ZW1TZXJ2aWNlOiBGRXh0ZXJuYWxJdGVtU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZFeHRlcm5hbEl0ZW1TZXJ2aWNlLnJlZ2lzdGVySXRlbSh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZFeHRlcm5hbEl0ZW1TZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcyk7XG4gIH1cbn1cbiJdfQ==
@@ -2,23 +2,21 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from
2
2
  import { F_FLOW, FFlowBase } from './f-flow-base';
3
3
  import { FComponentsStore } from '../f-components-store';
4
4
  import { debounceTime, startWith, Subscription } from 'rxjs';
5
- import { ClearSelectionRequest, COMMON_PROVIDERS, GetSelectionRequest, RedrawConnectionsRequest, SelectAllRequest, } from '../domain';
5
+ import { ClearSelectionRequest, COMMON_PROVIDERS, GetNodesRectRequest, GetSelectionRequest, RedrawConnectionsRequest, SelectAllRequest, } from '../domain';
6
6
  import { FLOW } from '../get-flow-uid';
7
7
  import { FFlowMediator } from '../f-mediator';
8
8
  import { CANVAS_PROVIDERS, CONNECTIONS_PROVIDERS, EXTERNAL_ITEM_PROVIDERS, FDraggableDataContext, NODE_PROVIDERS, SELECTION_AREA_PROVIDERS, SINGLE_SELECT_PROVIDERS } from '../f-draggable';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "../domain";
11
- import * as i2 from "../f-components-store";
12
- import * as i3 from "../f-mediator";
10
+ import * as i1 from "../f-components-store";
11
+ import * as i2 from "../f-mediator";
13
12
  let uniqueId = 0;
14
13
  export class FFlowComponent extends FFlowBase {
15
14
  get hostElement() {
16
15
  return this.elementReference.nativeElement;
17
16
  }
18
- constructor(elementReference, getAllNodesRectHandler, fComponentsStore, fMediator) {
17
+ constructor(elementReference, fComponentsStore, fMediator) {
19
18
  super();
20
19
  this.elementReference = elementReference;
21
- this.getAllNodesRectHandler = getAllNodesRectHandler;
22
20
  this.fComponentsStore = fComponentsStore;
23
21
  this.fMediator = fMediator;
24
22
  this.subscription$ = new Subscription();
@@ -42,11 +40,16 @@ export class FFlowComponent extends FFlowBase {
42
40
  }
43
41
  });
44
42
  }
43
+ reset() {
44
+ this.isLoaded = false;
45
+ }
45
46
  getNodesRect() {
46
- return this.getAllNodesRectHandler.handle();
47
+ const result = this.fMediator.send(new GetNodesRectRequest());
48
+ return result;
47
49
  }
48
50
  getSelection() {
49
- return this.fMediator.send(new GetSelectionRequest());
51
+ const result = this.fMediator.send(new GetSelectionRequest());
52
+ return result;
50
53
  }
51
54
  selectAll() {
52
55
  this.fMediator.send(new SelectAllRequest());
@@ -57,7 +60,7 @@ export class FFlowComponent extends FFlowBase {
57
60
  ngOnDestroy() {
58
61
  this.subscription$.unsubscribe();
59
62
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FFlowComponent, deps: [{ token: i0.ElementRef }, { token: i1.GetAllNodesRectHandler }, { token: i2.FComponentsStore }, { token: i3.FFlowMediator }], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FFlowComponent, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }, { token: i2.FFlowMediator }], target: i0.ɵɵFactoryTarget.Component }); }
61
64
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FFlowComponent, selector: "f-flow", inputs: { fFlowId: "fFlowId" }, outputs: { fLoaded: "fLoaded" }, host: { properties: { "attr.id": "fFlowId" }, classAttribute: "f-component f-flow" }, providers: [
62
65
  FFlowMediator,
63
66
  FComponentsStore,
@@ -70,7 +73,7 @@ export class FFlowComponent extends FFlowBase {
70
73
  ...CONNECTIONS_PROVIDERS,
71
74
  ...COMMON_PROVIDERS,
72
75
  { provide: F_FLOW, useExisting: FFlowComponent },
73
- ], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content select=\"f-mini-map\"></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
77
  }
75
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FFlowComponent, decorators: [{
76
79
  type: Component,
@@ -89,10 +92,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
89
92
  ...CONNECTIONS_PROVIDERS,
90
93
  ...COMMON_PROVIDERS,
91
94
  { provide: F_FLOW, useExisting: FFlowComponent },
92
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"] }]
93
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.GetAllNodesRectHandler }, { type: i2.FComponentsStore }, { type: i3.FFlowMediator }], propDecorators: { fFlowId: [{
95
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content select=\"f-mini-map\"></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}\n"] }]
96
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }, { type: i2.FFlowMediator }], propDecorators: { fFlowId: [{
94
97
  type: Input
95
98
  }], fLoaded: [{
96
99
  type: Output
97
100
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1mbG93L2YtZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZmxvdy9mLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQWMsWUFBWSxFQUNuQyxLQUFLLEVBQXFCLE1BQU0sRUFDakMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBRWhCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEdBQ2pCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFDTCxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFDaEUscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3hCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBRXhCLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQXlCekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBTzNDLElBQW9CLFdBQVc7UUFDN0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFP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cUI7d0JBQ3hCLEdBQUcsZ0JBQWdCO3dCQUNuQixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRTtxQkFDakQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07K0tBTy9CLE9BQU87c0JBRHRCLEtBQUs7Z0JBUVUsT0FBTztzQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGX0ZMT1csIEZGbG93QmFzZSB9IGZyb20gJy4vZi1mbG93LWJhc2UnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDbGVhclNlbGVjdGlvblJlcXVlc3QsXG4gIENPTU1PTl9QUk9WSURFUlMsXG4gIEdldEFsbE5vZGVzUmVjdEhhbmRsZXIsXG4gIEdldFNlbGVjdGlvblJlcXVlc3QsXG4gIFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdCxcbiAgU2VsZWN0QWxsUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZMT1cgfSBmcm9tICcuLi9nZXQtZmxvdy11aWQnO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uL2YtbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQ0FOVkFTX1BST1ZJREVSUywgQ09OTkVDVElPTlNfUFJPVklERVJTLCBFWFRFUk5BTF9JVEVNX1BST1ZJREVSUyxcbiAgRkRyYWdnYWJsZURhdGFDb250ZXh0LCBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQsXG4gIE5PREVfUFJPVklERVJTLFxuICBTRUxFQ1RJT05fQVJFQV9QUk9WSURFUlMsXG4gIFNJTkdMRV9TRUxFQ1RfUFJPVklERVJTXG59IGZyb20gJy4uL2YtZHJhZ2dhYmxlJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1mbG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtZmxvdy5jb21wb25lbnQuc2NzcycgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZkZsb3dJZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1mbG93XCIsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIEZGbG93TWVkaWF0b3IsXG4gICAgRkNvbXBvbmVudHNTdG9yZSxcbiAgICBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsXG4gICAgLi4uU0lOR0xFX1NFTEVDVF9QUk9WSURFUlMsXG4gICAgLi4uU0VMRUNUSU9OX0FSRUFfUFJPVklERVJTLFxuICAgIC4uLk5PREVfUFJPVklERVJTLFxuICAgIC4uLkNBTlZBU19QUk9WSURFUlMsXG4gICAgLi4uRVhURVJOQUxfSVRFTV9QUk9WSURFUlMsXG4gICAgLi4uQ09OTkVDVElPTlNfUFJPVklERVJTLFxuICAgIC4uLkNPTU1PTl9QUk9WSURFUlMsXG4gICAgeyBwcm92aWRlOiBGX0ZMT1csIHVzZUV4aXN0aW5nOiBGRmxvd0NvbXBvbmVudCB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkZsb3dDb21wb25lbnQgZXh0ZW5kcyBGRmxvd0Jhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24kOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZGbG93SWQ6IHN0cmluZyA9IGBmLWZsb3ctJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZMb2FkZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIGlzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSBnZXRBbGxOb2Rlc1JlY3RIYW5kbGVyOiBHZXRBbGxOb2Rlc1JlY3RIYW5kbGVyLFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZGbG93ID0gdGhpcztcbiAgICBGTE9XLlVJRCA9IHRoaXMuZkZsb3dJZDtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24kLmFkZChcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVPbkVsZW1lbnRzQ2hhbmdlcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25FbGVtZW50c0NoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNoYW5nZXMucGlwZShzdGFydFdpdGgobnVsbCksIGRlYm91bmNlVGltZSgyMCkpLnN1YnNjcmliZSgoKSA9PiB7XG5cbiAgICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdCgpKTtcblxuICAgICAgaWYgKCF0aGlzLmlzTG9hZGVkKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmZMb2FkZWQuZW1pdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE5vZGVzUmVjdCgpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsTm9kZXNSZWN0SGFuZGxlci5oYW5kbGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3Rpb24oKTogRlNlbGVjdGlvbkNoYW5nZUV2ZW50IHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KG5ldyBHZXRTZWxlY3Rpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBTZWxlY3RBbGxSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENsZWFyU2VsZWN0aW9uUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkRlZmluaXRpb25zXVwiPjwvbmctY29udGVudD5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtYmFja2dyb3VuZFwiPjwvbmctY29udGVudD5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtbGluZS1hbGlnbm1lbnRcIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNhbnZhc1wiPjwvbmctY29udGVudD5cblxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtc2VsZWN0aW9uLWFyZWFcIj48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1mbG93L2YtZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZmxvdy9mLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQWMsWUFBWSxFQUNuQyxLQUFLLEVBQXFCLE1BQU0sRUFDakMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQ3JDLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsZ0JBQWdCLEdBQ2pCLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFDTCxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFDaEUscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3hCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFeEIsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBeUJ6QixNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFPM0MsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFD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QixHQUFHLHVCQUF1Qjt3QkFDMUIsR0FBRyx3QkFBd0I7d0JBQzNCLEdBQUcsY0FBYzt3QkFDakIsR0FBRyxnQkFBZ0I7d0JBQ25CLEdBQUcsdUJBQXVCO3dCQUMxQixHQUFHLHFCQUFxQjt3QkFDeEIsR0FBRyxnQkFBZ0I7d0JBQ25CLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLGdCQUFnQixFQUFFO3FCQUNqRCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTTswSUFPL0IsT0FBTztzQkFEdEIsS0FBSztnQkFRVSxPQUFPO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfRkxPVywgRkZsb3dCYXNlIH0gZnJvbSAnLi9mLWZsb3ctYmFzZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENsZWFyU2VsZWN0aW9uUmVxdWVzdCxcbiAgQ09NTU9OX1BST1ZJREVSUywgR2V0Tm9kZXNSZWN0UmVxdWVzdCxcbiAgR2V0U2VsZWN0aW9uUmVxdWVzdCxcbiAgUmVkcmF3Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICBTZWxlY3RBbGxSZXF1ZXN0LFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRkxPVyB9IGZyb20gJy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBGRmxvd01lZGlhdG9yIH0gZnJvbSAnLi4vZi1tZWRpYXRvcic7XG5pbXBvcnQge1xuICBDQU5WQVNfUFJPVklERVJTLCBDT05ORUNUSU9OU19QUk9WSURFUlMsIEVYVEVSTkFMX0lURU1fUFJPVklERVJTLFxuICBGRHJhZ2dhYmxlRGF0YUNvbnRleHQsIEZTZWxlY3Rpb25DaGFuZ2VFdmVudCxcbiAgTk9ERV9QUk9WSURFUlMsXG4gIFNFTEVDVElPTl9BUkVBX1BST1ZJREVSUyxcbiAgU0lOR0xFX1NFTEVDVF9QUk9WSURFUlNcbn0gZnJvbSAnLi4vZi1kcmFnZ2FibGUnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtZmxvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWZsb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1mbG93LmNvbXBvbmVudC5zY3NzJyBdLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdmRmxvd0lkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWZsb3dcIixcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRkZsb3dNZWRpYXRvcixcbiAgICBGQ29tcG9uZW50c1N0b3JlLFxuICAgIEZEcmFnZ2FibGVEYXRhQ29udGV4dCxcbiAgICAuLi5TSU5HTEVfU0VMRUNUX1BST1ZJREVSUyxcbiAgICAuLi5TRUxFQ1RJT05fQVJFQV9QUk9WSURFUlMsXG4gICAgLi4uTk9ERV9QUk9WSURFUlMsXG4gICAgLi4uQ0FOVkFTX1BST1ZJREVSUyxcbiAgICAuLi5FWFRFUk5BTF9JVEVNX1BST1ZJREVSUyxcbiAgICAuLi5DT05ORUNUSU9OU19QUk9WSURFUlMsXG4gICAgLi4uQ09NTU9OX1BST1ZJREVSUyxcbiAgICB7IHByb3ZpZGU6IEZfRkxPVywgdXNlRXhpc3Rpbmc6IEZGbG93Q29tcG9uZW50IH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGRmxvd0NvbXBvbmVudCBleHRlbmRzIEZGbG93QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkZsb3dJZDogc3RyaW5nID0gYGYtZmxvdy0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkxvYWRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZNZWRpYXRvcjogRkZsb3dNZWRpYXRvcixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkZsb3cgPSB0aGlzO1xuICAgIEZMT1cuVUlEID0gdGhpcy5mRmxvd0lkO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiQuYWRkKFxuICAgICAgICB0aGlzLnN1YnNjcmliZU9uRWxlbWVudHNDaGFuZ2VzKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPbkVsZW1lbnRzQ2hhbmdlcygpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aChudWxsKSwgZGVib3VuY2VUaW1lKDIwKSkuc3Vic2NyaWJlKCgpID0+IHtcblxuICAgICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgUmVkcmF3Q29ubmVjdGlvbnNSZXF1ZXN0KCkpO1xuXG4gICAgICBpZiAoIXRoaXMuaXNMb2FkZWQpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZkxvYWRlZC5lbWl0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldE5vZGVzUmVjdCgpOiBJUmVjdCB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldE5vZGVzUmVjdFJlcXVlc3QoKSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvbigpOiBGU2VsZWN0aW9uQ2hhbmdlRXZlbnQge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PihuZXcgR2V0U2VsZWN0aW9uUmVxdWVzdCgpKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFNlbGVjdEFsbFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ2xlYXJTZWxlY3Rpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkRlZmluaXRpb25zXVwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWJhY2tncm91bmRcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1saW5lLWFsaWdubWVudFwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNhbnZhc1wiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNlbGVjdGlvbi1hcmVhXCI+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImYtbWluaS1tYXBcIj48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -2,10 +2,11 @@ import { Component } from '@angular/core';
2
2
  import { RectExtensions, SizeExtensions } from '@foblex/core';
3
3
  import { LineService, NearestCoordinateFinder } from './domain';
4
4
  import { F_LINE_ALIGNMENT, FLineAlignmentBase } from './f-line-alignment-base';
5
+ import { GetElementRectInFlowRequest } from '../domain';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../f-components-store";
7
8
  import * as i2 from "../f-draggable";
8
- import * as i3 from "../domain";
9
+ import * as i3 from "../f-mediator";
9
10
  export class FLineAlignmentComponent extends FLineAlignmentBase {
10
11
  get hostElement() {
11
12
  return this.elementReference.nativeElement;
@@ -16,12 +17,12 @@ export class FLineAlignmentComponent extends FLineAlignmentBase {
16
17
  get flowHost() {
17
18
  return this.fComponentsStore.fFlow.hostElement;
18
19
  }
19
- constructor(elementReference, fComponentsStore, fDraggableDataContext, getElementRectInFlowHandler) {
20
+ constructor(elementReference, fComponentsStore, fDraggableDataContext, fMediator) {
20
21
  super();
21
22
  this.elementReference = elementReference;
22
23
  this.fComponentsStore = fComponentsStore;
23
24
  this.fDraggableDataContext = fDraggableDataContext;
24
- this.getElementRectInFlowHandler = getElementRectInFlowHandler;
25
+ this.fMediator = fMediator;
25
26
  this.size = SizeExtensions.initialize();
26
27
  this.draggedNodeRect = RectExtensions.initialize();
27
28
  this.rects = [];
@@ -34,14 +35,14 @@ export class FLineAlignmentComponent extends FLineAlignmentBase {
34
35
  this.size = this.flowHost.getBoundingClientRect();
35
36
  this.rects = [];
36
37
  const draggedNodeRects = currentNodes.map((x) => {
37
- return this.getElementRectInFlowHandler.handle(x.hostElement);
38
+ return this.fMediator.send(new GetElementRectInFlowRequest(x.hostElement));
38
39
  });
39
40
  this.draggedNodeRect = RectExtensions.union(draggedNodeRects);
40
41
  const allNodesExcludeCurrents = allNodes.filter((x) => {
41
42
  return !currentNodes.includes(x);
42
43
  });
43
44
  this.rects = allNodesExcludeCurrents.map((x) => {
44
- return this.getElementRectInFlowHandler.handle(x.hostElement);
45
+ return this.fMediator.send(new GetElementRectInFlowRequest(x.hostElement));
45
46
  });
46
47
  }
47
48
  handle(difference) {
@@ -74,7 +75,7 @@ export class FLineAlignmentComponent extends FLineAlignmentBase {
74
75
  this.lineService.hideVerticalLine();
75
76
  this.lineService.hideHorizontalLine();
76
77
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentComponent, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.GetElementRectInFlowHandler }], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FLineAlignmentComponent, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }, { token: i2.FDraggableDataContext }, { token: i3.FFlowMediator }], target: i0.ɵɵFactoryTarget.Component }); }
78
79
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FLineAlignmentComponent, selector: "f-line-alignment", host: { classAttribute: "f-line-alignment f-component" }, providers: [
79
80
  { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
80
81
  ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "", isInline: true, styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] }); }
@@ -86,5 +87,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
86
87
  }, providers: [
87
88
  { provide: F_LINE_ALIGNMENT, useExisting: FLineAlignmentComponent }
88
89
  ], styles: [":host{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}\n"] }]
89
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.GetElementRectInFlowHandler }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUF5QyxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JHLE9BQU8sRUFBd0IsV0FBVyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQWtCL0UsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQUU3RCxJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBVUQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUF5QyxFQUN6QyxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLDJCQUF3RDtRQUVsRSxLQUFLLEVBQUUsQ0FBQztRQUxFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFsQjVELFNBQUksR0FBVSxjQUFjLENBQUMsVUFBVSxFQUFFLENB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T0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVlLFFBQVE7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzhHQXBGVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixxR0FKdkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDcEUsMkVBUlMsRUFBRTs7MkZBVUQsdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixFQUFFLFlBRUYsWUFBWSxRQUNoQjt3QkFDSixPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQ3BFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIElTaXplLCBJVHJhbnNmb3JtTW9kZWwsIFJlY3RFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJTGluZUFsaWdubWVudFJlc3VsdCwgTGluZVNlcnZpY2UsIE5lYXJlc3RDb29yZGluYXRlRmluZGVyIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgRl9MSU5FX0FMSUdOTUVOVCwgRkxpbmVBbGlnbm1lbnRCYXNlIH0gZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50LWJhc2UnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBHZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXIgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vZi1ub2RlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtbGluZS1hbGlnbm1lbnRcIixcbiAgdGVtcGxhdGU6IFwiXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWxpbmUtYWxpZ25tZW50IGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTElORV9BTElHTk1FTlQsIHVzZUV4aXN0aW5nOiBGTGluZUFsaWdubWVudENvbXBvbmVudCB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZMaW5lQWxpZ25tZW50Q29tcG9uZW50IGV4dGVuZHMgRkxpbmVBbGlnbm1lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGxpbmVTZXJ2aWNlOiBMaW5lU2VydmljZTtcblxuICBwcml2YXRlIHNpemU6IElTaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgZHJhZ2dlZE5vZGVSZWN0OiBJUmVjdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIHJlY3RzOiBJUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBnZXRFbGVtZW50UmVjdEluRmxvd0hhbmRsZXI6IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlclxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGluZVNlcnZpY2UgPSBuZXcgTGluZVNlcnZpY2UodGhpcy5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mRHJhZ2dhYmxlRGF0YUNvbnRleHQuZkxpbmVBbGlnbm1lbnQgPSB0aGlzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGluaXRpYWxpemUoYWxsTm9kZXM6IEZOb2RlQmFzZVtdLCBjdXJyZW50Tm9kZXM6IEZOb2RlQmFzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5zaXplID0gdGhpcy5mbG93SG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLnJlY3RzID0gW107XG4gICAgY29uc3QgZHJhZ2dlZE5vZGVSZWN0cyA9IGN1cnJlbnROb2Rlcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5kcmFnZ2VkTm9kZVJlY3QgPSBSZWN0RXh0ZW5zaW9ucy51bmlvbihkcmFnZ2VkTm9kZVJlY3RzKTtcblxuICAgIGNvbnN0IGFsbE5vZGVzRXhjbHVkZUN1cnJlbnRzID0gYWxsTm9kZXMuZmlsdGVyKCh4KSA9PiB7XG4gICAgICByZXR1cm4gIWN1cnJlbnROb2Rlcy5pbmNsdWRlcyh4KTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVjdHMgPSBhbGxOb2Rlc0V4Y2x1ZGVDdXJyZW50cy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlci5oYW5kbGUoeC5ob3N0RWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd0ludGVyc2VjdGluZ0xpbmVzKGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3SW50ZXJzZWN0aW5nTGluZXMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd1ZlcnRpY2FsTGluZShpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSwgdGhpcy5zaXplLCB0aGlzLnRyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIH1cbiAgICBpZiAoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5saW5lU2VydmljZS5kcmF3SG9yaXpvbnRhbExpbmUoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUsIHRoaXMuc2l6ZSwgdGhpcy50cmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQge1xuICAgIGNvbnN0IHJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5hZGRQb2ludCh0aGlzLmRyYWdnZWROb2RlUmVjdCwgZGlmZmVyZW5jZSk7XG4gICAgY29uc3QgZmluZGVyID0gbmV3IE5lYXJlc3RDb29yZGluYXRlRmluZGVyKHRoaXMucmVjdHMsIHJlY3QpO1xuICAgIGNvbnN0IHhSZXN1bHQgPSBmaW5kZXIuZmluZE5lYXJlc3RDb29yZGluYXRlQnlYKCk7XG4gICAgY29uc3QgeVJlc3VsdCA9IGZpbmRlci5maW5kTmVhcmVzdENvb3JkaW5hdGVCeVkoKTtcblxuICAgIGNvbnN0IHJlc3VsdDogSUxpbmVBbGlnbm1lbnRSZXN1bHQgPSB7IHhSZXN1bHQsIHlSZXN1bHQgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZUhvcml6b250YWxMaW5lKCk7XG4gIH1cbn1cbiJdfQ==
90
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }, { type: i2.FDraggableDataContext }, { type: i3.FFlowMediator }] });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtbGluZS1hbGlnbm1lbnQvZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUF5QyxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JHLE9BQU8sRUFBd0IsV0FBVyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7QUFjeEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUFrQjtJQUU3RCxJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBVUQsSUFBWSxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFNLENBQUMsV0FBVyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUNZLGdCQUF5QyxFQUN6QyxnQkFBa0MsRUFDbEMscUJBQTRDLEVBQzVDLFNBQXdCO1FBRWxDLEtBQUssRUFBRSxDQUFDO1FBTEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQWxC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d0JBQXdCLEVBQUUsQ0FBQztRQUVsRCxNQUFNLE1BQU0sR0FBeUIsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDMUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVlLFFBQVE7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzhHQXBGVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixxR0FKdkI7WUFDVCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDcEUsMkVBUlMsRUFBRTs7MkZBVUQsdUJBQXVCO2tCQVpuQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixFQUFFLFlBRUYsWUFBWSxRQUNoQjt3QkFDSixPQUFPLEVBQUUsOEJBQThCO3FCQUN4QyxhQUNVO3dCQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcseUJBQXlCLEVBQUU7cUJBQ3BFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QsIElTaXplLCBJVHJhbnNmb3JtTW9kZWwsIFJlY3RFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJTGluZUFsaWdubWVudFJlc3VsdCwgTGluZVNlcnZpY2UsIE5lYXJlc3RDb29yZGluYXRlRmluZGVyIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgRl9MSU5FX0FMSUdOTUVOVCwgRkxpbmVBbGlnbm1lbnRCYXNlIH0gZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50LWJhc2UnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkZsb3dNZWRpYXRvciB9IGZyb20gJy4uL2YtbWVkaWF0b3InO1xuaW1wb3J0IHsgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0IH0gZnJvbSAnLi4vZG9tYWluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtbGluZS1hbGlnbm1lbnRcIixcbiAgdGVtcGxhdGU6IFwiXCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1saW5lLWFsaWdubWVudC5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGV4cG9ydEFzOiBcImZDb21wb25lbnRcIixcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWxpbmUtYWxpZ25tZW50IGYtY29tcG9uZW50J1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTElORV9BTElHTk1FTlQsIHVzZUV4aXN0aW5nOiBGTGluZUFsaWdubWVudENvbXBvbmVudCB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZMaW5lQWxpZ25tZW50Q29tcG9uZW50IGV4dGVuZHMgRkxpbmVBbGlnbm1lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGxpbmVTZXJ2aWNlOiBMaW5lU2VydmljZTtcblxuICBwcml2YXRlIHNpemU6IElTaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgZHJhZ2dlZE5vZGVSZWN0OiBJUmVjdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIHJlY3RzOiBJUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgdHJhbnNmb3JtKCk6IElUcmFuc2Zvcm1Nb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwcml2YXRlIGdldCBmbG93SG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mRmxvdyEuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZEcmFnZ2FibGVEYXRhQ29udGV4dDogRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZGbG93TWVkaWF0b3IsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5saW5lU2VydmljZSA9IG5ldyBMaW5lU2VydmljZSh0aGlzLmhvc3RFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZEcmFnZ2FibGVEYXRhQ29udGV4dC5mTGluZUFsaWdubWVudCA9IHRoaXM7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaW5pdGlhbGl6ZShhbGxOb2RlczogRk5vZGVCYXNlW10sIGN1cnJlbnROb2RlczogRk5vZGVCYXNlW10pOiB2b2lkIHtcbiAgICB0aGlzLnNpemUgPSB0aGlzLmZsb3dIb3N0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHRoaXMucmVjdHMgPSBbXTtcbiAgICBjb25zdCBkcmFnZ2VkTm9kZVJlY3RzID0gY3VycmVudE5vZGVzLm1hcCgoeCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXRFbGVtZW50UmVjdEluRmxvd1JlcXVlc3QoeC5ob3N0RWxlbWVudCkpO1xuICAgIH0pO1xuICAgIHRoaXMuZHJhZ2dlZE5vZGVSZWN0ID0gUmVjdEV4dGVuc2lvbnMudW5pb24oZHJhZ2dlZE5vZGVSZWN0cyk7XG5cbiAgICBjb25zdCBhbGxOb2Rlc0V4Y2x1ZGVDdXJyZW50cyA9IGFsbE5vZGVzLmZpbHRlcigoeCkgPT4ge1xuICAgICAgcmV0dXJuICFjdXJyZW50Tm9kZXMuaW5jbHVkZXMoeCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlY3RzID0gYWxsTm9kZXNFeGNsdWRlQ3VycmVudHMubWFwKCh4KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCh4Lmhvc3RFbGVtZW50KSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd0ludGVyc2VjdGluZ0xpbmVzKGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3SW50ZXJzZWN0aW5nTGluZXMoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gdGhpcy5maW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZSk7XG4gICAgaWYgKGludGVyc2VjdC54UmVzdWx0LnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZHJhd1ZlcnRpY2FsTGluZShpbnRlcnNlY3QueFJlc3VsdC52YWx1ZSwgdGhpcy5zaXplLCB0aGlzLnRyYW5zZm9ybSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIH1cbiAgICBpZiAoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5saW5lU2VydmljZS5kcmF3SG9yaXpvbnRhbExpbmUoaW50ZXJzZWN0LnlSZXN1bHQudmFsdWUsIHRoaXMuc2l6ZSwgdGhpcy50cmFuc2Zvcm0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmhpZGVIb3Jpem9udGFsTGluZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaW5kTmVhcmVzdENvb3JkaW5hdGUoZGlmZmVyZW5jZTogSVBvaW50KTogSUxpbmVBbGlnbm1lbnRSZXN1bHQge1xuICAgIGNvbnN0IHJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5hZGRQb2ludCh0aGlzLmRyYWdnZWROb2RlUmVjdCwgZGlmZmVyZW5jZSk7XG4gICAgY29uc3QgZmluZGVyID0gbmV3IE5lYXJlc3RDb29yZGluYXRlRmluZGVyKHRoaXMucmVjdHMsIHJlY3QpO1xuICAgIGNvbnN0IHhSZXN1bHQgPSBmaW5kZXIuZmluZE5lYXJlc3RDb29yZGluYXRlQnlYKCk7XG4gICAgY29uc3QgeVJlc3VsdCA9IGZpbmRlci5maW5kTmVhcmVzdENvb3JkaW5hdGVCeVkoKTtcblxuICAgIGNvbnN0IHJlc3VsdDogSUxpbmVBbGlnbm1lbnRSZXN1bHQgPSB7IHhSZXN1bHQsIHlSZXN1bHQgfTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZVZlcnRpY2FsTGluZSgpO1xuICAgIHRoaXMubGluZVNlcnZpY2UuaGlkZUhvcml6b250YWxMaW5lKCk7XG4gIH1cbn1cbiJdfQ==
@@ -3,12 +3,12 @@ import { FCanvasBase } from './f-canvas-base';
3
3
  import { IPoint } from '@foblex/core';
4
4
  import { FCanvasChangeEvent } from './domain';
5
5
  import { FComponentsStore } from '../f-components-store';
6
- import { GetAllNodesRectHandler } from '../domain';
7
6
  import { FNodeBase } from '../f-node';
7
+ import { FFlowMediator } from '../f-mediator';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class FCanvasComponent extends FCanvasBase implements OnInit {
10
- private getAllNodesRectHandler;
11
10
  private elementReference;
11
+ private fMediator;
12
12
  private fComponentsStore;
13
13
  fCanvasChange: EventEmitter<FCanvasChangeEvent>;
14
14
  set position(value: IPoint | undefined);
@@ -17,7 +17,7 @@ export declare class FCanvasComponent extends FCanvasBase implements OnInit {
17
17
  get hostElement(): HTMLElement;
18
18
  fNodesContainer: ElementRef<HTMLElement>;
19
19
  fConnectionsContainer: ElementRef<HTMLElement>;
20
- constructor(getAllNodesRectHandler: GetAllNodesRectHandler, elementReference: ElementRef<HTMLElement>, fComponentsStore: FComponentsStore);
20
+ constructor(elementReference: ElementRef<HTMLElement>, fMediator: FFlowMediator, fComponentsStore: FComponentsStore);
21
21
  ngOnInit(): void;
22
22
  redraw(): void;
23
23
  redrawWithAnimation(): void;
@@ -1,4 +1,5 @@
1
1
  export declare enum EFConnectionBehavior {
2
2
  FIXED = "fixed",
3
+ FIXED_CENTER = "fixed_center",
3
4
  FLOATING = "floating"
4
5
  }
@@ -9,6 +9,7 @@ export declare abstract class FConnectorBase implements IHasStateChanges, IHasHo
9
9
  readonly stateChanges: Subject<void>;
10
10
  abstract canBeConnected: boolean;
11
11
  abstract isConnected: boolean;
12
+ isSelfConnectable: boolean;
12
13
  fConnectableSide: EFConnectableSide;
13
14
  _fConnectableSide: EFConnectableSide;
14
15
  isContains(element: HTMLElement | SVGElement): boolean;
@@ -3,6 +3,7 @@ import { FConnectorBase } from '../f-connector-base';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare const F_NODE_OUTPUT: InjectionToken<FNodeOutputBase>;
5
5
  export declare abstract class FNodeOutputBase extends FConnectorBase {
6
+ abstract multiple: boolean;
6
7
  isConnected: boolean;
7
8
  get canBeConnected(): boolean;
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FNodeOutputBase, never>;
@@ -9,16 +9,18 @@ export declare class FNodeOutputDirective extends FNodeOutputBase implements OnI
9
9
  private fNode;
10
10
  private fComponentsStore;
11
11
  id: string;
12
+ multiple: boolean;
12
13
  get disabled(): boolean;
13
14
  set disabled(isDisabled: boolean | undefined | string);
14
15
  private isDisabled;
15
16
  _fConnectableSide: EFConnectableSide;
16
17
  isConnected: boolean;
18
+ isSelfConnectable: boolean;
17
19
  get hostElement(): HTMLElement | SVGElement;
18
20
  constructor(elementReference: ElementRef<HTMLElement>, fNode: FNodeBase, fComponentsStore: FComponentsStore);
19
21
  ngOnInit(): void;
20
22
  setConnected(isConnected: boolean): void;
21
23
  ngOnDestroy(): void;
22
24
  static ɵfac: i0.ɵɵFactoryDeclaration<FNodeOutputDirective, never>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<FNodeOutputDirective, "[fNodeOutput]", ["fNodeOutput"], { "id": { "alias": "fOutputId"; "required": false; }; "disabled": { "alias": "fOutputDisabled"; "required": false; }; "_fConnectableSide": { "alias": "fOutputConnectableSide"; "required": false; }; }, {}, never, never, false, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FNodeOutputDirective, "[fNodeOutput]", ["fNodeOutput"], { "id": { "alias": "fOutputId"; "required": false; }; "multiple": { "alias": "fOutputMultiple"; "required": false; }; "disabled": { "alias": "fOutputDisabled"; "required": false; }; "_fConnectableSide": { "alias": "fOutputConnectableSide"; "required": false; }; "isSelfConnectable": { "alias": "isSelfConnectable"; "required": false; }; }, {}, never, never, false, never>;
24
26
  }
@@ -2,18 +2,16 @@ import { IHandler, IPointerEvent } from '@foblex/core';
2
2
  import { FComponentsStore } from '../../../f-components-store';
3
3
  import { FDraggableDataContext } from '../../f-draggable-data-context';
4
4
  import { FindFirstCanBeConnectedOutputByOutletHandler } from './find-first-can-be-connected-output-by-outlet';
5
- import { GetElementRectInFlowHandler } from '../../../domain';
6
5
  import { FFlowMediator } from '../../../f-mediator';
7
6
  import * as i0 from "@angular/core";
8
7
  export declare class CreateConnectionPrepareDragSequence implements IHandler<IPointerEvent, void> {
9
8
  private fComponentsStore;
10
9
  private fDraggableDataContext;
11
- private getElementRectInFlowHandler;
12
10
  private fMediator;
13
11
  private findFirstCanBeConnectedOutputByOutletHandler;
14
12
  private get transform();
15
13
  private get flowHost();
16
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getElementRectInFlowHandler: GetElementRectInFlowHandler, fMediator: FFlowMediator, findFirstCanBeConnectedOutputByOutletHandler: FindFirstCanBeConnectedOutputByOutletHandler);
14
+ constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fMediator: FFlowMediator, findFirstCanBeConnectedOutputByOutletHandler: FindFirstCanBeConnectedOutputByOutletHandler);
17
15
  handle(event: IPointerEvent): void;
18
16
  private createConnectionHandler;
19
17
  private isNodeOutput;
@@ -1,4 +1,4 @@
1
1
  import { CreateConnectionOnPointerUp, CreateConnectionPrepareDragSequence, FindFirstCanBeConnectedOutputByOutletHandler } from './create-connection';
2
2
  import { FindInputsUnderPointerHandler, FirstNotConnectedInputOfNodeUnderPointerHandler, InputsUnderPointerHandler } from './find-inputs-under-pointer';
3
3
  import { ReassignConnectionOnPointerUp, ReassignConnectionPrepareDragSequence } from './reassign-connection';
4
- export declare const CONNECTIONS_PROVIDERS: (typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof CreateConnectionOnPointerUp | typeof CreateConnectionPrepareDragSequence | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof InputsUnderPointerHandler | typeof FindInputsUnderPointerHandler | typeof ReassignConnectionOnPointerUp | typeof ReassignConnectionPrepareDragSequence)[];
4
+ export declare const CONNECTIONS_PROVIDERS: (typeof ReassignConnectionPrepareDragSequence | typeof ReassignConnectionOnPointerUp | typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof CreateConnectionOnPointerUp | typeof CreateConnectionPrepareDragSequence | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof InputsUnderPointerHandler | typeof FindInputsUnderPointerHandler)[];
@@ -1,11 +1,9 @@
1
1
  import { IPoint } from '@foblex/core';
2
2
  import { IDraggableItem } from '../../i-draggable-item';
3
3
  import { EFDraggableType } from '../../e-f-draggable-type';
4
- import { GetInputRectInFlowHandler } from '../../../domain';
5
4
  import { FConnectionBase } from '../../../f-connection';
6
5
  import { FFlowMediator } from '../../../f-mediator';
7
6
  export declare class ReassignConnectionDragHandler implements IDraggableItem {
8
- private getInputRectInFlowHandler;
9
7
  private fMediator;
10
8
  connection: FConnectionBase;
11
9
  readonly type: EFDraggableType;
@@ -13,7 +11,7 @@ export declare class ReassignConnectionDragHandler implements IDraggableItem {
13
11
  private onPointerDownToConnectorRect;
14
12
  private outputSide;
15
13
  private inputSide;
16
- constructor(getInputRectInFlowHandler: GetInputRectInFlowHandler, fMediator: FFlowMediator, connection: FConnectionBase);
14
+ constructor(fMediator: FFlowMediator, connection: FConnectionBase);
17
15
  initialize(): void;
18
16
  move(difference: IPoint): void;
19
17
  complete(): void;
@@ -1,15 +1,15 @@
1
1
  import { IHandler, IPointerEvent } from '@foblex/core';
2
2
  import { FComponentsStore } from '../../f-components-store';
3
3
  import { FDraggableDataContext } from '../f-draggable-data-context';
4
- import { GetElementRectInFlowHandler } from '../../domain';
4
+ import { FFlowMediator } from '../../f-mediator';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class ExternalItemOnPointerUp implements IHandler<IPointerEvent, void> {
7
7
  private fComponentsStore;
8
8
  private fDraggableDataContext;
9
- private getElementRectInFlowHandler;
9
+ private fMediator;
10
10
  private get flowHost();
11
11
  private get fCreateNode();
12
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getElementRectInFlowHandler: GetElementRectInFlowHandler);
12
+ constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fMediator: FFlowMediator);
13
13
  handle(event: IPointerEvent): void;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<ExternalItemOnPointerUp, never>;
15
15
  static ɵprov: i0.ɵɵInjectableDeclaration<ExternalItemOnPointerUp>;
@@ -1,3 +1,3 @@
1
1
  import { ExternalItemOnPointerUp } from './external-item.on-pointer-up';
2
2
  import { ExternalItemPrepareDragSequence } from './external-item.prepare-drag-sequence';
3
- export declare const EXTERNAL_ITEM_PROVIDERS: (typeof ExternalItemOnPointerUp | typeof ExternalItemPrepareDragSequence)[];
3
+ export declare const EXTERNAL_ITEM_PROVIDERS: (typeof ExternalItemPrepareDragSequence | typeof ExternalItemOnPointerUp)[];
@@ -1,11 +1,9 @@
1
1
  import { IPoint } from '@foblex/core';
2
2
  import { IDraggableItem } from '../i-draggable-item';
3
3
  import { EFDraggableType } from '../e-f-draggable-type';
4
- import { GetInputRectInFlowHandler } from '../../domain';
5
4
  import { FConnectionBase } from '../../f-connection';
6
5
  import { FFlowMediator } from '../../f-mediator';
7
6
  export declare class ConnectionSourceDragHandler implements IDraggableItem {
8
- private getInputRectInFlowHandler;
9
7
  private fMediator;
10
8
  private connection;
11
9
  readonly type: EFDraggableType;
@@ -13,7 +11,7 @@ export declare class ConnectionSourceDragHandler implements IDraggableItem {
13
11
  private fromConnectorSide;
14
12
  private toConnectorRect;
15
13
  private toConnectorSide;
16
- constructor(getInputRectInFlowHandler: GetInputRectInFlowHandler, fMediator: FFlowMediator, connection: FConnectionBase);
14
+ constructor(fMediator: FFlowMediator, connection: FConnectionBase);
17
15
  initialize(): void;
18
16
  move(difference: IPoint): void;
19
17
  }
@@ -1,11 +1,9 @@
1
1
  import { IPoint } from '@foblex/core';
2
2
  import { IDraggableItem } from '../i-draggable-item';
3
3
  import { EFDraggableType } from '../e-f-draggable-type';
4
- import { GetInputRectInFlowHandler } from '../../domain';
5
4
  import { FConnectionBase } from '../../f-connection';
6
5
  import { FFlowMediator } from '../../f-mediator';
7
6
  export declare class ConnectionTargetDragHandler implements IDraggableItem {
8
- private getInputRectInFlowHandler;
9
7
  private fMediator;
10
8
  private connection;
11
9
  readonly type: EFDraggableType;
@@ -13,7 +11,7 @@ export declare class ConnectionTargetDragHandler implements IDraggableItem {
13
11
  private fromConnectorSide;
14
12
  private toConnectorRect;
15
13
  private toConnectorSide;
16
- constructor(getInputRectInFlowHandler: GetInputRectInFlowHandler, fMediator: FFlowMediator, connection: FConnectionBase);
14
+ constructor(fMediator: FFlowMediator, connection: FConnectionBase);
17
15
  initialize(): void;
18
16
  move(difference: IPoint): void;
19
17
  }
@@ -1,18 +1,16 @@
1
1
  import { IPoint } from '@foblex/core';
2
2
  import { IDraggableItem } from '../i-draggable-item';
3
3
  import { EFDraggableType } from '../e-f-draggable-type';
4
- import { GetInputRectInFlowHandler } from '../../domain';
5
4
  import { FConnectionBase } from '../../f-connection';
6
5
  import { FFlowMediator } from '../../f-mediator';
7
6
  export declare class ConnectionDragHandler implements IDraggableItem {
8
- private getInputRectInFlowHandler;
9
7
  private fMediator;
10
8
  connection: FConnectionBase;
11
9
  readonly type = EFDraggableType.CONNECTION;
12
10
  private onPointerDownVector;
13
11
  private fromConnectorSide;
14
12
  private toConnectorSide;
15
- constructor(getInputRectInFlowHandler: GetInputRectInFlowHandler, fMediator: FFlowMediator, connection: FConnectionBase);
13
+ constructor(fMediator: FFlowMediator, connection: FConnectionBase);
16
14
  initialize(): void;
17
15
  move(difference: IPoint): void;
18
16
  }
@@ -1,17 +1,18 @@
1
1
  import { IHandler } from '@foblex/core';
2
2
  import { FComponentsStore } from '../../../../f-components-store';
3
3
  import { FDraggableDataContext } from '../../../f-draggable-data-context';
4
- import { GetElementRectInFlowHandler, GetIncomingConnectionsHandler, GetOutgoingConnectionsHandler } from '../../../../domain';
4
+ import { GetIncomingConnectionsHandler, GetOutgoingConnectionsHandler } from '../../../../domain';
5
+ import { FFlowMediator } from '../../../../f-mediator';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class IsConnectionUnderNodeHandler implements IHandler<void> {
7
8
  private fComponentsStore;
8
9
  private fDraggableDataContext;
9
- private getElementRectInFlowHandler;
10
+ private fMediator;
10
11
  private getOutgoingConnectionsHandler;
11
12
  private getIncomingConnectionsHandler;
12
13
  private get transform();
13
14
  private get flowHost();
14
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getElementRectInFlowHandler: GetElementRectInFlowHandler, getOutgoingConnectionsHandler: GetOutgoingConnectionsHandler, getIncomingConnectionsHandler: GetIncomingConnectionsHandler);
15
+ constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, fMediator: FFlowMediator, getOutgoingConnectionsHandler: GetOutgoingConnectionsHandler, getIncomingConnectionsHandler: GetIncomingConnectionsHandler);
15
16
  handle(): void;
16
17
  private isValidRequest;
17
18
  private getOutputsForNode;