@foblex/flow 1.3.3 → 1.3.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 (79) hide show
  1. package/components/f-flow/f-canvas/f-canvas.component.d.ts +1 -1
  2. package/domain/providers.d.ts +1 -1
  3. package/esm2022/components/f-flow/f-backgroud/f-background-base.mjs +3 -3
  4. package/esm2022/components/f-flow/f-backgroud/f-background.component.mjs +3 -3
  5. package/esm2022/components/f-flow/f-backgroud/f-cell-pattern/f-cell-pattern.component.mjs +3 -3
  6. package/esm2022/components/f-flow/f-canvas/f-canvas-base.mjs +3 -3
  7. package/esm2022/components/f-flow/f-canvas/f-canvas.component.mjs +5 -5
  8. package/esm2022/components/f-flow/f-canvas/f-zoom/f-zoom.directive.mjs +3 -3
  9. package/esm2022/components/f-flow/f-flow.component.mjs +3 -3
  10. package/esm2022/domain/get-all-nodes-rect.handler.mjs +3 -3
  11. package/esm2022/domain/get-connection-vector/get-connection-vector.handler.mjs +3 -3
  12. package/esm2022/domain/get-connection.handler.mjs +3 -3
  13. package/esm2022/domain/get-element-rect-in-flow.handler.mjs +3 -3
  14. package/esm2022/domain/get-incoming-connections.handler.mjs +3 -3
  15. package/esm2022/domain/get-input-rect-in-flow.handler.mjs +3 -3
  16. package/esm2022/domain/get-outgoing-connections.handler.mjs +3 -3
  17. package/esm2022/domain/get-output-rect-in-flow.handler.mjs +3 -3
  18. package/esm2022/domain/select-all.handler.mjs +3 -3
  19. package/esm2022/domain/update-connection-layer.handler.mjs +3 -3
  20. package/esm2022/domain/update-node-layer.handler.mjs +3 -3
  21. package/esm2022/f-components-store.mjs +3 -3
  22. package/esm2022/f-connection/common/f-connection-base.mjs +3 -3
  23. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +3 -3
  24. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +3 -3
  25. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle.component.mjs +3 -3
  26. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +3 -3
  27. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +3 -3
  28. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +3 -3
  29. package/esm2022/f-connection/f-connection/f-connection.component.mjs +3 -3
  30. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +3 -3
  31. package/esm2022/f-connection/f-marker/f-marker-base.mjs +3 -3
  32. package/esm2022/f-connection/f-marker/f-marker.component.mjs +3 -3
  33. package/esm2022/f-draggable/canvas/canvas.on-pointer-up.mjs +3 -3
  34. package/esm2022/f-draggable/canvas/canvas.prepare-drag-sequence.mjs +3 -3
  35. package/esm2022/f-draggable/components/f-external-item/f-external-item-base.mjs +3 -3
  36. package/esm2022/f-draggable/components/f-external-item/f-external-item.directive.mjs +3 -3
  37. package/esm2022/f-draggable/components/f-external-item/f-external-item.service.mjs +3 -3
  38. package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment-base.mjs +3 -3
  39. package/esm2022/f-draggable/components/f-line-alignment/f-line-alignment.component.mjs +3 -3
  40. package/esm2022/f-draggable/components/f-selection-area/f-selection-area-base.mjs +3 -3
  41. package/esm2022/f-draggable/components/f-selection-area/f-selection-area.component.mjs +3 -3
  42. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +3 -3
  43. package/esm2022/f-draggable/connections/create-connection/create-connection.prepare-drag-sequence.mjs +3 -3
  44. package/esm2022/f-draggable/connections/create-connection/find-first-can-be-connected-output-by-outlet/find-first-can-be-connected-output-by-outlet.handler.mjs +3 -3
  45. package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +3 -3
  46. package/esm2022/f-draggable/connections/find-inputs-under-pointer/first-not-connected-input-of-node-under-pointer/first-not-connected-input-of-node-under-pointer.handler.mjs +3 -3
  47. package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +3 -3
  48. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.on-pointer-up.mjs +3 -3
  49. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +3 -3
  50. package/esm2022/f-draggable/external-item/external-item.on-pointer-up.mjs +3 -3
  51. package/esm2022/f-draggable/external-item/external-item.prepare-drag-sequence.mjs +3 -3
  52. package/esm2022/f-draggable/f-draggable-base.mjs +3 -3
  53. package/esm2022/f-draggable/f-draggable-data-context.mjs +3 -3
  54. package/esm2022/f-draggable/f-draggable.directive.mjs +3 -3
  55. package/esm2022/f-draggable/node/domain/is-connection-under-node/is-connection-under-node.handler.mjs +3 -3
  56. package/esm2022/f-draggable/node/node.on-pointer-up.mjs +3 -3
  57. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +3 -3
  58. package/esm2022/f-draggable/selection-area/get-can-be-selected-items/get-can-be-selected-items.handler.mjs +3 -3
  59. package/esm2022/f-draggable/selection-area/selection-area.on-pointer-up.mjs +3 -3
  60. package/esm2022/f-draggable/selection-area/selection-area.prepare-drag-sequence.mjs +3 -3
  61. package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +3 -3
  62. package/esm2022/f-flow.module.mjs +4 -4
  63. package/esm2022/f-node/f-connectors/f-node-input/f-node-input-base.mjs +3 -3
  64. package/esm2022/f-node/f-connectors/f-node-input/f-node-input.directive.mjs +3 -3
  65. package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet-base.mjs +3 -3
  66. package/esm2022/f-node/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +3 -3
  67. package/esm2022/f-node/f-connectors/f-node-output/f-node-output-base.mjs +3 -3
  68. package/esm2022/f-node/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  69. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +3 -3
  70. package/esm2022/f-node/f-node-base.mjs +4 -2
  71. package/esm2022/f-node/f-node.component.mjs +28 -13
  72. package/f-draggable/connections/providers.d.ts +1 -1
  73. package/f-draggable/external-item/providers.d.ts +1 -1
  74. package/f-draggable/node/providers.d.ts +1 -1
  75. package/f-node/f-node-base.d.ts +1 -0
  76. package/f-node/f-node.component.d.ts +5 -3
  77. package/fesm2022/foblex-flow.mjs +232 -215
  78. package/fesm2022/foblex-flow.mjs.map +1 -1
  79. package/package.json +14 -4
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from "@angular/core";
1
+ import { Directive, EventEmitter, Input, Output, } from "@angular/core";
2
2
  import { PointExtensions } from '@foblex/core';
3
3
  import { FNodeBase, F_NODE } from './f-node-base';
4
4
  import { startWith, Subscription } from 'rxjs';
@@ -18,9 +18,10 @@ export class FNodeComponent extends FNodeBase {
18
18
  get hostElement() {
19
19
  return this.elementReference.nativeElement;
20
20
  }
21
- constructor(elementReference, fComponentsStore) {
21
+ constructor(elementReference, renderer, fComponentsStore) {
22
22
  super();
23
23
  this.elementReference = elementReference;
24
+ this.renderer = renderer;
24
25
  this.fComponentsStore = fComponentsStore;
25
26
  this.subscriptions$ = new Subscription();
26
27
  this.id = `f-node-${uniqueId++}`;
@@ -29,9 +30,18 @@ export class FNodeComponent extends FNodeBase {
29
30
  this.connectors = [];
30
31
  }
31
32
  ngOnInit() {
33
+ this.setStyle('position', 'absolute');
34
+ this.setStyle('transform-origin', '0 0');
35
+ this.setStyle('user-select', 'none');
36
+ this.setStyle('pointer-events', 'all');
37
+ this.setStyle('left', '0');
38
+ this.setStyle('top', '0');
32
39
  super.redraw();
33
40
  this.fComponentsStore.addNode(this);
34
41
  }
42
+ setStyle(styleName, value) {
43
+ this.renderer.setStyle(this.hostElement, styleName, value);
44
+ }
35
45
  ngAfterViewInit() {
36
46
  this.subscriptions$.add(this.subscribeOnResizeChanges());
37
47
  }
@@ -60,21 +70,26 @@ export class FNodeComponent extends FNodeBase {
60
70
  this.stateChanges.complete();
61
71
  this.subscriptions$.unsubscribe();
62
72
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FNodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: FNodeComponent, selector: "f-node", inputs: { id: "id", position: ["fNodePosition", "position"], disabled: "disabled" }, outputs: { positionChange: "fNodePositionChange" }, host: { properties: { "attr.id": "id", "class.f-node-disabled": "disabled" }, classAttribute: "f-node f-component" }, providers: [
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive }); }
74
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: FNodeComponent, selector: "[fNode]", inputs: { id: "id", position: ["fNodePosition", "position"], disabled: "disabled" }, outputs: { positionChange: "fNodePositionChange" }, host: { properties: { "attr.id": "id", "class.f-node-disabled": "disabled" }, classAttribute: "f-node f-component" }, providers: [
65
75
  { provide: F_NODE, useExisting: FNodeComponent }
66
- ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{position:absolute!important;left:0;top:0;pointer-events:all;transform-origin:0 0;-webkit-user-select:none;user-select:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 }); }
67
77
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FNodeComponent, decorators: [{
69
- type: Component,
70
- args: [{ selector: "f-node", exportAs: "fComponent", changeDetection: ChangeDetectionStrategy.OnPush, host: {
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FNodeComponent, decorators: [{
79
+ type: Directive,
80
+ args: [{
81
+ selector: "[fNode]",
82
+ exportAs: "fComponent",
83
+ host: {
71
84
  '[attr.id]': 'id',
72
85
  class: "f-node f-component",
73
- '[class.f-node-disabled]': 'disabled',
74
- }, providers: [
86
+ '[class.f-node-disabled]': 'disabled'
87
+ },
88
+ providers: [
75
89
  { provide: F_NODE, useExisting: FNodeComponent }
76
- ], template: "<ng-content></ng-content>\n", styles: [":host{position:absolute!important;left:0;top:0;pointer-events:all;transform-origin:0 0;-webkit-user-select:none;user-select:none}\n"] }]
77
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }], propDecorators: { id: [{
90
+ ],
91
+ }]
92
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.FComponentsStore }], propDecorators: { id: [{
78
93
  type: Input
79
94
  }], position: [{
80
95
  type: Input,
@@ -85,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
85
100
  }], disabled: [{
86
101
  type: Input
87
102
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2Ytbm9kZS9mLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQzVELEtBQUssRUFBcUIsTUFBTSxHQUNqQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTJCLGVBQWUsRUFBYyxNQUFNLGNBQWMsQ0FBQztBQUNwRixPQUFPLEVBQ0wsU0FBUyxFQUFFLE1BQU0sRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3RELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWlCekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBTzNDLElBQ29CLFFBQVEsQ0FBQyxLQUFpQjtRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBUUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBSUQsWUFDWSxnQkFBeUMsRUFDekMsZ0JBQWtDO1FBRTVDLEtBQUssRUFB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SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCwgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFBvaW50SW5wdXQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgRk5vZGVCYXNlLCBGX05PREVcbn0gZnJvbSAnLi9mLW5vZGUtYmFzZSc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRlJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnLi9mLXJlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgR2V0Q29ubmVjdG9yU2lkZUluTm9kZUhhbmRsZXIgfSBmcm9tICcuLi9kb21haW4nO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLW5vZGVcIixcbiAgZXhwb3J0QXM6IFwiZkNvbXBvbmVudFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ytbm9kZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFsgXCIuL2Ytbm9kZS5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgY2xhc3M6IFwiZi1ub2RlIGYtY29tcG9uZW50XCIsXG4gICAgJ1tjbGFzcy5mLW5vZGUtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX05PREUsIHVzZUV4aXN0aW5nOiBGTm9kZUNvbXBvbmVudCB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVDb21wb25lbnQgZXh0ZW5kcyBGTm9kZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIElIYXNIb3N0RWxlbWVudCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcgPSBgZi1ub2RlLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmTm9kZVBvc2l0aW9uJylcbiAgcHVibGljIG92ZXJyaWRlIHNldCBwb3NpdGlvbih2YWx1ZTogUG9pbnRJbnB1dCkge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmNhc3RUb1BvaW50KHZhbHVlKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgcG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cblxuICBAT3V0cHV0KCdmTm9kZVBvc2l0aW9uQ2hhbmdlJylcbiAgcHVibGljIG92ZXJyaWRlIHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBvaW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBvaW50PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIucmVkcmF3KCk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZE5vZGUodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuYWRkKFxuICAgICAgICB0aGlzLnN1YnNjcmliZU9uUmVzaXplQ2hhbmdlcygpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBGUmVzaXplT2JzZXJ2ZXIodGhpcy5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCkucGlwZShzdGFydFdpdGgobnVsbCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3RvcnMuZm9yRWFjaCgoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSkgPT4ge1xuICAgICAgICBjb25uZWN0b3Iuc2lkZSA9IG5ldyBHZXRDb25uZWN0b3JTaWRlSW5Ob2RlSGFuZGxlcigpLmhhbmRsZShjb25uZWN0b3IuaG9zdEVsZW1lbnQsIHRoaXMuaG9zdEVsZW1lbnQpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY2hhbmdlcy5uZXh0KCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ29ubmVjdG9yKGNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3RvcnMucHVzaChjb25uZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNvbm5lY3Rvcihjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKTogdm9pZCB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmNvbm5lY3RvcnMuaW5kZXhPZihjb25uZWN0b3IpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUucmVtb3ZlTm9kZSh0aGlzKTtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1ub2RlL2Ytbm9kZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUUrQixTQUFTLEVBQWMsWUFBWSxFQUN2RSxLQUFLLEVBQXFCLE1BQU0sR0FDakMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEyQixlQUFlLEVBQWMsTUFBTSxjQUFjLENBQUM7QUFDcEYsT0FBTyxFQUNMLFNBQVMsRUFBRSxNQUFNLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUUxRCxJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFjekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBTzNDLElBQ29CLFFBQVEsQ0FBQyxLQUFpQjtRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBUUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBSUQsWUFDWSxnQkFBeUMsRUFDekMsUUFBbUIsRUFDbkIsZ0JBQWtDO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSkUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFX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Y0FBYyxFQUFFO1NBQ2pEOzsyRkFFVSxjQUFjO2tCQVoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO29CQUNuQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLFdBQVcsRUFBRSxJQUFJO3dCQUNqQixLQUFLLEVBQUUsb0JBQW9CO3dCQUMzQix5QkFBeUIsRUFBRSxVQUFVO3FCQUN0QztvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsZ0JBQWdCLEVBQUU7cUJBQ2pEO2lCQUNGO3NJQU1pQixFQUFFO3NCQURqQixLQUFLO2dCQUljLFFBQVE7c0JBRDNCLEtBQUs7dUJBQUMsZUFBZTtnQkFXTixjQUFjO3NCQUQ3QixNQUFNO3VCQUFDLHFCQUFxQjtnQkFJYixRQUFRO3NCQUR2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLFxuICBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50LCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUG9pbnRJbnB1dCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQge1xuICBGTm9kZUJhc2UsIEZfTk9ERVxufSBmcm9tICcuL2Ytbm9kZS1iYXNlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuL2YtcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBHZXRDb25uZWN0b3JTaWRlSW5Ob2RlSGFuZGxlciB9IGZyb20gJy4uL2RvbWFpbic7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmTm9kZV1cIixcbiAgZXhwb3J0QXM6IFwiZkNvbXBvbmVudFwiLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgY2xhc3M6IFwiZi1ub2RlIGYtY29tcG9uZW50XCIsXG4gICAgJ1tjbGFzcy5mLW5vZGUtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEZfTk9ERSwgdXNlRXhpc3Rpbmc6IEZOb2RlQ29tcG9uZW50IH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVDb21wb25lbnQgZXh0ZW5kcyBGTm9kZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIElIYXNIb3N0RWxlbWVudCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcgPSBgZi1ub2RlLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmTm9kZVBvc2l0aW9uJylcbiAgcHVibGljIG92ZXJyaWRlIHNldCBwb3NpdGlvbih2YWx1ZTogUG9pbnRJbnB1dCkge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gUG9pbnRFeHRlbnNpb25zLmNhc3RUb1BvaW50KHZhbHVlKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgcG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cblxuICBAT3V0cHV0KCdmTm9kZVBvc2l0aW9uQ2hhbmdlJylcbiAgcHVibGljIG92ZXJyaWRlIHBvc2l0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBvaW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBvaW50PigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0b3JzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTdHlsZSgncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0cmFuc2Zvcm0tb3JpZ2luJywgJzAgMCcpO1xuICAgIHRoaXMuc2V0U3R5bGUoJ3VzZXItc2VsZWN0JywgJ25vbmUnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdwb2ludGVyLWV2ZW50cycsICdhbGwnKTtcbiAgICB0aGlzLnNldFN0eWxlKCdsZWZ0JywgJzAnKTtcbiAgICB0aGlzLnNldFN0eWxlKCd0b3AnLCAnMCcpO1xuICAgIHN1cGVyLnJlZHJhdygpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGROb2RlKHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldFN0eWxlKHN0eWxlTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBzdHlsZU5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5hZGQoXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlT25SZXNpemVDaGFuZ2VzKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblJlc2l6ZUNoYW5nZXMoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gbmV3IEZSZXNpemVPYnNlcnZlcih0aGlzLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5waXBlKHN0YXJ0V2l0aChudWxsKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdG9ycy5mb3JFYWNoKChjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlKSA9PiB7XG4gICAgICAgIGNvbm5lY3Rvci5zaWRlID0gbmV3IEdldENvbm5lY3RvclNpZGVJbk5vZGVIYW5kbGVyKCkuaGFuZGxlKGNvbm5lY3Rvci5ob3N0RWxlbWVudCwgdGhpcy5ob3N0RWxlbWVudCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jaGFuZ2VzLm5leHQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDb25uZWN0b3IoY29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdG9ycy5wdXNoKGNvbm5lY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ29ubmVjdG9yKGNvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY29ubmVjdG9ycy5pbmRleE9mKGNvbm5lY3Rvcik7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5jb25uZWN0b3JzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVOb2RlKHRoaXMpO1xuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -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 ReassignConnectionPrepareDragSequence | typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof CreateConnectionOnPointerUp | typeof CreateConnectionPrepareDragSequence | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof InputsUnderPointerHandler | typeof FindInputsUnderPointerHandler | typeof ReassignConnectionOnPointerUp)[];
4
+ export declare const CONNECTIONS_PROVIDERS: (typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof InputsUnderPointerHandler | typeof ReassignConnectionOnPointerUp | typeof ReassignConnectionPrepareDragSequence | typeof FindInputsUnderPointerHandler | typeof CreateConnectionOnPointerUp | typeof CreateConnectionPrepareDragSequence)[];
@@ -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,4 +1,4 @@
1
1
  import { NodeOnPointerUp } from './node.on-pointer-up';
2
2
  import { NodePrepareDragSequence } from './node.prepare-drag-sequence';
3
3
  import { IsConnectionUnderNodeHandler } from './domain/is-connection-under-node';
4
- export declare const NODE_PROVIDERS: (typeof NodeOnPointerUp | typeof NodePrepareDragSequence | typeof IsConnectionUnderNodeHandler)[];
4
+ export declare const NODE_PROVIDERS: (typeof IsConnectionUnderNodeHandler | typeof NodeOnPointerUp | typeof NodePrepareDragSequence)[];
@@ -17,6 +17,7 @@ export declare abstract class FNodeBase implements IHasStateChanges, ISelectable
17
17
  abstract connectors: FConnectorBase[];
18
18
  abstract addConnector(connector: FConnectorBase): void;
19
19
  abstract removeConnector(connector: FConnectorBase): void;
20
+ protected abstract setStyle(name: string, value: string): void;
20
21
  isContains(element: HTMLElement | SVGElement): boolean;
21
22
  redraw(): void;
22
23
  deselect(): void;
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit } from "@angular/core";
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from "@angular/core";
2
2
  import { IHasHostElement, IPoint, PointInput } from '@foblex/core';
3
3
  import { FNodeBase } from './f-node-base';
4
4
  import { FConnectorBase } from './f-connectors';
@@ -6,6 +6,7 @@ import { FComponentsStore } from '../f-components-store';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class FNodeComponent extends FNodeBase implements OnInit, AfterViewInit, IHasHostElement, OnDestroy {
8
8
  private elementReference;
9
+ private renderer;
9
10
  private fComponentsStore;
10
11
  private subscriptions$;
11
12
  id: string;
@@ -15,8 +16,9 @@ export declare class FNodeComponent extends FNodeBase implements OnInit, AfterVi
15
16
  disabled: boolean;
16
17
  get hostElement(): HTMLElement;
17
18
  connectors: FConnectorBase[];
18
- constructor(elementReference: ElementRef<HTMLElement>, fComponentsStore: FComponentsStore);
19
+ constructor(elementReference: ElementRef<HTMLElement>, renderer: Renderer2, fComponentsStore: FComponentsStore);
19
20
  ngOnInit(): void;
21
+ protected setStyle(styleName: string, value: string): void;
20
22
  ngAfterViewInit(): void;
21
23
  private subscribeOnResizeChanges;
22
24
  addConnector(connector: FConnectorBase): void;
@@ -24,5 +26,5 @@ export declare class FNodeComponent extends FNodeBase implements OnInit, AfterVi
24
26
  refresh(): void;
25
27
  ngOnDestroy(): void;
26
28
  static ɵfac: i0.ɵɵFactoryDeclaration<FNodeComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<FNodeComponent, "f-node", ["fComponent"], { "id": { "alias": "id"; "required": false; }; "position": { "alias": "fNodePosition"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "positionChange": "fNodePositionChange"; }, never, ["*"], false, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FNodeComponent, "[fNode]", ["fComponent"], { "id": { "alias": "id"; "required": false; }; "position": { "alias": "fNodePosition"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "positionChange": "fNodePositionChange"; }, never, never, false, never>;
28
30
  }