@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foblex/flow",
3
- "version": "12.1.2",
3
+ "version": "12.2.2",
4
4
  "description": "An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
package/public-api.d.ts CHANGED
@@ -8,6 +8,7 @@ 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';
@@ -1,12 +0,0 @@
1
- import { IHandler } from '@foblex/core';
2
- import { FComponentsStore } from '../f-components-store';
3
- import { FConnectionBase } from '../f-connection';
4
- import * as i0 from "@angular/core";
5
- export declare class UpdateConnectionLayerHandler implements IHandler<FConnectionBase, void> {
6
- private fComponentsStore;
7
- private get fConnectionsContainer();
8
- constructor(fComponentsStore: FComponentsStore);
9
- handle(connection: FConnectionBase): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<UpdateConnectionLayerHandler, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<UpdateConnectionLayerHandler>;
12
- }
@@ -1,12 +0,0 @@
1
- import { IHandler } from '@foblex/core';
2
- import { FComponentsStore } from '../f-components-store';
3
- import { FNodeBase } from '../f-node';
4
- import * as i0 from "@angular/core";
5
- export declare class UpdateNodeLayerHandler implements IHandler<FNodeBase, void> {
6
- private fComponentsStore;
7
- private get fNodesContainer();
8
- constructor(fComponentsStore: FComponentsStore);
9
- handle(node: FNodeBase): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<UpdateNodeLayerHandler, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<UpdateNodeLayerHandler>;
12
- }
@@ -1,29 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../f-components-store";
4
- export class UpdateConnectionLayerHandler {
5
- get fConnectionsContainer() {
6
- return this.fComponentsStore.fCanvas?.fConnectionsContainer?.nativeElement;
7
- }
8
- constructor(fComponentsStore) {
9
- this.fComponentsStore = fComponentsStore;
10
- }
11
- handle(connection) {
12
- const elements = Array.from(this.fConnectionsContainer.children);
13
- const elementsCount = elements.length;
14
- const targetIndex = elements.findIndex((x) => x === connection.hostElement);
15
- if (targetIndex !== elementsCount - 1) {
16
- const afterElements = elements.splice(targetIndex + 1);
17
- afterElements.forEach((x) => {
18
- this.fConnectionsContainer.removeChild(x);
19
- this.fConnectionsContainer.insertBefore(x, connection.hostElement);
20
- });
21
- }
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateConnectionLayerHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateConnectionLayerHandler }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateConnectionLayerHandler, decorators: [{
27
- type: Injectable
28
- }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWNvbm5lY3Rpb24tbGF5ZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3VwZGF0ZS1jb25uZWN0aW9uLWxheWVyLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyw0QkFBNEI7SUFFdkMsSUFBWSxxQkFBcUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsWUFDWSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU5QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQTJCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDdEMsTUFBTSxXQUFXLEdBQVcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRixJQUFJLFdBQVcsS0FBSyxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMxQixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDckUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0F0QlUsNEJBQTRCO2tIQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVcGRhdGVDb25uZWN0aW9uTGF5ZXJIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8RkNvbm5lY3Rpb25CYXNlLCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBnZXQgZkNvbm5lY3Rpb25zQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDYW52YXM/LmZDb25uZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCE7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLmZDb25uZWN0aW9uc0NvbnRhaW5lci5jaGlsZHJlbik7XG4gICAgY29uc3QgZWxlbWVudHNDb3VudCA9IGVsZW1lbnRzLmxlbmd0aDtcbiAgICBjb25zdCB0YXJnZXRJbmRleDogbnVtYmVyID0gZWxlbWVudHMuZmluZEluZGV4KCh4KSA9PiB4ID09PSBjb25uZWN0aW9uLmhvc3RFbGVtZW50KTtcbiAgICBpZiAodGFyZ2V0SW5kZXggIT09IGVsZW1lbnRzQ291bnQgLSAxKSB7XG4gICAgICBjb25zdCBhZnRlckVsZW1lbnRzID0gZWxlbWVudHMuc3BsaWNlKHRhcmdldEluZGV4ICsgMSk7XG4gICAgICBhZnRlckVsZW1lbnRzLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgdGhpcy5mQ29ubmVjdGlvbnNDb250YWluZXIucmVtb3ZlQ2hpbGQoeCk7XG4gICAgICAgIHRoaXMuZkNvbm5lY3Rpb25zQ29udGFpbmVyLmluc2VydEJlZm9yZSh4LCBjb25uZWN0aW9uLmhvc3RFbGVtZW50KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,29 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../f-components-store";
4
- export class UpdateNodeLayerHandler {
5
- get fNodesContainer() {
6
- return this.fComponentsStore.fCanvas?.fNodesContainer?.nativeElement;
7
- }
8
- constructor(fComponentsStore) {
9
- this.fComponentsStore = fComponentsStore;
10
- }
11
- handle(node) {
12
- const elements = Array.from(this.fNodesContainer.children);
13
- const elementsCount = elements.length;
14
- const targetIndex = elements.findIndex((x) => x === node.hostElement);
15
- if (targetIndex !== elementsCount - 1) {
16
- const afterElements = elements.splice(targetIndex + 1);
17
- afterElements.forEach((x) => {
18
- this.fNodesContainer.removeChild(x);
19
- this.fNodesContainer.insertBefore(x, node.hostElement);
20
- });
21
- }
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateNodeLayerHandler, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateNodeLayerHandler }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateNodeLayerHandler, decorators: [{
27
- type: Injectable
28
- }], ctorParameters: () => [{ type: i1.FComponentsStore }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW5vZGUtbGF5ZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3VwZGF0ZS1ub2RlLWxheWVyLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxZQUNZLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBRTlDLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBZTtRQUMzQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBVyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLElBQUksV0FBVyxLQUFLLGFBQWEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RCxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7OEdBdEJVLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXBkYXRlTm9kZUxheWVySGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPEZOb2RlQmFzZSwgdm9pZD4ge1xuXG4gIHByaXZhdGUgZ2V0IGZOb2Rlc0NvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzPy5mTm9kZXNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQhO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShub2RlOiBGTm9kZUJhc2UpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5mTm9kZXNDb250YWluZXIuY2hpbGRyZW4pO1xuICAgIGNvbnN0IGVsZW1lbnRzQ291bnQgPSBlbGVtZW50cy5sZW5ndGg7XG4gICAgY29uc3QgdGFyZ2V0SW5kZXg6IG51bWJlciA9IGVsZW1lbnRzLmZpbmRJbmRleCgoeCkgPT4geCA9PT0gbm9kZS5ob3N0RWxlbWVudCk7XG4gICAgaWYgKHRhcmdldEluZGV4ICE9PSBlbGVtZW50c0NvdW50IC0gMSkge1xuICAgICAgY29uc3QgYWZ0ZXJFbGVtZW50cyA9IGVsZW1lbnRzLnNwbGljZSh0YXJnZXRJbmRleCArIDEpO1xuICAgICAgYWZ0ZXJFbGVtZW50cy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgIHRoaXMuZk5vZGVzQ29udGFpbmVyLnJlbW92ZUNoaWxkKHgpO1xuICAgICAgICB0aGlzLmZOb2Rlc0NvbnRhaW5lci5pbnNlcnRCZWZvcmUoeCwgbm9kZS5ob3N0RWxlbWVudCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export class FPathBuilderBase {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1wYXRoLWJ1aWxkZXItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1wYXRoLWJ1aWxkZXItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLGdCQUFnQjtDQUdyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB9IGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZSc7XG5pbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVxdWVzdCB9IGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXF1ZXN0JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZQYXRoQnVpbGRlckJhc2UgaW1wbGVtZW50cyBJSGFuZGxlcjxJRlBhdGhCdWlsZGVyUmVxdWVzdCwgSUZQYXRoQnVpbGRlclJlc3BvbnNlPiB7XG5cbiAgcHVibGljIGFic3RyYWN0IGhhbmRsZShyZXF1ZXN0OiBJRlBhdGhCdWlsZGVyUmVxdWVzdCk6IElGUGF0aEJ1aWxkZXJSZXNwb25zZTtcbn1cbiJdfQ==
@@ -1,19 +0,0 @@
1
- import { EFConnectionType } from '../e-f-connection-type';
2
- import { FPathBuilderBase } from './f-path-builder-base';
3
- import { FStraightPathBuilder } from './f-straight.path-builder';
4
- import { FBezierPathBuilder } from './f-bezier.path-builder';
5
- import { FSegmentPathBuilder } from './f-segment.path-builder';
6
- export class FPathBuilderSelector extends FPathBuilderBase {
7
- constructor() {
8
- super(...arguments);
9
- this.builders = {
10
- [EFConnectionType.STRAIGHT]: new FStraightPathBuilder(),
11
- [EFConnectionType.BEZIER]: new FBezierPathBuilder(),
12
- [EFConnectionType.SEGMENT]: new FSegmentPathBuilder(),
13
- };
14
- }
15
- handle(request) {
16
- return this.builders[request.type].handle(request);
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1wYXRoLWJ1aWxkZXItc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2YtcGF0aC1idWlsZGVyLXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSS9ELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFBMUQ7O1FBRVUsYUFBUSxHQUEyQjtZQUV6QyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksb0JBQW9CLEVBQUU7WUFFdkQsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLGtCQUFrQixFQUFFO1lBRW5ELENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxtQkFBbUIsRUFBRTtTQUN0RCxDQUFBO0lBS0gsQ0FBQztJQUhRLE1BQU0sQ0FBQyxPQUE2QjtRQUN6QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJTWFwIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZQYXRoQnVpbGRlckJhc2UgfSBmcm9tICcuL2YtcGF0aC1idWlsZGVyLWJhc2UnO1xuaW1wb3J0IHsgRlN0cmFpZ2h0UGF0aEJ1aWxkZXIgfSBmcm9tICcuL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyJztcbmltcG9ydCB7IEZCZXppZXJQYXRoQnVpbGRlciB9IGZyb20gJy4vZi1iZXppZXIucGF0aC1idWlsZGVyJztcbmltcG9ydCB7IEZTZWdtZW50UGF0aEJ1aWxkZXIgfSBmcm9tICcuL2Ytc2VnbWVudC5wYXRoLWJ1aWxkZXInO1xuaW1wb3J0IHsgSUZQYXRoQnVpbGRlclJlcXVlc3QgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVzcG9uc2UgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVzcG9uc2UnO1xuXG5leHBvcnQgY2xhc3MgRlBhdGhCdWlsZGVyU2VsZWN0b3IgZXh0ZW5kcyBGUGF0aEJ1aWxkZXJCYXNlIHtcblxuICBwcml2YXRlIGJ1aWxkZXJzOiBJTWFwPEZQYXRoQnVpbGRlckJhc2U+ID0ge1xuXG4gICAgW0VGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFRdOiBuZXcgRlN0cmFpZ2h0UGF0aEJ1aWxkZXIoKSxcblxuICAgIFtFRkNvbm5lY3Rpb25UeXBlLkJFWklFUl06IG5ldyBGQmV6aWVyUGF0aEJ1aWxkZXIoKSxcblxuICAgIFtFRkNvbm5lY3Rpb25UeXBlLlNFR01FTlRdOiBuZXcgRlNlZ21lbnRQYXRoQnVpbGRlcigpLFxuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRlBhdGhCdWlsZGVyUmVxdWVzdCk6IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRlcnNbcmVxdWVzdC50eXBlXS5oYW5kbGUocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXBhdGgtYnVpbGRlci1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9pLWYtcGF0aC1idWlsZGVyLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZQYXRoQnVpbGRlclJlcXVlc3Qge1xuXG4gIHR5cGU6IEVGQ29ubmVjdGlvblR5cGU7XG5cbiAgc291cmNlOiBJUG9pbnQ7XG5cbiAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGU7XG5cbiAgdGFyZ2V0OiBJUG9pbnQ7XG5cbiAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGU7XG5cbiAgcmFkaXVzOiBudW1iZXI7XG5cbiAgb2Zmc2V0OiBudW1iZXI7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJRlBhdGhCdWlsZGVyUmVzcG9uc2Uge1xuXG4gIHBhdGg6IHN0cmluZztcblxuICBjZW50ZXI6IElQb2ludDtcbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- import { IHandler } from '@foblex/core';
2
- import { IFPathBuilderResponse } from './i-f-path-builder-response';
3
- import { IFPathBuilderRequest } from './i-f-path-builder-request';
4
- export declare abstract class FPathBuilderBase implements IHandler<IFPathBuilderRequest, IFPathBuilderResponse> {
5
- abstract handle(request: IFPathBuilderRequest): IFPathBuilderResponse;
6
- }
@@ -1,7 +0,0 @@
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 FPathBuilderSelector extends FPathBuilderBase {
5
- private builders;
6
- handle(request: IFPathBuilderRequest): IFPathBuilderResponse;
7
- }
@@ -1,5 +0,0 @@
1
- import { IPoint } from '@foblex/core';
2
- export interface IFPathBuilderResponse {
3
- path: string;
4
- center: IPoint;
5
- }