@foblex/flow 12.1.2 → 12.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/domain/index.d.ts +1 -2
  2. package/domain/providers.d.ts +2 -3
  3. package/domain/redraw-connections/redraw-connections-request.d.ts +0 -1
  4. package/domain/update-item-layer/index.d.ts +2 -0
  5. package/domain/update-item-layer/update-item-layer.handler.d.ts +8 -0
  6. package/domain/update-item-layer/update-item-layer.request.d.ts +6 -0
  7. package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.mjs +1 -1
  8. package/esm2022/domain/index.mjs +2 -3
  9. package/esm2022/domain/providers.mjs +6 -5
  10. package/esm2022/domain/redraw-connections/redraw-connections-request.mjs +1 -3
  11. package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +2 -2
  12. package/esm2022/domain/update-item-layer/index.mjs +3 -0
  13. package/esm2022/domain/update-item-layer/update-item-layer.handler.mjs +29 -0
  14. package/esm2022/domain/update-item-layer/update-item-layer.request.mjs +7 -0
  15. package/esm2022/f-components-store.mjs +10 -1
  16. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +4 -5
  17. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -4
  18. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +4 -5
  19. package/esm2022/f-connection/common/domain/index.mjs +1 -5
  20. package/esm2022/f-connection/common/f-connection-base.mjs +16 -14
  21. package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +2 -1
  22. package/esm2022/f-connection/f-connection/f-connection.component.mjs +17 -16
  23. package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +3 -0
  24. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +34 -0
  25. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +2 -0
  26. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +2 -0
  27. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs +2 -0
  28. package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +2 -0
  29. package/esm2022/f-connection/f-connection-builder/index.mjs +7 -0
  30. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +16 -15
  31. package/esm2022/f-connection/index.mjs +2 -1
  32. package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +13 -15
  33. package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +3 -2
  34. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +6 -6
  35. package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -1
  36. package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +6 -6
  37. package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +45 -55
  38. package/esm2022/f-flow/f-flow.component.mjs +4 -1
  39. package/esm2022/f-flow.module.mjs +4 -1
  40. package/esm2022/f-group/f-group-base.mjs +13 -0
  41. package/esm2022/f-group/f-group.directive.mjs +57 -0
  42. package/esm2022/f-group/index.mjs +4 -0
  43. package/esm2022/f-group/is-group.mjs +4 -0
  44. package/esm2022/public-api.mjs +2 -1
  45. package/f-components-store.d.ts +4 -0
  46. package/f-connection/common/domain/f-bezier.path-builder.d.ts +3 -5
  47. package/f-connection/common/domain/f-segment.path-builder.d.ts +3 -5
  48. package/f-connection/common/domain/f-straight.path-builder.d.ts +3 -5
  49. package/f-connection/common/domain/index.d.ts +0 -4
  50. package/f-connection/common/f-connection-base.d.ts +3 -3
  51. package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -0
  52. package/f-connection/f-connection/f-connection.component.d.ts +2 -1
  53. package/f-connection/f-connection-builder/f-connection-builders.d.ts +6 -0
  54. package/f-connection/f-connection-builder/f-connection-factory.d.ts +11 -0
  55. package/f-connection/{common/domain/i-f-path-builder-request.d.ts → f-connection-builder/i-f-connection-builder-request.d.ts} +2 -4
  56. package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +5 -0
  57. package/f-connection/f-connection-builder/i-f-connection-builder.d.ts +6 -0
  58. package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +6 -0
  59. package/f-connection/f-connection-builder/index.d.ts +6 -0
  60. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +3 -2
  61. package/f-connection/index.d.ts +1 -0
  62. package/f-draggable/canvas/providers.d.ts +1 -1
  63. package/f-draggable/connections/create-connection/f-create-connection.event.d.ts +4 -2
  64. package/f-draggable/connections/providers.d.ts +1 -1
  65. package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +2 -3
  66. package/f-draggable/f-draggable-data-context.d.ts +1 -0
  67. package/f-draggable/node/node.prepare-drag-sequence.d.ts +2 -3
  68. package/f-draggable/node/providers.d.ts +1 -1
  69. package/f-draggable/selection-area/providers.d.ts +1 -1
  70. package/f-draggable/single-select/single-select.on-pointer-down.d.ts +11 -6
  71. package/f-flow.module.d.ts +14 -13
  72. package/f-group/f-group-base.d.ts +12 -0
  73. package/f-group/f-group.directive.d.ts +21 -0
  74. package/f-group/index.d.ts +3 -0
  75. package/f-group/is-group.d.ts +1 -0
  76. package/fesm2022/foblex-flow.mjs +283 -217
  77. package/fesm2022/foblex-flow.mjs.map +1 -1
  78. package/package.json +1 -1
  79. package/public-api.d.ts +1 -0
  80. package/domain/update-connection-layer.handler.d.ts +0 -12
  81. package/domain/update-node-layer.handler.d.ts +0 -12
  82. package/esm2022/domain/update-connection-layer.handler.mjs +0 -29
  83. package/esm2022/domain/update-node-layer.handler.mjs +0 -29
  84. package/esm2022/f-connection/common/domain/f-path-builder-base.mjs +0 -3
  85. package/esm2022/f-connection/common/domain/f-path-builder-selector.mjs +0 -19
  86. package/esm2022/f-connection/common/domain/i-f-path-builder-request.mjs +0 -2
  87. package/esm2022/f-connection/common/domain/i-f-path-builder-response.mjs +0 -2
  88. package/f-connection/common/domain/f-path-builder-base.d.ts +0 -6
  89. package/f-connection/common/domain/f-path-builder-selector.d.ts +0 -7
  90. package/f-connection/common/domain/i-f-path-builder-response.d.ts +0 -5
@@ -0,0 +1,4 @@
1
+ export function isGroup(element) {
2
+ return !!element.closest('[f-group]');
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZ3JvdXAvaXMtZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLE9BQU8sQ0FBQyxPQUFpQztJQUN2RCxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNHcm91cChlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhZWxlbWVudC5jbG9zZXN0KCdbZi1ncm91cF0nKTtcbn1cblxuIl19
@@ -8,10 +8,11 @@ export * from './f-external-item';
8
8
  export * from './f-line-alignment';
9
9
  export * from './f-selection-area';
10
10
  export * from './f-flow';
11
+ export * from './f-group';
11
12
  export * from './f-node';
12
13
  export * from './f-mediator';
13
14
  export * from './f-components-store';
14
15
  export * from './f-flow.module';
15
16
  export * from './get-flow-uid';
16
17
  export * from './i-has-state-changes';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLFlBQVksQ0FBQztBQUUzQixjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1iYWNrZ3JvdWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kb21haW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1leHRlcm5hbC1pdGVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1hcmVhJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1tZWRpYXRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb21wb25lbnRzLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZmxvdy11aWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUU5QixjQUFjLFlBQVksQ0FBQztBQUUzQixjQUFjLFVBQVUsQ0FBQztBQUV6QixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxXQUFXLENBQUM7QUFFMUIsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi1iYWNrZ3JvdWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2FudmFzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kb21haW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1leHRlcm5hbC1pdGVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXNlbGVjdGlvbi1hcmVhJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZ3JvdXAnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1tZWRpYXRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb21wb25lbnRzLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWZsb3cubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtZmxvdy11aWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuIl19
@@ -7,6 +7,7 @@ import { FBackgroundBase } from './f-backgroud';
7
7
  import { FNodeBase } from './f-node';
8
8
  import { FConnectorBase, FNodeInputBase, FNodeOutletBase, FNodeOutputBase } from './f-connectors';
9
9
  import { FDraggableBase } from './f-draggable';
10
+ import { FGroupBase } from './f-group';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare class FComponentsStore {
12
13
  readonly changes: Subject<void>;
@@ -16,6 +17,7 @@ export declare class FComponentsStore {
16
17
  fCanvas: FCanvasBase | undefined;
17
18
  fBackground: FBackgroundBase | undefined;
18
19
  fNodes: FNodeBase[];
20
+ fGroups: FGroupBase[];
19
21
  fConnections: FConnectionBase[];
20
22
  fTempConnection: FConnectionBase | undefined;
21
23
  fOutputs: FConnectorBase[];
@@ -33,6 +35,8 @@ export declare class FComponentsStore {
33
35
  removeNode(node: FNodeBase): void;
34
36
  addConnection(connection: FConnectionBase): void;
35
37
  removeConnection(connection: FConnectionBase): void;
38
+ addGroup(group: FGroupBase): void;
39
+ removeGroup(group: FGroupBase): void;
36
40
  static ɵfac: i0.ɵɵFactoryDeclaration<FComponentsStore, never>;
37
41
  static ɵprov: i0.ɵɵInjectableDeclaration<FComponentsStore>;
38
42
  }
@@ -1,8 +1,6 @@
1
- import { FPathBuilderBase } from './f-path-builder-base';
2
- import { IFPathBuilderRequest } from './i-f-path-builder-request';
3
- import { IFPathBuilderResponse } from './i-f-path-builder-response';
4
- export declare class FBezierPathBuilder extends FPathBuilderBase {
1
+ import { IFConnectionBuilder, IFConnectionBuilderRequest, IFConnectionBuilderResponse } from '../../f-connection-builder';
2
+ export declare class FBezierPathBuilder implements IFConnectionBuilder {
5
3
  private static getConnectorOffset;
6
4
  private static getAnglePoint;
7
- handle(request: IFPathBuilderRequest): IFPathBuilderResponse;
5
+ handle(request: IFConnectionBuilderRequest): IFConnectionBuilderResponse;
8
6
  }
@@ -1,8 +1,6 @@
1
- import { FPathBuilderBase } from './f-path-builder-base';
2
- import { IFPathBuilderRequest } from './i-f-path-builder-request';
3
- import { IFPathBuilderResponse } from './i-f-path-builder-response';
4
- export declare class FSegmentPathBuilder extends FPathBuilderBase {
5
- handle(request: IFPathBuilderRequest): IFPathBuilderResponse;
1
+ import { IFConnectionBuilder, IFConnectionBuilderRequest, IFConnectionBuilderResponse } from '../../f-connection-builder';
2
+ export declare class FSegmentPathBuilder implements IFConnectionBuilder {
3
+ handle(request: IFConnectionBuilderRequest): IFConnectionBuilderResponse;
6
4
  private getPathPoints;
7
5
  private getDirection;
8
6
  private distance;
@@ -1,6 +1,4 @@
1
- import { IFPathBuilderRequest } from './i-f-path-builder-request';
2
- import { IFPathBuilderResponse } from './i-f-path-builder-response';
3
- import { FPathBuilderBase } from './f-path-builder-base';
4
- export declare class FStraightPathBuilder extends FPathBuilderBase {
5
- handle(request: IFPathBuilderRequest): IFPathBuilderResponse;
1
+ import { IFConnectionBuilder, IFConnectionBuilderRequest, IFConnectionBuilderResponse } from '../../f-connection-builder';
2
+ export declare class FStraightPathBuilder implements IFConnectionBuilder {
3
+ handle(request: IFConnectionBuilderRequest): IFConnectionBuilderResponse;
6
4
  }
@@ -1,9 +1,5 @@
1
1
  export * from './calculate-center-between-points';
2
2
  export * from './calculate-connection-center';
3
3
  export * from './f-bezier.path-builder';
4
- export * from './f-path-builder-base';
5
- export * from './f-path-builder-selector';
6
4
  export * from './f-segment.path-builder';
7
- export * from './i-f-path-builder-request';
8
- export * from './i-f-path-builder-response';
9
5
  export * from './f-straight.path-builder';
@@ -15,7 +15,7 @@ import { IConnectionText } from './f-connection-text';
15
15
  import { IHasStateChanges } from '../../i-has-state-changes';
16
16
  import { FMarkerBase } from '../f-marker';
17
17
  import { EFConnectableSide } from '../../f-connectors';
18
- import { FPathBuilderBase } from './domain';
18
+ import { FConnectionFactory } from '../f-connection-builder';
19
19
  import * as i0 from "@angular/core";
20
20
  declare const MIXIN_BASE: import("@foblex/core").Constructor<ISelectable> & import("@foblex/core").AbstractConstructor<ISelectable> & import("@foblex/core").Constructor<ICanChangeConnectionVisibility> & import("@foblex/core").AbstractConstructor<ICanChangeConnectionVisibility> & {
21
21
  new (hostElement: HTMLElement): {
@@ -23,6 +23,7 @@ declare const MIXIN_BASE: import("@foblex/core").Constructor<ISelectable> & impo
23
23
  };
24
24
  };
25
25
  export declare abstract class FConnectionBase extends MIXIN_BASE implements IHasHostElement, ISelectable, ICanChangeConnectionVisibility, IHasStateChanges, IHasConnectionColor, IHasConnectionFromTo, IHasConnectionText {
26
+ private connectionFactory;
26
27
  abstract fConnectionId: string;
27
28
  abstract fStartColor: string;
28
29
  abstract fEndColor: string;
@@ -45,8 +46,7 @@ export declare abstract class FConnectionBase extends MIXIN_BASE implements IHas
45
46
  abstract fTextComponent: IConnectionText;
46
47
  abstract fText: string;
47
48
  abstract fConnectionCenter: ElementRef<HTMLDivElement>;
48
- fPathBuilder: FPathBuilderBase;
49
- protected constructor(elementReference: ElementRef<HTMLElement>);
49
+ protected constructor(elementReference: ElementRef<HTMLElement>, connectionFactory: FConnectionFactory);
50
50
  initialize(): void;
51
51
  private reset;
52
52
  isContains(element: HTMLElement | SVGElement): boolean;
@@ -1,5 +1,6 @@
1
1
  import { IHasHostElement, AbstractConstructor, Constructor } from '@foblex/core';
2
2
  export interface ISelectable {
3
+ fSelectionDisabled: boolean;
3
4
  hostElement: HTMLElement | SVGElement;
4
5
  select(): void;
5
6
  deselect(): void;
@@ -5,6 +5,7 @@ import { EFConnectionType } from '../common';
5
5
  import { FComponentsStore } from '../../f-components-store';
6
6
  import { FMarkerBase } from '../f-marker';
7
7
  import { FConnectionCenterDirective } from '../f-connection-center';
8
+ import { FConnectionFactory } from '../f-connection-builder';
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class FConnectionComponent extends FConnectionBase implements OnInit, OnDestroy {
10
11
  private fComponentsStore;
@@ -32,7 +33,7 @@ export declare class FConnectionComponent extends FConnectionBase implements OnI
32
33
  fConnectionCenter: ElementRef<HTMLDivElement>;
33
34
  fConnectionCenters: QueryList<FConnectionCenterDirective>;
34
35
  get boundingElement(): HTMLElement | SVGElement;
35
- constructor(elementReference: ElementRef<HTMLElement>, fComponentsStore: FComponentsStore);
36
+ constructor(elementReference: ElementRef<HTMLElement>, fConnectionFactory: FConnectionFactory, fComponentsStore: FComponentsStore);
36
37
  ngOnInit(): void;
37
38
  ngOnDestroy(): void;
38
39
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionComponent, never>;
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { IFConnectionBuilder } from './i-f-connection-builder';
3
+ export declare const F_CONNECTION_BUILDERS: InjectionToken<IFConnectionBuilders>;
4
+ export interface IFConnectionBuilders {
5
+ [key: string]: IFConnectionBuilder;
6
+ }
@@ -0,0 +1,11 @@
1
+ import { IFConnectionBuilders } from './f-connection-builders';
2
+ import { IFConnectionFactoryRequest } from './i-f-connection-factory-request';
3
+ import { IFConnectionBuilderResponse } from './i-f-connection-builder-response';
4
+ import * as i0 from "@angular/core";
5
+ export declare class FConnectionFactory {
6
+ private readonly builders;
7
+ constructor(builders: IFConnectionBuilders);
8
+ handle(request: IFConnectionFactoryRequest): IFConnectionBuilderResponse;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionFactory, [{ optional: true; }]>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<FConnectionFactory>;
11
+ }
@@ -1,8 +1,6 @@
1
1
  import { IPoint } from '@foblex/core';
2
- import { EFConnectableSide } from '../../../f-connectors';
3
- import { EFConnectionType } from '../e-f-connection-type';
4
- export interface IFPathBuilderRequest {
5
- type: EFConnectionType;
2
+ import { EFConnectableSide } from '../../f-connectors';
3
+ export interface IFConnectionBuilderRequest {
6
4
  source: IPoint;
7
5
  sourceSide: EFConnectableSide;
8
6
  target: IPoint;
@@ -0,0 +1,5 @@
1
+ import { IPoint } from '@foblex/core';
2
+ export interface IFConnectionBuilderResponse {
3
+ path: string;
4
+ connectionCenter: IPoint;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { IHandler } from '@foblex/core';
2
+ import { IFConnectionBuilderRequest } from './i-f-connection-builder-request';
3
+ import { IFConnectionBuilderResponse } from './i-f-connection-builder-response';
4
+ export interface IFConnectionBuilder extends IHandler<IFConnectionBuilderRequest, IFConnectionBuilderResponse> {
5
+ handle(request: IFConnectionBuilderRequest): IFConnectionBuilderResponse;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { EFConnectionType } from '../common';
2
+ import { IFConnectionBuilderRequest } from './i-f-connection-builder-request';
3
+ export interface IFConnectionFactoryRequest {
4
+ type: EFConnectionType;
5
+ payload: IFConnectionBuilderRequest;
6
+ }
@@ -0,0 +1,6 @@
1
+ export * from './f-connection-builders';
2
+ export * from './f-connection-factory';
3
+ export * from './i-f-connection-builder';
4
+ export * from './i-f-connection-builder-request';
5
+ export * from './i-f-connection-builder-response';
6
+ export * from './i-f-connection-factory-request';
@@ -5,6 +5,7 @@ import { EFConnectionType } from '../common';
5
5
  import { FComponentsStore } from '../../f-components-store';
6
6
  import { FMarkerBase } from '../f-marker';
7
7
  import { FConnectionCenterDirective } from '../f-connection-center';
8
+ import { FConnectionFactory } from '../f-connection-builder';
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class FConnectionForCreateComponent extends FConnectionBase implements AfterViewInit, OnInit, OnDestroy {
10
11
  private fComponentsStore;
@@ -17,7 +18,7 @@ export declare class FConnectionForCreateComponent extends FConnectionBase imple
17
18
  set fBehavior(value: EFConnectionBehavior);
18
19
  get fBehavior(): EFConnectionBehavior;
19
20
  private _behavior;
20
- set fType(value: EFConnectionType);
21
+ set fType(value: EFConnectionType | string);
21
22
  get fType(): EFConnectionType;
22
23
  private _type;
23
24
  fDraggingDisabled: boolean;
@@ -32,7 +33,7 @@ export declare class FConnectionForCreateComponent extends FConnectionBase imple
32
33
  fConnectionCenter: ElementRef<HTMLDivElement>;
33
34
  fConnectionCenters: QueryList<FConnectionCenterDirective>;
34
35
  get boundingElement(): HTMLElement | SVGElement;
35
- constructor(elementReference: ElementRef<HTMLElement>, fComponentsStore: FComponentsStore);
36
+ constructor(elementReference: ElementRef<HTMLElement>, fConnectionFactory: FConnectionFactory, fComponentsStore: FComponentsStore);
36
37
  ngOnInit(): void;
37
38
  ngAfterViewInit(): void;
38
39
  ngOnDestroy(): void;
@@ -1,5 +1,6 @@
1
1
  export * from './common';
2
2
  export * from './f-connection-for-create';
3
3
  export * from './f-connection';
4
+ export * from './f-connection-builder';
4
5
  export * from './f-connection-center';
5
6
  export * from './f-marker';
@@ -1,3 +1,3 @@
1
1
  import { CanvasOnPointerUp } from './canvas.on-pointer-up';
2
2
  import { CanvasPrepareDragSequence } from './canvas.prepare-drag-sequence';
3
- export declare const CANVAS_PROVIDERS: (typeof CanvasOnPointerUp | typeof CanvasPrepareDragSequence)[];
3
+ export declare const CANVAS_PROVIDERS: (typeof CanvasPrepareDragSequence | typeof CanvasOnPointerUp)[];
@@ -1,5 +1,7 @@
1
+ import { IPoint } from '@foblex/core';
1
2
  export declare class FCreateConnectionEvent {
2
3
  fOutputId: string;
3
- fInputId: string;
4
- constructor(fOutputId: string, fInputId: string);
4
+ fInputId: string | undefined;
5
+ fDropPosition: IPoint;
6
+ constructor(fOutputId: string, fInputId: string | undefined, fDropPosition: IPoint);
5
7
  }
@@ -1,4 +1,4 @@
1
1
  import { CreateConnectionOnPointerUp, CreateConnectionPrepareDragSequence, FindFirstCanBeConnectedOutputByOutletHandler } from './create-connection';
2
2
  import { FindInputsUnderPointerHandler, FirstNotConnectedInputOfNodeUnderPointerHandler } from './find-inputs-under-pointer';
3
3
  import { ReassignConnectionOnPointerUp, ReassignConnectionPrepareDragSequence } from './reassign-connection';
4
- export declare const CONNECTIONS_PROVIDERS: (typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof ReassignConnectionOnPointerUp | typeof ReassignConnectionPrepareDragSequence | typeof FindInputsUnderPointerHandler | typeof CreateConnectionOnPointerUp | typeof CreateConnectionPrepareDragSequence)[];
4
+ export declare const CONNECTIONS_PROVIDERS: (typeof CreateConnectionOnPointerUp | typeof ReassignConnectionPrepareDragSequence | typeof CreateConnectionPrepareDragSequence | typeof ReassignConnectionOnPointerUp | typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof FindInputsUnderPointerHandler)[];
@@ -1,7 +1,7 @@
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 { GetConnectionHandler, UpdateConnectionLayerHandler } from '../../../domain';
4
+ import { GetConnectionHandler } from '../../../domain';
5
5
  import { FFlowMediator } from '../../../f-mediator';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class ReassignConnectionPrepareDragSequence implements IHandler<IPointerEvent, void> {
@@ -9,10 +9,9 @@ export declare class ReassignConnectionPrepareDragSequence implements IHandler<I
9
9
  private fDraggableDataContext;
10
10
  private getConnectionHandler;
11
11
  private fMediator;
12
- private updateConnectionLayerHandler;
13
12
  private get transform();
14
13
  private get flowHost();
15
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getConnectionHandler: GetConnectionHandler, fMediator: FFlowMediator, updateConnectionLayerHandler: UpdateConnectionLayerHandler);
14
+ constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getConnectionHandler: GetConnectionHandler, fMediator: FFlowMediator);
16
15
  handle(event: IPointerEvent): void;
17
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ReassignConnectionPrepareDragSequence, never>;
18
17
  static ɵprov: i0.ɵɵInjectableDeclaration<ReassignConnectionPrepareDragSequence>;
@@ -13,6 +13,7 @@ export declare class FDraggableDataContext {
13
13
  fSelectionArea: FSelectionAreaBase | undefined;
14
14
  fLineAlignment: FLineAlignmentBase | undefined;
15
15
  reset(): void;
16
+ markSelectionAsChanged(): void;
16
17
  static ɵfac: i0.ɵɵFactoryDeclaration<FDraggableDataContext, never>;
17
18
  static ɵprov: i0.ɵɵInjectableDeclaration<FDraggableDataContext>;
18
19
  }
@@ -1,19 +1,18 @@
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 { GetIncomingConnectionsHandler, GetOutgoingConnectionsHandler, UpdateNodeLayerHandler } from '../../domain';
4
+ import { GetIncomingConnectionsHandler, GetOutgoingConnectionsHandler } from '../../domain';
5
5
  import { FFlowMediator } from '../../f-mediator';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class NodePrepareDragSequence implements IHandler<IPointerEvent, void> {
8
8
  private fComponentsStore;
9
9
  private fDraggableDataContext;
10
- private updateNodeLayerHandler;
11
10
  private getOutgoingConnectionsHandler;
12
11
  private getIncomingConnectionsHandler;
13
12
  private fMediator;
14
13
  private get transform();
15
14
  private get flowHost();
16
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, updateNodeLayerHandler: UpdateNodeLayerHandler, getOutgoingConnectionsHandler: GetOutgoingConnectionsHandler, getIncomingConnectionsHandler: GetIncomingConnectionsHandler, fMediator: FFlowMediator);
15
+ constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getOutgoingConnectionsHandler: GetOutgoingConnectionsHandler, getIncomingConnectionsHandler: GetIncomingConnectionsHandler, fMediator: FFlowMediator);
17
16
  handle(event: IPointerEvent): void;
18
17
  private calculateDraggableConnectionsAndNodes;
19
18
  private getInputsForNode;
@@ -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 IsConnectionUnderNodeHandler | typeof NodeOnPointerUp | typeof NodePrepareDragSequence)[];
4
+ export declare const NODE_PROVIDERS: (typeof NodePrepareDragSequence | typeof NodeOnPointerUp | typeof IsConnectionUnderNodeHandler)[];
@@ -1,4 +1,4 @@
1
1
  import { SelectionAreaPrepareDragSequence } from './selection-area.prepare-drag-sequence';
2
2
  import { SelectionAreaOnPointerUp } from './selection-area.on-pointer-up';
3
3
  import { GetCanBeSelectedItemsHandler } from './get-can-be-selected-items';
4
- export declare const SELECTION_AREA_PROVIDERS: (typeof GetCanBeSelectedItemsHandler | typeof SelectionAreaPrepareDragSequence | typeof SelectionAreaOnPointerUp)[];
4
+ export declare const SELECTION_AREA_PROVIDERS: (typeof SelectionAreaPrepareDragSequence | typeof SelectionAreaOnPointerUp | typeof GetCanBeSelectedItemsHandler)[];
@@ -1,18 +1,23 @@
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 { GetConnectionHandler, UpdateConnectionLayerHandler } from '../../domain';
4
+ import { GetConnectionHandler } from '../../domain';
5
+ import { FFlowMediator } from '../../f-mediator';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class SingleSelectOnPointerDown implements IHandler<IPointerEvent, void> {
7
8
  private fComponentsStore;
8
9
  private fDraggableDataContext;
9
10
  private getConnectionHandler;
10
- private updateConnectionLayerHandler;
11
- constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getConnectionHandler: GetConnectionHandler, updateConnectionLayerHandler: UpdateConnectionLayerHandler);
11
+ private fMediator;
12
+ constructor(fComponentsStore: FComponentsStore, fDraggableDataContext: FDraggableDataContext, getConnectionHandler: GetConnectionHandler, fMediator: FFlowMediator);
12
13
  handle(event: IPointerEvent): void;
13
- private deselectAll;
14
- private resetSelectionIfNotMultiselect;
15
- private selectIfNotSelected;
14
+ private getSelectableItem;
15
+ private isMultiselectEnabled;
16
+ private singleSelect;
17
+ private multiSelect;
18
+ private deselectItem;
19
+ private selectItem;
20
+ private clearSelection;
16
21
  static ɵfac: i0.ɵɵFactoryDeclaration<SingleSelectOnPointerDown, never>;
17
22
  static ɵprov: i0.ɵɵInjectableDeclaration<SingleSelectOnPointerDown>;
18
23
  }
@@ -12,20 +12,21 @@ import * as i10 from "./f-backgroud/f-background.component";
12
12
  import * as i11 from "./f-backgroud/f-cell-pattern/f-cell-pattern.component";
13
13
  import * as i12 from "./f-canvas/f-canvas.component";
14
14
  import * as i13 from "./f-node/f-node.directive";
15
- import * as i14 from "./f-node/f-drag-handle/f-drag-handle.directive";
16
- import * as i15 from "./f-connection/f-connection/f-connection.component";
17
- import * as i16 from "./f-connection/f-connection-for-create/f-connection-for-create.component";
18
- import * as i17 from "./f-canvas/f-zoom/f-zoom.directive";
19
- import * as i18 from "./f-connectors/f-node-input/f-node-input.directive";
20
- import * as i19 from "./f-connectors/f-node-outlet/f-node-outlet.directive";
21
- import * as i20 from "./f-connectors/f-node-output/f-node-output.directive";
22
- import * as i21 from "./f-draggable/f-draggable.directive";
23
- import * as i22 from "./f-external-item/f-external-item.directive";
24
- import * as i23 from "./f-selection-area/f-selection-area.component";
25
- import * as i24 from "./f-line-alignment/f-line-alignment.component";
26
- import * as i25 from "@angular/common";
15
+ import * as i14 from "./f-group/f-group.directive";
16
+ import * as i15 from "./f-node/f-drag-handle/f-drag-handle.directive";
17
+ import * as i16 from "./f-connection/f-connection/f-connection.component";
18
+ import * as i17 from "./f-connection/f-connection-for-create/f-connection-for-create.component";
19
+ import * as i18 from "./f-canvas/f-zoom/f-zoom.directive";
20
+ import * as i19 from "./f-connectors/f-node-input/f-node-input.directive";
21
+ import * as i20 from "./f-connectors/f-node-outlet/f-node-outlet.directive";
22
+ import * as i21 from "./f-connectors/f-node-output/f-node-output.directive";
23
+ import * as i22 from "./f-draggable/f-draggable.directive";
24
+ import * as i23 from "./f-external-item/f-external-item.directive";
25
+ import * as i24 from "./f-selection-area/f-selection-area.component";
26
+ import * as i25 from "./f-line-alignment/f-line-alignment.component";
27
+ import * as i26 from "@angular/common";
27
28
  export declare class FFlowModule {
28
29
  static ɵfac: i0.ɵɵFactoryDeclaration<FFlowModule, never>;
29
- static ɵmod: i0.ɵɵNgModuleDeclaration<FFlowModule, [typeof i1.FConnectionDragHandleComponent, typeof i2.FConnectionGradientComponent, typeof i3.FConnectionPathComponent, typeof i4.FConnectionTextComponent, typeof i5.FConnectionTextPathDirective, typeof i6.FConnectionSelectionComponent, typeof i7.FConnectionCenterDirective, typeof i8.FMarkerDirective, typeof i9.FFlowComponent, typeof i10.FBackgroundComponent, typeof i11.FCellPatternComponent, typeof i12.FCanvasComponent, typeof i13.FNodeDirective, typeof i14.FDragHandleDirective, typeof i15.FConnectionComponent, typeof i16.FConnectionForCreateComponent, typeof i17.FZoomDirective, typeof i18.FNodeInputDirective, typeof i19.FNodeOutletDirective, typeof i20.FNodeOutputDirective, typeof i21.FDraggableDirective, typeof i22.FExternalItemDirective, typeof i23.FSelectionAreaComponent, typeof i24.FLineAlignmentComponent], [typeof i25.CommonModule], [typeof i9.FFlowComponent, typeof i10.FBackgroundComponent, typeof i11.FCellPatternComponent, typeof i12.FCanvasComponent, typeof i13.FNodeDirective, typeof i14.FDragHandleDirective, typeof i15.FConnectionComponent, typeof i16.FConnectionForCreateComponent, typeof i7.FConnectionCenterDirective, typeof i8.FMarkerDirective, typeof i17.FZoomDirective, typeof i18.FNodeInputDirective, typeof i19.FNodeOutletDirective, typeof i20.FNodeOutputDirective, typeof i21.FDraggableDirective, typeof i22.FExternalItemDirective, typeof i23.FSelectionAreaComponent, typeof i24.FLineAlignmentComponent]>;
30
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FFlowModule, [typeof i1.FConnectionDragHandleComponent, typeof i2.FConnectionGradientComponent, typeof i3.FConnectionPathComponent, typeof i4.FConnectionTextComponent, typeof i5.FConnectionTextPathDirective, typeof i6.FConnectionSelectionComponent, typeof i7.FConnectionCenterDirective, typeof i8.FMarkerDirective, typeof i9.FFlowComponent, typeof i10.FBackgroundComponent, typeof i11.FCellPatternComponent, typeof i12.FCanvasComponent, typeof i13.FNodeDirective, typeof i14.FGroupDirective, typeof i15.FDragHandleDirective, typeof i16.FConnectionComponent, typeof i17.FConnectionForCreateComponent, typeof i18.FZoomDirective, typeof i19.FNodeInputDirective, typeof i20.FNodeOutletDirective, typeof i21.FNodeOutputDirective, typeof i22.FDraggableDirective, typeof i23.FExternalItemDirective, typeof i24.FSelectionAreaComponent, typeof i25.FLineAlignmentComponent], [typeof i26.CommonModule], [typeof i9.FFlowComponent, typeof i10.FBackgroundComponent, typeof i11.FCellPatternComponent, typeof i12.FCanvasComponent, typeof i13.FNodeDirective, typeof i15.FDragHandleDirective, typeof i16.FConnectionComponent, typeof i17.FConnectionForCreateComponent, typeof i7.FConnectionCenterDirective, typeof i8.FMarkerDirective, typeof i18.FZoomDirective, typeof i19.FNodeInputDirective, typeof i20.FNodeOutletDirective, typeof i21.FNodeOutputDirective, typeof i22.FDraggableDirective, typeof i23.FExternalItemDirective, typeof i24.FSelectionAreaComponent, typeof i25.FLineAlignmentComponent]>;
30
31
  static ɵinj: i0.ɵɵInjectorDeclaration<FFlowModule>;
31
32
  }
@@ -0,0 +1,12 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { IHasHostElement, IPoint, ISize } from '@foblex/core';
3
+ export declare const F_GROUP: InjectionToken<FGroupBase>;
4
+ export declare abstract class FGroupBase implements IHasHostElement {
5
+ abstract fGroupId: string;
6
+ abstract hostElement: HTMLElement;
7
+ abstract position: IPoint;
8
+ abstract size: ISize;
9
+ protected abstract setStyle(name: string, value: string): void;
10
+ isContains(element: HTMLElement | SVGElement): boolean;
11
+ redraw(): void;
12
+ }
@@ -0,0 +1,21 @@
1
+ import { ElementRef, OnDestroy, OnInit, Renderer2 } from "@angular/core";
2
+ import { IHasHostElement, IPoint, ISize } from '@foblex/core';
3
+ import { FGroupBase } from './f-group-base';
4
+ import { FComponentsStore } from '../f-components-store';
5
+ import * as i0 from "@angular/core";
6
+ export declare class FGroupDirective extends FGroupBase implements OnInit, IHasHostElement, OnDestroy {
7
+ private elementReference;
8
+ private renderer;
9
+ private fComponentsStore;
10
+ private subscriptions$;
11
+ fGroupId: string;
12
+ position: IPoint;
13
+ size: ISize;
14
+ get hostElement(): HTMLElement;
15
+ constructor(elementReference: ElementRef<HTMLElement>, renderer: Renderer2, fComponentsStore: FComponentsStore);
16
+ ngOnInit(): void;
17
+ protected setStyle(styleName: string, value: string): void;
18
+ ngOnDestroy(): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<FGroupDirective, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FGroupDirective, "[fGroup]", ["fComponent"], { "fGroupId": { "alias": "fGroupId"; "required": false; }; }, {}, never, never, false, never>;
21
+ }
@@ -0,0 +1,3 @@
1
+ export * from './f-group.directive';
2
+ export * from './f-group-base';
3
+ export * from './is-group';
@@ -0,0 +1 @@
1
+ export declare function isGroup(element: HTMLElement | SVGElement): boolean;