@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.
- package/domain/index.d.ts +1 -2
- package/domain/providers.d.ts +2 -3
- package/domain/redraw-connections/redraw-connections-request.d.ts +0 -1
- package/domain/update-item-layer/index.d.ts +2 -0
- package/domain/update-item-layer/update-item-layer.handler.d.ts +8 -0
- package/domain/update-item-layer/update-item-layer.request.d.ts +6 -0
- package/esm2022/domain/get-element-rect-in-flow/get-element-rect-in-flow.handler.mjs +1 -1
- package/esm2022/domain/index.mjs +2 -3
- package/esm2022/domain/providers.mjs +6 -5
- package/esm2022/domain/redraw-connections/redraw-connections-request.mjs +1 -3
- package/esm2022/domain/redraw-connections/redraw-connections.handler.mjs +2 -2
- package/esm2022/domain/update-item-layer/index.mjs +3 -0
- package/esm2022/domain/update-item-layer/update-item-layer.handler.mjs +29 -0
- package/esm2022/domain/update-item-layer/update-item-layer.request.mjs +7 -0
- package/esm2022/f-components-store.mjs +10 -1
- package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +4 -5
- package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -4
- package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +4 -5
- package/esm2022/f-connection/common/domain/index.mjs +1 -5
- package/esm2022/f-connection/common/f-connection-base.mjs +16 -14
- package/esm2022/f-connection/common/mixins/change-connection-selection.mixin.mjs +2 -1
- package/esm2022/f-connection/f-connection/f-connection.component.mjs +17 -16
- package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +3 -0
- package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +34 -0
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +2 -0
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +2 -0
- package/esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs +2 -0
- package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +2 -0
- package/esm2022/f-connection/f-connection-builder/index.mjs +7 -0
- package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +16 -15
- package/esm2022/f-connection/index.mjs +2 -1
- package/esm2022/f-draggable/connections/create-connection/create-connection.on-pointer-up.mjs +13 -15
- package/esm2022/f-draggable/connections/create-connection/f-create-connection.event.mjs +3 -2
- package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.mjs +6 -6
- package/esm2022/f-draggable/f-draggable-data-context.mjs +4 -1
- package/esm2022/f-draggable/node/node.prepare-drag-sequence.mjs +6 -6
- package/esm2022/f-draggable/single-select/single-select.on-pointer-down.mjs +45 -55
- package/esm2022/f-flow/f-flow.component.mjs +4 -1
- package/esm2022/f-flow.module.mjs +4 -1
- package/esm2022/f-group/f-group-base.mjs +13 -0
- package/esm2022/f-group/f-group.directive.mjs +57 -0
- package/esm2022/f-group/index.mjs +4 -0
- package/esm2022/f-group/is-group.mjs +4 -0
- package/esm2022/public-api.mjs +2 -1
- package/f-components-store.d.ts +4 -0
- package/f-connection/common/domain/f-bezier.path-builder.d.ts +3 -5
- package/f-connection/common/domain/f-segment.path-builder.d.ts +3 -5
- package/f-connection/common/domain/f-straight.path-builder.d.ts +3 -5
- package/f-connection/common/domain/index.d.ts +0 -4
- package/f-connection/common/f-connection-base.d.ts +3 -3
- package/f-connection/common/mixins/change-connection-selection.mixin.d.ts +1 -0
- package/f-connection/f-connection/f-connection.component.d.ts +2 -1
- package/f-connection/f-connection-builder/f-connection-builders.d.ts +6 -0
- package/f-connection/f-connection-builder/f-connection-factory.d.ts +11 -0
- package/f-connection/{common/domain/i-f-path-builder-request.d.ts → f-connection-builder/i-f-connection-builder-request.d.ts} +2 -4
- package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +5 -0
- package/f-connection/f-connection-builder/i-f-connection-builder.d.ts +6 -0
- package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +6 -0
- package/f-connection/f-connection-builder/index.d.ts +6 -0
- package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +3 -2
- package/f-connection/index.d.ts +1 -0
- package/f-draggable/canvas/providers.d.ts +1 -1
- package/f-draggable/connections/create-connection/f-create-connection.event.d.ts +4 -2
- package/f-draggable/connections/providers.d.ts +1 -1
- package/f-draggable/connections/reassign-connection/reassign-connection.prepare-drag-sequence.d.ts +2 -3
- package/f-draggable/f-draggable-data-context.d.ts +1 -0
- package/f-draggable/node/node.prepare-drag-sequence.d.ts +2 -3
- package/f-draggable/node/providers.d.ts +1 -1
- package/f-draggable/selection-area/providers.d.ts +1 -1
- package/f-draggable/single-select/single-select.on-pointer-down.d.ts +11 -6
- package/f-flow.module.d.ts +14 -13
- package/f-group/f-group-base.d.ts +12 -0
- package/f-group/f-group.directive.d.ts +21 -0
- package/f-group/index.d.ts +3 -0
- package/f-group/is-group.d.ts +1 -0
- package/fesm2022/foblex-flow.mjs +283 -217
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/domain/update-connection-layer.handler.d.ts +0 -12
- package/domain/update-node-layer.handler.d.ts +0 -12
- package/esm2022/domain/update-connection-layer.handler.mjs +0 -29
- package/esm2022/domain/update-node-layer.handler.mjs +0 -29
- package/esm2022/f-connection/common/domain/f-path-builder-base.mjs +0 -3
- package/esm2022/f-connection/common/domain/f-path-builder-selector.mjs +0 -19
- package/esm2022/f-connection/common/domain/i-f-path-builder-request.mjs +0 -2
- package/esm2022/f-connection/common/domain/i-f-path-builder-response.mjs +0 -2
- package/f-connection/common/domain/f-path-builder-base.d.ts +0 -6
- package/f-connection/common/domain/f-path-builder-selector.d.ts +0 -7
- package/f-connection/common/domain/i-f-path-builder-response.d.ts +0 -5
package/domain/index.d.ts
CHANGED
|
@@ -8,9 +8,8 @@ export * from './get-selection';
|
|
|
8
8
|
export * from './redraw-connections';
|
|
9
9
|
export * from './select';
|
|
10
10
|
export * from './select-all';
|
|
11
|
+
export * from './update-item-layer';
|
|
11
12
|
export * from './get-connection.handler';
|
|
12
13
|
export * from './get-incoming-connections.handler';
|
|
13
14
|
export * from './get-outgoing-connections.handler';
|
|
14
15
|
export * from './providers';
|
|
15
|
-
export * from './update-connection-layer.handler';
|
|
16
|
-
export * from './update-node-layer.handler';
|
package/domain/providers.d.ts
CHANGED
|
@@ -2,8 +2,6 @@ import { GetIncomingConnectionsHandler } from './get-incoming-connections.handle
|
|
|
2
2
|
import { GetOutgoingConnectionsHandler } from './get-outgoing-connections.handler';
|
|
3
3
|
import { GetConnectionHandler } from './get-connection.handler';
|
|
4
4
|
import { GetConnectionVectorHandler } from './get-connection-vector';
|
|
5
|
-
import { UpdateNodeLayerHandler } from './update-node-layer.handler';
|
|
6
|
-
import { UpdateConnectionLayerHandler } from './update-connection-layer.handler';
|
|
7
5
|
import { RedrawConnectionsHandler } from './redraw-connections';
|
|
8
6
|
import { GetOutputRectInFlowHandler } from './get-output-rect-in-flow';
|
|
9
7
|
import { GetSelectionHandler } from './get-selection';
|
|
@@ -13,4 +11,5 @@ import { GetNodesRectHandler } from './get-nodes-rect';
|
|
|
13
11
|
import { GetElementRectInFlowHandler } from './get-element-rect-in-flow';
|
|
14
12
|
import { GetInputRectInFlowHandler } from './get-input-rect-in-flow';
|
|
15
13
|
import { SelectHandler } from './select';
|
|
16
|
-
|
|
14
|
+
import { UpdateItemLayerHandler } from './update-item-layer';
|
|
15
|
+
export declare const COMMON_PROVIDERS: (typeof GetElementRectInFlowHandler | typeof RedrawConnectionsHandler | typeof ClearSelectionHandler | typeof GetConnectionVectorHandler | typeof GetNodesRectHandler | typeof GetOutputRectInFlowHandler | typeof GetSelectionHandler | typeof SelectHandler | typeof SelectAllHandler | typeof UpdateItemLayerHandler | typeof GetConnectionHandler | typeof GetInputRectInFlowHandler | typeof GetIncomingConnectionsHandler | typeof GetOutgoingConnectionsHandler)[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IHandler } from '@foblex/core';
|
|
2
|
+
import { UpdateItemLayerRequest } from './update-item-layer.request';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class UpdateItemLayerHandler implements IHandler<UpdateItemLayerRequest, void> {
|
|
5
|
+
handle(request: UpdateItemLayerRequest): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UpdateItemLayerHandler, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UpdateItemLayerHandler>;
|
|
8
|
+
}
|
|
@@ -32,4 +32,4 @@ export { GetElementRectInFlowHandler };
|
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: GetElementRectInFlowHandler, decorators: [{
|
|
33
33
|
type: Injectable
|
|
34
34
|
}], ctorParameters: () => [{ type: i1.FComponentsStore }] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVsZW1lbnQtcmVjdC1pbi1mbG93LmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3cvZ2V0LWVsZW1lbnQtcmVjdC1pbi1mbG93LmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBb0MsS0FBSyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBSzdDLElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBRXRDLElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFvQztRQUVoRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2SyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFILE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBMUJVLDJCQUEyQjtrSEFBM0IsMkJBQTJCOztBQUEzQiwyQkFBMkI7SUFEdkMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUM7R0FDakMsMkJBQTJCLENBMkJ2Qzs7MkZBM0JZLDJCQUEyQjtrQkFGdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgSUhhbmRsZXIsIElSZWN0LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50LCBSZWN0RXh0ZW5zaW9ucywgU2l6ZUV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtZWxlbWVudC1yZWN0LWluLWZsb3ctcmVxdWVzdCc7XG5pbXBvcnQgeyBGSGFuZGxlclJlZ2lzdGVyIH0gZnJvbSAnLi4vLi4vZi1tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcblxuQEluamVjdGFibGUoKVxuQEZIYW5kbGVyUmVnaXN0ZXIoR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCwgSVJlY3Q+IHtcblxuICBwcml2YXRlIGdldCB0cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLnRyYW5zZm9ybTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZsb3dIb3N0KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZsb3dIb3N0O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0KTogSVJlY3Qge1xuXG4gICAgY29uc3Qgc3lzdGVtUmVjdCA9IFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHJlcXVlc3QuZWxlbWVudCk7XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvaW50LmZyb21Qb2ludChzeXN0ZW1SZWN0KS5lbGVtZW50VHJhbnNmb3JtKHRoaXMuZmxvd0hvc3QpLnN1Yih0aGlzLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbikuc3ViKHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uKS5kaXYodGhpcy50cmFuc2Zvcm0uc2NhbGUpO1xuXG4gICAgY29uc3Qgc2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUoc3lzdGVtUmVjdC53aWR0aCAvIHRoaXMudHJhbnNmb3JtLnNjYWxlLCBzeXN0ZW1SZWN0LmhlaWdodCAvIHRoaXMudHJhbnNmb3JtLnNjYWxlKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUocG9zaXRpb24ueCwgcG9zaXRpb24ueSwgc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
package/esm2022/domain/index.mjs
CHANGED
|
@@ -8,10 +8,9 @@ export * from './get-selection';
|
|
|
8
8
|
export * from './redraw-connections';
|
|
9
9
|
export * from './select';
|
|
10
10
|
export * from './select-all';
|
|
11
|
+
export * from './update-item-layer';
|
|
11
12
|
export * from './get-connection.handler';
|
|
12
13
|
export * from './get-incoming-connections.handler';
|
|
13
14
|
export * from './get-outgoing-connections.handler';
|
|
14
15
|
export * from './providers';
|
|
15
|
-
|
|
16
|
-
export * from './update-node-layer.handler';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxjQUFjLENBQUM7QUFJN0IsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxhQUFhLENBQUM7QUFHNUIsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbGVhci1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jb25uZWN0aW9uLXZlY3Rvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWVsZW1lbnQtcmVjdC1pbi1mbG93JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtaW5wdXQtcmVjdC1pbi1mbG93JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9kZXMtcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1zZWxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlZHJhdy1jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtYWxsJztcblxuXG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWNvbm5lY3Rpb24uaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWluY29taW5nLWNvbm5lY3Rpb25zLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1vdXRnb2luZy1jb25uZWN0aW9ucy5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLWNvbm5lY3Rpb24tbGF5ZXIuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLW5vZGUtbGF5ZXIuaGFuZGxlcic7XG4iXX0=
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUlwQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xlYXItc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29ubmVjdGlvbi12ZWN0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1lbGVtZW50LXJlY3QtaW4tZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWlucHV0LXJlY3QtaW4tZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGVzLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1vdXRwdXQtcmVjdC1pbi1mbG93JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9yZWRyYXctY29ubmVjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWFsbCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLWl0ZW0tbGF5ZXInO1xuXG5cblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29ubmVjdGlvbi5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtaW5jb21pbmctY29ubmVjdGlvbnMuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW91dGdvaW5nLWNvbm5lY3Rpb25zLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbiJdfQ==
|
|
@@ -2,8 +2,6 @@ import { GetIncomingConnectionsHandler } from './get-incoming-connections.handle
|
|
|
2
2
|
import { GetOutgoingConnectionsHandler } from './get-outgoing-connections.handler';
|
|
3
3
|
import { GetConnectionHandler } from './get-connection.handler';
|
|
4
4
|
import { GetConnectionVectorHandler } from './get-connection-vector';
|
|
5
|
-
import { UpdateNodeLayerHandler } from './update-node-layer.handler';
|
|
6
|
-
import { UpdateConnectionLayerHandler } from './update-connection-layer.handler';
|
|
7
5
|
import { RedrawConnectionsHandler } from './redraw-connections';
|
|
8
6
|
import { GetOutputRectInFlowHandler } from './get-output-rect-in-flow';
|
|
9
7
|
import { GetSelectionHandler } from './get-selection';
|
|
@@ -13,6 +11,7 @@ import { GetNodesRectHandler } from './get-nodes-rect';
|
|
|
13
11
|
import { GetElementRectInFlowHandler } from './get-element-rect-in-flow';
|
|
14
12
|
import { GetInputRectInFlowHandler } from './get-input-rect-in-flow';
|
|
15
13
|
import { SelectHandler } from './select';
|
|
14
|
+
import { UpdateItemLayerHandler } from './update-item-layer';
|
|
16
15
|
export const COMMON_PROVIDERS = [
|
|
17
16
|
ClearSelectionHandler,
|
|
18
17
|
GetConnectionVectorHandler,
|
|
@@ -23,11 +22,13 @@ export const COMMON_PROVIDERS = [
|
|
|
23
22
|
RedrawConnectionsHandler,
|
|
24
23
|
SelectHandler,
|
|
25
24
|
SelectAllHandler,
|
|
25
|
+
UpdateItemLayerHandler,
|
|
26
26
|
GetConnectionHandler,
|
|
27
27
|
GetInputRectInFlowHandler,
|
|
28
28
|
GetIncomingConnectionsHandler,
|
|
29
29
|
GetOutgoingConnectionsHandler,
|
|
30
|
-
UpdateConnectionLayerHandler,
|
|
31
|
-
|
|
30
|
+
// UpdateConnectionLayerHandler,
|
|
31
|
+
//
|
|
32
|
+
// UpdateNodeLayerHandler,
|
|
32
33
|
];
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBRTlCLHFCQUFxQjtJQUVyQiwwQkFBMEI7SUFFMUIsMkJBQTJCO0lBRTNCLG1CQUFtQjtJQUVuQiwwQkFBMEI7SUFFMUIsbUJBQW1CO0lBRW5CLHdCQUF3QjtJQUV4QixhQUFhO0lBRWIsZ0JBQWdCO0lBRWhCLHNCQUFzQjtJQUl0QixvQkFBb0I7SUFHcEIseUJBQXlCO0lBRXpCLDZCQUE2QjtJQUU3Qiw2QkFBNkI7SUFHN0IsZ0NBQWdDO0lBQ2hDLEVBQUU7SUFDRiwwQkFBMEI7Q0FDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldEluY29taW5nQ29ubmVjdGlvbnNIYW5kbGVyIH0gZnJvbSAnLi9nZXQtaW5jb21pbmctY29ubmVjdGlvbnMuaGFuZGxlcic7XG5pbXBvcnQgeyBHZXRPdXRnb2luZ0Nvbm5lY3Rpb25zSGFuZGxlciB9IGZyb20gJy4vZ2V0LW91dGdvaW5nLWNvbm5lY3Rpb25zLmhhbmRsZXInO1xuaW1wb3J0IHsgR2V0Q29ubmVjdGlvbkhhbmRsZXIgfSBmcm9tICcuL2dldC1jb25uZWN0aW9uLmhhbmRsZXInO1xuaW1wb3J0IHsgR2V0Q29ubmVjdGlvblZlY3RvckhhbmRsZXIgfSBmcm9tICcuL2dldC1jb25uZWN0aW9uLXZlY3Rvcic7XG5pbXBvcnQgeyBSZWRyYXdDb25uZWN0aW9uc0hhbmRsZXIgfSBmcm9tICcuL3JlZHJhdy1jb25uZWN0aW9ucyc7XG5pbXBvcnQgeyBHZXRPdXRwdXRSZWN0SW5GbG93SGFuZGxlciB9IGZyb20gJy4vZ2V0LW91dHB1dC1yZWN0LWluLWZsb3cnO1xuaW1wb3J0IHsgR2V0U2VsZWN0aW9uSGFuZGxlciB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbic7XG5pbXBvcnQgeyBTZWxlY3RBbGxIYW5kbGVyIH0gZnJvbSAnLi9zZWxlY3QtYWxsJztcbmltcG9ydCB7IENsZWFyU2VsZWN0aW9uSGFuZGxlciB9IGZyb20gJy4vY2xlYXItc2VsZWN0aW9uJztcbmltcG9ydCB7IEdldE5vZGVzUmVjdEhhbmRsZXIgfSBmcm9tICcuL2dldC1ub2Rlcy1yZWN0JztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlciB9IGZyb20gJy4vZ2V0LWVsZW1lbnQtcmVjdC1pbi1mbG93JztcbmltcG9ydCB7IEdldElucHV0UmVjdEluRmxvd0hhbmRsZXIgfSBmcm9tICcuL2dldC1pbnB1dC1yZWN0LWluLWZsb3cnO1xuaW1wb3J0IHsgU2VsZWN0SGFuZGxlciB9IGZyb20gJy4vc2VsZWN0JztcbmltcG9ydCB7IFVwZGF0ZUl0ZW1MYXllckhhbmRsZXIgfSBmcm9tICcuL3VwZGF0ZS1pdGVtLWxheWVyJztcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9QUk9WSURFUlMgPSBbXG5cbiAgQ2xlYXJTZWxlY3Rpb25IYW5kbGVyLFxuXG4gIEdldENvbm5lY3Rpb25WZWN0b3JIYW5kbGVyLFxuXG4gIEdldEVsZW1lbnRSZWN0SW5GbG93SGFuZGxlcixcblxuICBHZXROb2Rlc1JlY3RIYW5kbGVyLFxuXG4gIEdldE91dHB1dFJlY3RJbkZsb3dIYW5kbGVyLFxuXG4gIEdldFNlbGVjdGlvbkhhbmRsZXIsXG5cbiAgUmVkcmF3Q29ubmVjdGlvbnNIYW5kbGVyLFxuXG4gIFNlbGVjdEhhbmRsZXIsXG5cbiAgU2VsZWN0QWxsSGFuZGxlcixcblxuICBVcGRhdGVJdGVtTGF5ZXJIYW5kbGVyLFxuXG5cblxuICBHZXRDb25uZWN0aW9uSGFuZGxlcixcblxuXG4gIEdldElucHV0UmVjdEluRmxvd0hhbmRsZXIsXG5cbiAgR2V0SW5jb21pbmdDb25uZWN0aW9uc0hhbmRsZXIsXG5cbiAgR2V0T3V0Z29pbmdDb25uZWN0aW9uc0hhbmRsZXIsXG5cblxuICAvLyBVcGRhdGVDb25uZWN0aW9uTGF5ZXJIYW5kbGVyLFxuICAvL1xuICAvLyBVcGRhdGVOb2RlTGF5ZXJIYW5kbGVyLFxuXTtcbiJdfQ==
|
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
export class RedrawConnectionsRequest {
|
|
2
|
-
constructor() {
|
|
3
|
-
}
|
|
4
2
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9yZWRyYXctY29ubmVjdGlvbnMvcmVkcmF3LWNvbm5lY3Rpb25zLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHdCQUF3QjtDQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3Qge1xufVxuIl19
|
|
@@ -31,8 +31,8 @@ let RedrawConnectionsHandler = class RedrawConnectionsHandler {
|
|
|
31
31
|
output.setConnected(true);
|
|
32
32
|
input.setConnected(true);
|
|
33
33
|
const vector = this.getVector(output, input, connection);
|
|
34
|
-
connection.setVector(vector.point1, output.fConnectableSide, vector.point2, input.fConnectableSide);
|
|
35
34
|
connection.setMarkers();
|
|
35
|
+
connection.setVector(vector.point1, output.fConnectableSide, vector.point2, input.fConnectableSide);
|
|
36
36
|
connection.initialize();
|
|
37
37
|
}
|
|
38
38
|
getVector(output, input, connection) {
|
|
@@ -50,4 +50,4 @@ export { RedrawConnectionsHandler };
|
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: RedrawConnectionsHandler, decorators: [{
|
|
51
51
|
type: Injectable
|
|
52
52
|
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FFlowMediator }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9yZWRyYXctY29ubmVjdGlvbnMvcmVkcmF3LWNvbm5lY3Rpb25zLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdEUsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBSW5FLElBQU0sd0JBQXdCLEdBQTlCLE1BQU0sd0JBQXdCO0lBRW5DLFlBQ3FCLGdCQUFrQyxFQUMzQyxTQUF3QjtRQURmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDM0MsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUVwQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxDQUFDO1FBRXBELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0RixJQUFJLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQXNCLEVBQUUsS0FBcUIsRUFBRSxVQUEyQjtRQUNoRyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXpELFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QixVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFcEcsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxTQUFTLENBQUMsTUFBc0IsRUFBRSxLQUFxQixFQUFFLFVBQTJCO1FBQzFGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksMkJBQTJCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDbkcsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQVEsSUFBSSwyQkFBMkIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNqRyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQ2pELFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxDQUFDLFNBQVMsRUFDcEIsTUFBTSxDQUFDLGdCQUFnQixFQUN2QixLQUFLLENBQUMsZ0JBQWdCLENBQ3pCLENBQ0osQ0FBQztJQUNKLENBQUM7OEdBbERVLHdCQUF3QjtrSEFBeEIsd0JBQXdCOztBQUF4Qix3QkFBd0I7SUFEcEMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUM7R0FDOUIsd0JBQXdCLENBbURwQzs7MkZBbkRZLHdCQUF3QjtrQkFGcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyLCBJUmVjdCwgSVZlY3RvciB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3QgfSBmcm9tICcuL3JlZHJhdy1jb25uZWN0aW9ucy1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgR2V0Q29ubmVjdGlvblZlY3RvclJlcXVlc3QgfSBmcm9tICcuLi9nZXQtY29ubmVjdGlvbi12ZWN0b3InO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZGbG93TWVkaWF0b3IsIEZIYW5kbGVyUmVnaXN0ZXIgfSBmcm9tICcuLi8uLi9mLW1lZGlhdG9yJztcbmltcG9ydCB7IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdCB9IGZyb20gJy4uL2dldC1lbGVtZW50LXJlY3QtaW4tZmxvdyc7XG5cbkBJbmplY3RhYmxlKClcbkBGSGFuZGxlclJlZ2lzdGVyKFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBSZWRyYXdDb25uZWN0aW9uc0hhbmRsZXIgaW1wbGVtZW50cyBJSGFuZGxlcjxSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGRmxvd01lZGlhdG9yLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogUmVkcmF3Q29ubmVjdGlvbnNSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5yZXNldENvbm5lY3RvcnMoKTtcblxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24/LnNldE1hcmtlcnMoKTtcblxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMuZm9yRWFjaCgoY29ubmVjdGlvbikgPT4ge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5pZCA9PT0gY29ubmVjdGlvbi5mSW5wdXRJZCk7XG4gICAgICBpZiAob3V0cHV0ICYmIGlucHV0KSB7XG4gICAgICAgIHRoaXMuc2V0dXBDb25uZWN0aW9uKG91dHB1dCwgaW5wdXQsIGNvbm5lY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENvbm5lY3RvcnMoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLmZvckVhY2goKG91dHB1dCkgPT4gb3V0cHV0LnNldENvbm5lY3RlZChmYWxzZSkpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiBpbnB1dC5zZXRDb25uZWN0ZWQoZmFsc2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBDb25uZWN0aW9uKG91dHB1dDogRkNvbm5lY3RvckJhc2UsIGlucHV0OiBGQ29ubmVjdG9yQmFzZSwgY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlKTogdm9pZCB7XG4gICAgb3V0cHV0LnNldENvbm5lY3RlZCh0cnVlKTtcbiAgICBpbnB1dC5zZXRDb25uZWN0ZWQodHJ1ZSk7XG5cbiAgICBjb25zdCB2ZWN0b3IgPSB0aGlzLmdldFZlY3RvcihvdXRwdXQsIGlucHV0LCBjb25uZWN0aW9uKTtcblxuICAgIGNvbm5lY3Rpb24uc2V0TWFya2VycygpO1xuICAgIGNvbm5lY3Rpb24uc2V0VmVjdG9yKHZlY3Rvci5wb2ludDEsIG91dHB1dC5mQ29ubmVjdGFibGVTaWRlLCB2ZWN0b3IucG9pbnQyLCBpbnB1dC5mQ29ubmVjdGFibGVTaWRlKTtcblxuICAgIGNvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWZWN0b3Iob3V0cHV0OiBGQ29ubmVjdG9yQmFzZSwgaW5wdXQ6IEZDb25uZWN0b3JCYXNlLCBjb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UpOiBJVmVjdG9yIHtcbiAgICBjb25zdCBvdXRwdXRSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldEVsZW1lbnRSZWN0SW5GbG93UmVxdWVzdChvdXRwdXQuaG9zdEVsZW1lbnQpKTtcbiAgICBjb25zdCBpbnB1dFJlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElSZWN0PihuZXcgR2V0RWxlbWVudFJlY3RJbkZsb3dSZXF1ZXN0KGlucHV0Lmhvc3RFbGVtZW50KSk7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQobmV3IEdldENvbm5lY3Rpb25WZWN0b3JSZXF1ZXN0KFxuICAgICAgICAgICAgb3V0cHV0UmVjdCxcbiAgICAgICAgICAgIGlucHV0UmVjdCxcbiAgICAgICAgICAgIGNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICAgICAgb3V0cHV0LmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgICAgICBpbnB1dC5mQ29ubmVjdGFibGVTaWRlXG4gICAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './update-item-layer.handler';
|
|
2
|
+
export * from './update-item-layer.request';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi91cGRhdGUtaXRlbS1sYXllci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1pdGVtLWxheWVyLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1pdGVtLWxheWVyLnJlcXVlc3QnO1xuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { UpdateItemLayerRequest } from './update-item-layer.request';
|
|
3
|
+
import { Injectable } from '@angular/core';
|
|
4
|
+
import { FHandlerRegister } from '../../f-mediator';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
let UpdateItemLayerHandler = class UpdateItemLayerHandler {
|
|
7
|
+
handle(request) {
|
|
8
|
+
const elements = Array.from(request.itemContainer.children);
|
|
9
|
+
const elementsCount = elements.length;
|
|
10
|
+
const targetIndex = elements.findIndex((x) => x === request.item.hostElement);
|
|
11
|
+
if (targetIndex !== elementsCount - 1) {
|
|
12
|
+
const afterElements = elements.splice(targetIndex + 1);
|
|
13
|
+
afterElements.forEach((x) => {
|
|
14
|
+
request.itemContainer.removeChild(x);
|
|
15
|
+
request.itemContainer.insertBefore(x, request.item.hostElement);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateItemLayerHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateItemLayerHandler }); }
|
|
21
|
+
};
|
|
22
|
+
UpdateItemLayerHandler = __decorate([
|
|
23
|
+
FHandlerRegister(UpdateItemLayerRequest)
|
|
24
|
+
], UpdateItemLayerHandler);
|
|
25
|
+
export { UpdateItemLayerHandler };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UpdateItemLayerHandler, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tbGF5ZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3VwZGF0ZS1pdGVtLWxheWVyL3VwZGF0ZS1pdGVtLWxheWVyLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBSTdDLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBRTFCLE1BQU0sQ0FBQyxPQUErQjtRQUMzQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBVyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RixJQUFJLFdBQVcsS0FBSyxhQUFhLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdkQsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMxQixPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs4R0FiVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7QUFBdEIsc0JBQXNCO0lBRGxDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO0dBQzVCLHNCQUFzQixDQWNsQzs7MkZBZFksc0JBQXNCO2tCQUZsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgVXBkYXRlSXRlbUxheWVyUmVxdWVzdCB9IGZyb20gJy4vdXBkYXRlLWl0ZW0tbGF5ZXIucmVxdWVzdCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGSGFuZGxlclJlZ2lzdGVyIH0gZnJvbSAnLi4vLi4vZi1tZWRpYXRvcic7XG5cbkBJbmplY3RhYmxlKClcbkBGSGFuZGxlclJlZ2lzdGVyKFVwZGF0ZUl0ZW1MYXllclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgVXBkYXRlSXRlbUxheWVySGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPFVwZGF0ZUl0ZW1MYXllclJlcXVlc3QsIHZvaWQ+IHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFVwZGF0ZUl0ZW1MYXllclJlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50cyA9IEFycmF5LmZyb20ocmVxdWVzdC5pdGVtQ29udGFpbmVyLmNoaWxkcmVuKTtcbiAgICBjb25zdCBlbGVtZW50c0NvdW50ID0gZWxlbWVudHMubGVuZ3RoO1xuICAgIGNvbnN0IHRhcmdldEluZGV4OiBudW1iZXIgPSBlbGVtZW50cy5maW5kSW5kZXgoKHgpID0+IHggPT09IHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCk7XG4gICAgaWYgKHRhcmdldEluZGV4ICE9PSBlbGVtZW50c0NvdW50IC0gMSkge1xuICAgICAgY29uc3QgYWZ0ZXJFbGVtZW50cyA9IGVsZW1lbnRzLnNwbGljZSh0YXJnZXRJbmRleCArIDEpO1xuICAgICAgYWZ0ZXJFbGVtZW50cy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgIHJlcXVlc3QuaXRlbUNvbnRhaW5lci5yZW1vdmVDaGlsZCh4KTtcbiAgICAgICAgcmVxdWVzdC5pdGVtQ29udGFpbmVyLmluc2VydEJlZm9yZSh4LCByZXF1ZXN0Lml0ZW0uaG9zdEVsZW1lbnQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class UpdateItemLayerRequest {
|
|
2
|
+
constructor(item, itemContainer) {
|
|
3
|
+
this.item = item;
|
|
4
|
+
this.itemContainer = itemContainer;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tbGF5ZXIucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3VwZGF0ZS1pdGVtLWxheWVyL3VwZGF0ZS1pdGVtLWxheWVyLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxZQUNTLElBQWlCLEVBQ2pCLGFBQTBCO1FBRDFCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsa0JBQWEsR0FBYixhQUFhLENBQWE7SUFFbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNlbGVjdGFibGUgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24nO1xuZXhwb3J0IGNsYXNzIFVwZGF0ZUl0ZW1MYXllclJlcXVlc3Qge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpdGVtOiBJU2VsZWN0YWJsZSxcbiAgICBwdWJsaWMgaXRlbUNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -5,6 +5,7 @@ export class FComponentsStore {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.changes = new Subject();
|
|
7
7
|
this.fNodes = [];
|
|
8
|
+
this.fGroups = [];
|
|
8
9
|
this.fConnections = [];
|
|
9
10
|
this.fOutputs = [];
|
|
10
11
|
this.fInputs = [];
|
|
@@ -59,10 +60,18 @@ export class FComponentsStore {
|
|
|
59
60
|
this.fConnections = this.fConnections.filter(c => c !== connection);
|
|
60
61
|
this.changes.next();
|
|
61
62
|
}
|
|
63
|
+
addGroup(group) {
|
|
64
|
+
this.fGroups.push(group);
|
|
65
|
+
this.changes.next();
|
|
66
|
+
}
|
|
67
|
+
removeGroup(group) {
|
|
68
|
+
this.fGroups = this.fGroups.filter(n => n !== group);
|
|
69
|
+
this.changes.next();
|
|
70
|
+
}
|
|
62
71
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FComponentsStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63
72
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FComponentsStore }); }
|
|
64
73
|
}
|
|
65
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FComponentsStore, decorators: [{
|
|
66
75
|
type: Injectable
|
|
67
76
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb21wb25lbnRzLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbXBvbmVudHMtc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQVkvQixNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBR2tCLFlBQU8sR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWdCdEQsV0FBTSxHQUFnQixFQUFFLENBQUM7UUFFekIsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFFM0IsaUJBQVksR0FBc0IsRUFBRSxDQUFDO1FBSXJDLGFBQVEsR0FBcUIsRUFBRSxDQUFDO1FBRWhDLFlBQU8sR0FBcUIsRUFBRSxDQUFDO1FBRS9CLGFBQVEsR0FBcUIsRUFBRSxDQUFDO0tBbUV4QztJQTdGQyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVksQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFVLENBQUM7SUFDbEMsQ0FBQztJQXdCTSxTQUFTLENBQUMsTUFBdUI7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQXVCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQXFCO1FBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFxQjtRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUF1QjtRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxZQUFZLENBQUMsTUFBdUI7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBZTtRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxRQUFRLENBQUMsT0FBaUM7UUFDL0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQWU7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBMkI7UUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBMkI7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBaUI7UUFDL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWlCO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQWhHVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBGRmxvd0Jhc2UgfSBmcm9tICcuL2YtZmxvdyc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4vZi1jYW52YXMnO1xuaW1wb3J0IHsgRkJhY2tncm91bmRCYXNlIH0gZnJvbSAnLi9mLWJhY2tncm91ZCc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSwgRk5vZGVJbnB1dEJhc2UsIEZOb2RlT3V0bGV0QmFzZSwgRk5vZGVPdXRwdXRCYXNlIH0gZnJvbSAnLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IEZHcm91cEJhc2UgfSBmcm9tICcuL2YtZ3JvdXAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRkNvbXBvbmVudHNTdG9yZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgZmxvd0hvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZGbG93Py5ob3N0RWxlbWVudCE7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLmZDYW52YXM/LnRyYW5zZm9ybSE7XG4gIH1cblxuICBwdWJsaWMgZkZsb3c6IEZGbG93QmFzZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZkNhbnZhczogRkNhbnZhc0Jhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZCYWNrZ3JvdW5kOiBGQmFja2dyb3VuZEJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZOb2RlczogRk5vZGVCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZkdyb3VwczogRkdyb3VwQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZDb25uZWN0aW9uczogRkNvbm5lY3Rpb25CYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZlRlbXBDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGZPdXRwdXRzOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgcHVibGljIGZJbnB1dHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZk91dGxldHM6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgZkRyYWdnYWJsZTogRkRyYWdnYWJsZUJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFkZE91dHB1dChvdXRwdXQ6IEZOb2RlT3V0cHV0QmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZk91dHB1dHMucHVzaChvdXRwdXQpO1xuICAgIHRoaXMuY2hhbmdlcy5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlT3V0cHV0KG91dHB1dDogRk5vZGVPdXRwdXRCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5mT3V0cHV0cyA9IHRoaXMuZk91dHB1dHMuZmlsdGVyKG8gPT4gbyAhPT0gb3V0cHV0KTtcbiAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIGFkZElucHV0KGlucHV0OiBGTm9kZUlucHV0QmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZklucHV0cy5wdXNoKGlucHV0KTtcbiAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUlucHV0KGlucHV0OiBGTm9kZUlucHV0QmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZklucHV0cyA9IHRoaXMuZklucHV0cy5maWx0ZXIoaSA9PiBpICE9PSBpbnB1dCk7XG4gICAgdGhpcy5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRPdXRsZXQob3V0bGV0OiBGTm9kZU91dGxldEJhc2UpOiB2b2lkIHtcbiAgICB0aGlzLmZPdXRsZXRzLnB1c2gob3V0bGV0KTtcbiAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZU91dGxldChvdXRsZXQ6IEZOb2RlT3V0bGV0QmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZk91dGxldHMgPSB0aGlzLmZPdXRsZXRzLmZpbHRlcihvID0+IG8gIT09IG91dGxldCk7XG4gICAgdGhpcy5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGROb2RlKG5vZGU6IEZOb2RlQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZk5vZGVzLnB1c2gobm9kZSk7XG4gICAgdGhpcy5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kTm9kZShlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZOb2Rlcy5maW5kKG4gPT4gbi5pc0NvbnRhaW5zKGVsZW1lbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVOb2RlKG5vZGU6IEZOb2RlQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZk5vZGVzID0gdGhpcy5mTm9kZXMuZmlsdGVyKG4gPT4gbiAhPT0gbm9kZSk7XG4gICAgdGhpcy5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRDb25uZWN0aW9uKGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZkNvbm5lY3Rpb25zLnB1c2goY29ubmVjdGlvbik7XG4gICAgdGhpcy5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDb25uZWN0aW9uKGNvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZkNvbm5lY3Rpb25zID0gdGhpcy5mQ29ubmVjdGlvbnMuZmlsdGVyKGMgPT4gYyAhPT0gY29ubmVjdGlvbik7XG4gICAgdGhpcy5jaGFuZ2VzLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRHcm91cChncm91cDogRkdyb3VwQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuZkdyb3Vwcy5wdXNoKGdyb3VwKTtcbiAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUdyb3VwKGdyb3VwOiBGR3JvdXBCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5mR3JvdXBzID0gdGhpcy5mR3JvdXBzLmZpbHRlcihuID0+IG4gIT09IGdyb3VwKTtcbiAgICB0aGlzLmNoYW5nZXMubmV4dCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { FPathBuilderBase } from './f-path-builder-base';
|
|
2
1
|
import { EFConnectableSide } from '../../../f-connectors';
|
|
3
2
|
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
|
|
4
|
-
export class FBezierPathBuilder
|
|
3
|
+
export class FBezierPathBuilder {
|
|
5
4
|
static getConnectorOffset(distance, offset) {
|
|
6
5
|
if (distance >= offset) {
|
|
7
6
|
return distance;
|
|
@@ -31,8 +30,8 @@ export class FBezierPathBuilder extends FPathBuilderBase {
|
|
|
31
30
|
const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target, offset);
|
|
32
31
|
const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, target, source, offset);
|
|
33
32
|
const path = `M ${source.x} ${source.y} C ${sourceAnglePoint.x} ${sourceAnglePoint.y}, ${targetAnglePoint.x} ${targetAnglePoint.y}, ${target.x + 0.0001} ${target.y + 0.0001}`;
|
|
34
|
-
const
|
|
35
|
-
return { path,
|
|
33
|
+
const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, sourceAnglePoint, targetAnglePoint, target]));
|
|
34
|
+
return { path, connectionCenter };
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iZXppZXIucGF0aC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9mLWJlemllci5wYXRoLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFPbkgsTUFBTSxPQUFPLGtCQUFrQjtJQUVyQixNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ2hFLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUF1QixFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUVsRyxJQUFJLE1BQU0sR0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFbEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssaUJBQWlCLENBQUMsSUFBSTtnQkFDekIsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07WUFDUixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUMvRSxNQUFNO1lBQ1IsS0FBSyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUN4QixNQUFNLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDL0UsTUFBTTtZQUNSLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0IsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07UUFDVixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFtQztRQUMvQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVuRSxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RixNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RixNQUFNLElBQUksR0FBRyxLQUFNLE1BQU0sQ0FBQyxDQUFFLElBQUssTUFBTSxDQUFDLENBQUUsTUFBTyxnQkFBZ0IsQ0FBQyxDQUFFLElBQUssZ0JBQWdCLENBQUMsQ0FBRSxLQUFNLGdCQUFnQixDQUFDLENBQUUsSUFBSyxnQkFBZ0IsQ0FBQyxDQUFFLEtBQU0sTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLElBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLEVBQUUsQ0FBQztRQUUvTCxNQUFNLGdCQUFnQixHQUFHLElBQUksZ0NBQWdDLEVBQUUsQ0FBQyxNQUFNLENBQ3BFLElBQUksZ0NBQWdDLENBQUMsQ0FBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFFLENBQUMsQ0FDN0YsQ0FBQztRQUVGLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuaW1wb3J0IHtcbiAgSUZDb25uZWN0aW9uQnVpbGRlcixcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZVxufSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBGQmV6aWVyUGF0aEJ1aWxkZXIgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcblxuICBwcml2YXRlIHN0YXRpYyBnZXRDb25uZWN0b3JPZmZzZXQoZGlzdGFuY2U6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChkaXN0YW5jZSA+PSBvZmZzZXQpIHtcbiAgICAgIHJldHVybiBkaXN0YW5jZTtcbiAgICB9XG4gICAgcmV0dXJuIG9mZnNldCAqIE1hdGguc3FydChvZmZzZXQgLSBkaXN0YW5jZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRBbmdsZVBvaW50KHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCBzb3VyY2U6IElQb2ludCwgdGFyZ2V0OiBJUG9pbnQsIG9mZnNldDogbnVtYmVyKTogSVBvaW50IHtcblxuICAgIGxldCByZXN1bHQ6IElQb2ludCA9IHsgeDogc291cmNlLngsIHk6IHNvdXJjZS55IH07XG5cbiAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgICAgcmVzdWx0LnggLT0gRkJlemllclBhdGhCdWlsZGVyLmdldENvbm5lY3Rvck9mZnNldChzb3VyY2UueCAtIHRhcmdldC54LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ6XG4gICAgICAgIHJlc3VsdC54ICs9IEZCZXppZXJQYXRoQnVpbGRlci5nZXRDb25uZWN0b3JPZmZzZXQodGFyZ2V0LnggLSBzb3VyY2UueCwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlRPUDpcbiAgICAgICAgcmVzdWx0LnkgLT0gRkJlemllclBhdGhCdWlsZGVyLmdldENvbm5lY3Rvck9mZnNldChzb3VyY2UueSAtIHRhcmdldC55LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NOlxuICAgICAgICByZXN1bHQueSArPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0Q29ubmVjdG9yT2Zmc2V0KHRhcmdldC55IC0gc291cmNlLnksIG9mZnNldCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0KTogSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlIHtcbiAgICBjb25zdCB7IHNvdXJjZSwgc291cmNlU2lkZSwgdGFyZ2V0LCB0YXJnZXRTaWRlLCBvZmZzZXQgfSA9IHJlcXVlc3Q7XG5cbiAgICBjb25zdCBzb3VyY2VBbmdsZVBvaW50ID0gRkJlemllclBhdGhCdWlsZGVyLmdldEFuZ2xlUG9pbnQoc291cmNlU2lkZSwgc291cmNlLCB0YXJnZXQsIG9mZnNldCk7XG5cbiAgICBjb25zdCB0YXJnZXRBbmdsZVBvaW50ID0gRkJlemllclBhdGhCdWlsZGVyLmdldEFuZ2xlUG9pbnQodGFyZ2V0U2lkZSwgdGFyZ2V0LCBzb3VyY2UsIG9mZnNldCk7XG5cbiAgICBjb25zdCBwYXRoID0gYE0gJHsgc291cmNlLnggfSAkeyBzb3VyY2UueSB9IEMgJHsgc291cmNlQW5nbGVQb2ludC54IH0gJHsgc291cmNlQW5nbGVQb2ludC55IH0sICR7IHRhcmdldEFuZ2xlUG9pbnQueCB9ICR7IHRhcmdldEFuZ2xlUG9pbnQueSB9LCAkeyB0YXJnZXQueCArIDAuMDAwMSB9ICR7IHRhcmdldC55ICsgMC4wMDAxIH1gO1xuXG4gICAgY29uc3QgY29ubmVjdGlvbkNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdChbIHNvdXJjZSwgc291cmNlQW5nbGVQb2ludCwgdGFyZ2V0QW5nbGVQb2ludCwgdGFyZ2V0IF0pXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBhdGgsIGNvbm5lY3Rpb25DZW50ZXIgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { PointExtensions } from '@foblex/core';
|
|
2
|
-
import { FPathBuilderBase } from './f-path-builder-base';
|
|
3
2
|
import { EFConnectableSide } from '../../../f-connectors';
|
|
4
3
|
import { CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest } from './calculate-center-between-points';
|
|
5
4
|
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
|
|
@@ -10,12 +9,12 @@ const CONNECTOR_SIDE_POINT = {
|
|
|
10
9
|
[EFConnectableSide.BOTTOM]: PointExtensions.initialize(0, 1),
|
|
11
10
|
[EFConnectableSide.AUTO]: PointExtensions.initialize(0, 0),
|
|
12
11
|
};
|
|
13
|
-
export class FSegmentPathBuilder
|
|
12
|
+
export class FSegmentPathBuilder {
|
|
14
13
|
handle(request) {
|
|
15
14
|
const { source, sourceSide, target, targetSide } = request;
|
|
16
15
|
const { points, center } = this.getPathPoints(source, sourceSide, target, targetSide, request.offset);
|
|
17
16
|
const path = this.buildPath(points, request.radius);
|
|
18
|
-
return { path, center };
|
|
17
|
+
return { path, connectionCenter: center };
|
|
19
18
|
}
|
|
20
19
|
getPathPoints(source, sourceSide, target, targetSide, offset) {
|
|
21
20
|
const sourceDirection = CONNECTOR_SIDE_POINT[sourceSide];
|
|
@@ -139,4 +138,4 @@ export class FSegmentPathBuilder extends FPathBuilderBase {
|
|
|
139
138
|
return `L${point.x + 0.0001} ${point.y + 0.0001}`;
|
|
140
139
|
}
|
|
141
140
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWdtZW50LnBhdGgtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1zZWdtZW50LnBhdGgtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLG1DQUFtQyxFQUNwQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5ILE1BQU0sb0JBQW9CLEdBQWlCO0lBRXpDLENBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFFLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU1RCxDQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5RCxDQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUM3RCxDQUFDO0FBRUYsTUFBTSxPQUFPLG1CQUFvQixTQUFR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SyxDQUFDLENBQUMsR0FBRyxNQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWFwLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlIH0gZnJvbSAnLi9mLXBhdGgtYnVpbGRlci1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IElGUGF0aEJ1aWxkZXJSZXF1ZXN0IH0gZnJvbSAnLi9pLWYtcGF0aC1idWlsZGVyLXJlcXVlc3QnO1xuaW1wb3J0IHsgSUZQYXRoQnVpbGRlclJlc3BvbnNlIH0gZnJvbSAnLi9pLWYtcGF0aC1idWlsZGVyLXJlc3BvbnNlJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNIYW5kbGVyLFxuICBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdFxufSBmcm9tICcuL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuXG5jb25zdCBDT05ORUNUT1JfU0lERV9QT0lOVDogSU1hcDxJUG9pbnQ+ID0ge1xuXG4gIFsgRUZDb25uZWN0YWJsZVNpZGUuTEVGVCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgtMSwgMCksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgxLCAwKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLlRPUCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAtMSksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT00gXTogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMSksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDApLFxufTtcblxuZXhwb3J0IGNsYXNzIEZTZWdtZW50UGF0aEJ1aWxkZXIgZXh0ZW5kcyBGUGF0aEJ1aWxkZXJCYXNlIHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElGUGF0aEJ1aWxkZXJSZXF1ZXN0KTogSUZQYXRoQnVpbGRlclJlc3BvbnNlIHtcbiAgICBjb25zdCB7IHNvdXJjZSwgc291cmNlU2lkZSwgdGFyZ2V0LCB0YXJnZXRTaWRlIH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3QgeyBwb2ludHMsIGNlbnRlciB9ID0gdGhpcy5nZXRQYXRoUG9pbnRzKFxuICAgICAgICBzb3VyY2UsXG4gICAgICAgIHNvdXJjZVNpZGUsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGFyZ2V0U2lkZSxcbiAgICAgICAgcmVxdWVzdC5vZmZzZXRcbiAgICApO1xuXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuYnVpbGRQYXRoKHBvaW50cywgcmVxdWVzdC5yYWRpdXMpO1xuXG4gICAgcmV0dXJuIHsgcGF0aCwgY2VudGVyIH07XG4gIH1cblxuICBwcml2YXRlIGdldFBhdGhQb2ludHMoXG4gICAgICBzb3VyY2U6IElQb2ludCwgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRhcmdldDogSVBvaW50LCB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgb2Zmc2V0OiBudW1iZXJcbiAgKTogeyBwb2ludHM6IElQb2ludFtdLCBjZW50ZXI6IElQb2ludCB9IHtcblxuICAgIGNvbnN0IHNvdXJjZURpcmVjdGlvbiA9IENPTk5FQ1RPUl9TSURFX1BPSU5UWyBzb3VyY2VTaWRlIF07XG4gICAgY29uc3QgdGFyZ2V0RGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbIHRhcmdldFNpZGUgXTtcblxuICAgIGNvbnN0IHNvdXJjZUdhcDogSVBvaW50ID0geyB4OiBzb3VyY2UueCArIHNvdXJjZURpcmVjdGlvbi54ICogb2Zmc2V0LCB5OiBzb3VyY2UueSArIHNvdXJjZURpcmVjdGlvbi55ICogb2Zmc2V0IH07XG4gICAgY29uc3QgdGFyZ2V0R2FwOiBJUG9pbnQgPSB7IHg6IHRhcmdldC54ICsgdGFyZ2V0RGlyZWN0aW9uLnggKiBvZmZzZXQsIHk6IHRhcmdldC55ICsgdGFyZ2V0RGlyZWN0aW9uLnkgKiBvZmZzZXQgfTtcblxuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKHNvdXJjZUdhcCwgc291cmNlU2lkZSwgdGFyZ2V0R2FwKTtcbiAgICBjb25zdCBkaXJlY3Rpb25BY2Nlc3NvciA9IGRpcmVjdGlvbi54ICE9PSAwID8gJ3gnIDogJ3knO1xuICAgIGNvbnN0IGN1cnJlbnREaXJlY3Rpb24gPSBkaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF07XG5cbiAgICBsZXQgcG9pbnRzOiBJUG9pbnRbXSA9IFtdO1xuICAgIGNvbnN0IHNvdXJjZUdhcE9mZnNldCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgdGFyZ2V0R2FwT2Zmc2V0ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICAgIGNvbnN0IGNlbnRlckJldHdlZW5Qb2ludHMgPSBuZXcgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c0hhbmRsZXIoKS5oYW5kbGUoXG4gICAgICAgIG5ldyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdChzb3VyY2UsIHRhcmdldClcbiAgICApO1xuXG4gICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSAqIHRhcmdldERpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gLTEpIHtcbiAgICAgIGNvbnN0IHZlcnRpY2FsU3BsaXQ6IElQb2ludFtdID0gW1xuICAgICAgICB7IHg6IGNlbnRlckJldHdlZW5Qb2ludHMueCwgeTogc291cmNlR2FwLnkgfSxcbiAgICAgICAgeyB4OiBjZW50ZXJCZXR3ZWVuUG9pbnRzLngsIHk6IHRhcmdldEdhcC55IH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgaG9yaXpvbnRhbFNwbGl0OiBJUG9pbnRbXSA9IFtcbiAgICAgICAgeyB4OiBzb3VyY2VHYXAueCwgeTogY2VudGVyQmV0d2VlblBvaW50cy55IH0sXG4gICAgICAgIHsgeDogdGFyZ2V0R2FwLngsIHk6IGNlbnRlckJldHdlZW5Qb2ludHMueSB9LFxuICAgICAgXTtcblxuICAgICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gdmVydGljYWxTcGxpdCA6IGhvcml6b250YWxTcGxpdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyBob3Jpem9udGFsU3BsaXQgOiB2ZXJ0aWNhbFNwbGl0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzb3VyY2VUYXJnZXQ6IElQb2ludFtdID0gWyB7IHg6IHNvdXJjZUdhcC54LCB5OiB0YXJnZXRHYXAueSB9IF07XG4gICAgICBjb25zdCB0YXJnZXRTb3VyY2U6IElQb2ludFtdID0gWyB7IHg6IHRhcmdldEdhcC54LCB5OiBzb3VyY2VHYXAueSB9IF07XG5cbiAgICAgIGlmIChkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnKSB7XG4gICAgICAgIHBvaW50cyA9IHNvdXJjZURpcmVjdGlvbi54ID09PSBjdXJyZW50RGlyZWN0aW9uID8gdGFyZ2V0U291cmNlIDogc291cmNlVGFyZ2V0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9pbnRzID0gc291cmNlRGlyZWN0aW9uLnkgPT09IGN1cnJlbnREaXJlY3Rpb24gPyBzb3VyY2VUYXJnZXQgOiB0YXJnZXRTb3VyY2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChzb3VyY2VTaWRlID09PSB0YXJnZXRTaWRlKSB7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBNYXRoLmFicyhzb3VyY2VbIGRpcmVjdGlvbkFjY2Vzc29yIF0gLSB0YXJnZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0pO1xuXG4gICAgICAgIGlmIChkaWZmIDw9IG9mZnNldCkge1xuICAgICAgICAgIGNvbnN0IGdhcE9mZnNldCA9IE1hdGgubWluKG9mZnNldCAtIDEsIG9mZnNldCAtIGRpZmYpO1xuICAgICAgICAgIGlmIChzb3VyY2VEaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF0gPT09IGN1cnJlbnREaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHNvdXJjZUdhcE9mZnNldFsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9IChzb3VyY2VHYXBbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPiBzb3VyY2VbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXRHYXBPZmZzZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPSAodGFyZ2V0R2FwWyBkaXJlY3Rpb25BY2Nlc3NvciBdID4gdGFyZ2V0WyBkaXJlY3Rpb25BY2Nlc3NvciBdID8gLTEgOiAxKSAqIGdhcE9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVNpZGUgIT09IHRhcmdldFNpZGUpIHtcbiAgICAgICAgY29uc3QgZGlyQWNjZXNzb3JPcHBvc2l0ZSA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyAneScgOiAneCc7XG4gICAgICAgIGNvbnN0IGlzU2FtZURpciA9IHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gdGFyZ2V0RGlyZWN0aW9uWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IHNvdXJjZUd0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFsgZGlyQWNjZXNzb3JPcHBvc2l0ZSBdID4gdGFyZ2V0R2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IHNvdXJjZUx0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFsgZGlyQWNjZXNzb3JPcHBvc2l0ZSBdIDwgdGFyZ2V0R2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IGZsaXBTb3VyY2VUYXJnZXQgPVxuICAgICAgICAgICAgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gMSAmJlxuICAgICAgICAgICAgICAgICgoIWlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pIHx8IChpc1NhbWVEaXIgJiYgc291cmNlTHRUYXJnZXRPcHBvKSkpIHx8XG4gICAgICAgICAgICAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdICE9PSAxICYmXG4gICAgICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUx0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pKSk7XG5cbiAgICAgICAgaWYgKGZsaXBTb3VyY2VUYXJnZXQpIHtcbiAgICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gc291cmNlVGFyZ2V0IDogdGFyZ2V0U291cmNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFBvaW50cyA9IFtcbiAgICAgIHNvdXJjZSxcbiAgICAgIHsgeDogc291cmNlR2FwLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9LFxuICAgICAgLi4ucG9pbnRzLFxuICAgICAgeyB4OiB0YXJnZXRHYXAueCArIHRhcmdldEdhcE9mZnNldC54LCB5OiB0YXJnZXRHYXAueSArIHRhcmdldEdhcE9mZnNldC55IH0sXG4gICAgICB0YXJnZXQsXG4gICAgXTtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KHBhdGhQb2ludHMpXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBvaW50czogcGF0aFBvaW50cywgY2VudGVyOiBjZW50ZXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlyZWN0aW9uKHNvdXJjZTogSVBvaW50LCBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdGFyZ2V0OiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIGlmIChzb3VyY2VTaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUIHx8IHNvdXJjZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUKSB7XG4gICAgICByZXR1cm4gc291cmNlLnggPCB0YXJnZXQueCA/IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDEsIDApIDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoLTEsIDApO1xuICAgIH1cbiAgICByZXR1cm4gc291cmNlLnkgPCB0YXJnZXQueSA/IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDEpIDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgLTEpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXN0YW5jZShhOiBJUG9pbnQsIGI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhiLnggLSBhLngsIDIpICsgTWF0aC5wb3coYi55IC0gYS55LCAyKSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGF0aChwb2ludHM6IElQb2ludFtdLCBib3JkZXJSYWRpdXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IHBhdGggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcCA9IHBvaW50c1sgaSBdO1xuICAgICAgbGV0IHNlZ21lbnQgPSAnJztcblxuICAgICAgaWYgKGkgPiAwICYmIGkgPCBwb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWdtZW50ID0gdGhpcy5nZXRCZW5kKHBvaW50c1sgaSAtIDEgXSwgcCwgcG9pbnRzWyBpICsgMSBdLCBib3JkZXJSYWRpdXMpO1xuICAgICAgfSBlbHNlIGlmIChpID09PSBwb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWdtZW50ID0gdGhpcy5idWlsZExhc3RMaW5lU2VnbWVudChpLCBwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLmJ1aWxkTW92ZU9yTGluZVNlZ21lbnQoaSwgcCk7XG4gICAgICB9XG4gICAgICBwYXRoICs9IHNlZ21lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cblxuICBwcml2YXRlIGdldEJlbmQoYTogSVBvaW50LCBiOiBJUG9pbnQsIGM6IElQb2ludCwgc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBiZW5kU2l6ZSA9IE1hdGgubWluKHRoaXMuZGlzdGFuY2UoYSwgYikgLyAyLCB0aGlzLmRpc3RhbmNlKGIsIGMpIC8gMiwgc2l6ZSk7XG4gICAgY29uc3QgeyB4LCB5IH0gPSBiO1xuXG4gICAgaWYgKChhLnggPT09IHggJiYgeCA9PT0gYy54KSB8fCAoYS55ID09PSB5ICYmIHkgPT09IGMueSkpIHtcbiAgICAgIHJldHVybiBgTCR7IHggfSAkeyB5IH1gO1xuICAgIH1cblxuICAgIGlmIChhLnkgPT09IHkpIHtcbiAgICAgIGNvbnN0IHhEaXIgPSBhLnggPCBjLnggPyAtMSA6IDE7XG4gICAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gMSA6IC0xO1xuICAgICAgcmV0dXJuIGBMICR7IHggKyBiZW5kU2l6ZSAqIHhEaXIgfSwkeyB5IH1RICR7IHggfSwkeyB5IH0gJHsgeCB9LCR7IHkgKyBiZW5kU2l6ZSAqIHlEaXIgfWA7XG4gICAgfVxuXG4gICAgY29uc3QgeERpciA9IGEueCA8IGMueCA/IDEgOiAtMTtcbiAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gLTEgOiAxO1xuICAgIHJldHVybiBgTCAkeyB4IH0sJHsgeSArIGJlbmRTaXplICogeURpciB9USAkeyB4IH0sJHsgeSB9ICR7IHggKyBiZW5kU2l6ZSAqIHhEaXIgfSwkeyB5IH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE1vdmVPckxpbmVTZWdtZW50KGluZGV4OiBudW1iZXIsIHBvaW50OiBJUG9pbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHsgaW5kZXggPT09IDAgPyAnTScgOiAnTCcgfSR7IHBvaW50LnggfSAkeyBwb2ludC55IH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExhc3RMaW5lU2VnbWVudChpbmRleDogbnVtYmVyLCBwb2ludDogSVBvaW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEwkeyBwb2ludC54ICsgMC4wMDAxIH0gJHsgcG9pbnQueSArIDAuMDAwMSB9YDtcbiAgfVxufVxuIl19
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWdtZW50LnBhdGgtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1zZWdtZW50LnBhdGgtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLG1DQUFtQyxFQUNwQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBT25ILE1BQU0sb0JBQW9CLEdBQWlCO0lBRXpDLENBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFFLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU1RCxDQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5RCxDQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUM3RCxDQUFDO0FBRUYsTUFBTSxPQUFPLG1CQUFtQjtJQUV2QixNQUFNLENBQUMsT0FBbUM7UUFDL0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxV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Q0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWFwLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c1JlcXVlc3Rcbn0gZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyLCBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7XG4gIElGQ29ubmVjdGlvbkJ1aWxkZXIsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0LFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Vcbn0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuXG5jb25zdCBDT05ORUNUT1JfU0lERV9QT0lOVDogSU1hcDxJUG9pbnQ+ID0ge1xuXG4gIFsgRUZDb25uZWN0YWJsZVNpZGUuTEVGVCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgtMSwgMCksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgxLCAwKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLlRPUCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAtMSksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT00gXTogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMSksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDApLFxufTtcblxuZXhwb3J0IGNsYXNzIEZTZWdtZW50UGF0aEJ1aWxkZXIgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0KTogSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlIHtcbiAgICBjb25zdCB7IHNvdXJjZSwgc291cmNlU2lkZSwgdGFyZ2V0LCB0YXJnZXRTaWRlIH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3QgeyBwb2ludHMsIGNlbnRlciB9ID0gdGhpcy5nZXRQYXRoUG9pbnRzKFxuICAgICAgICBzb3VyY2UsXG4gICAgICAgIHNvdXJjZVNpZGUsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGFyZ2V0U2lkZSxcbiAgICAgICAgcmVxdWVzdC5vZmZzZXRcbiAgICApO1xuXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuYnVpbGRQYXRoKHBvaW50cywgcmVxdWVzdC5yYWRpdXMpO1xuXG4gICAgcmV0dXJuIHsgcGF0aCwgY29ubmVjdGlvbkNlbnRlcjogY2VudGVyIH07XG4gIH1cblxuICBwcml2YXRlIGdldFBhdGhQb2ludHMoXG4gICAgICBzb3VyY2U6IElQb2ludCwgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRhcmdldDogSVBvaW50LCB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgb2Zmc2V0OiBudW1iZXJcbiAgKTogeyBwb2ludHM6IElQb2ludFtdLCBjZW50ZXI6IElQb2ludCB9IHtcblxuICAgIGNvbnN0IHNvdXJjZURpcmVjdGlvbiA9IENPTk5FQ1RPUl9TSURFX1BPSU5UWyBzb3VyY2VTaWRlIF07XG4gICAgY29uc3QgdGFyZ2V0RGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbIHRhcmdldFNpZGUgXTtcblxuICAgIGNvbnN0IHNvdXJjZUdhcDogSVBvaW50ID0geyB4OiBzb3VyY2UueCArIHNvdXJjZURpcmVjdGlvbi54ICogb2Zmc2V0LCB5OiBzb3VyY2UueSArIHNvdXJjZURpcmVjdGlvbi55ICogb2Zmc2V0IH07XG4gICAgY29uc3QgdGFyZ2V0R2FwOiBJUG9pbnQgPSB7IHg6IHRhcmdldC54ICsgdGFyZ2V0RGlyZWN0aW9uLnggKiBvZmZzZXQsIHk6IHRhcmdldC55ICsgdGFyZ2V0RGlyZWN0aW9uLnkgKiBvZmZzZXQgfTtcblxuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKHNvdXJjZUdhcCwgc291cmNlU2lkZSwgdGFyZ2V0R2FwKTtcbiAgICBjb25zdCBkaXJlY3Rpb25BY2Nlc3NvciA9IGRpcmVjdGlvbi54ICE9PSAwID8gJ3gnIDogJ3knO1xuICAgIGNvbnN0IGN1cnJlbnREaXJlY3Rpb24gPSBkaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF07XG5cbiAgICBsZXQgcG9pbnRzOiBJUG9pbnRbXSA9IFtdO1xuICAgIGNvbnN0IHNvdXJjZUdhcE9mZnNldCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgdGFyZ2V0R2FwT2Zmc2V0ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICAgIGNvbnN0IGNlbnRlckJldHdlZW5Qb2ludHMgPSBuZXcgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c0hhbmRsZXIoKS5oYW5kbGUoXG4gICAgICAgIG5ldyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdChzb3VyY2UsIHRhcmdldClcbiAgICApO1xuXG4gICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSAqIHRhcmdldERpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gLTEpIHtcbiAgICAgIGNvbnN0IHZlcnRpY2FsU3BsaXQ6IElQb2ludFtdID0gW1xuICAgICAgICB7IHg6IGNlbnRlckJldHdlZW5Qb2ludHMueCwgeTogc291cmNlR2FwLnkgfSxcbiAgICAgICAgeyB4OiBjZW50ZXJCZXR3ZWVuUG9pbnRzLngsIHk6IHRhcmdldEdhcC55IH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgaG9yaXpvbnRhbFNwbGl0OiBJUG9pbnRbXSA9IFtcbiAgICAgICAgeyB4OiBzb3VyY2VHYXAueCwgeTogY2VudGVyQmV0d2VlblBvaW50cy55IH0sXG4gICAgICAgIHsgeDogdGFyZ2V0R2FwLngsIHk6IGNlbnRlckJldHdlZW5Qb2ludHMueSB9LFxuICAgICAgXTtcblxuICAgICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gdmVydGljYWxTcGxpdCA6IGhvcml6b250YWxTcGxpdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyBob3Jpem9udGFsU3BsaXQgOiB2ZXJ0aWNhbFNwbGl0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzb3VyY2VUYXJnZXQ6IElQb2ludFtdID0gWyB7IHg6IHNvdXJjZUdhcC54LCB5OiB0YXJnZXRHYXAueSB9IF07XG4gICAgICBjb25zdCB0YXJnZXRTb3VyY2U6IElQb2ludFtdID0gWyB7IHg6IHRhcmdldEdhcC54LCB5OiBzb3VyY2VHYXAueSB9IF07XG5cbiAgICAgIGlmIChkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnKSB7XG4gICAgICAgIHBvaW50cyA9IHNvdXJjZURpcmVjdGlvbi54ID09PSBjdXJyZW50RGlyZWN0aW9uID8gdGFyZ2V0U291cmNlIDogc291cmNlVGFyZ2V0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9pbnRzID0gc291cmNlRGlyZWN0aW9uLnkgPT09IGN1cnJlbnREaXJlY3Rpb24gPyBzb3VyY2VUYXJnZXQgOiB0YXJnZXRTb3VyY2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChzb3VyY2VTaWRlID09PSB0YXJnZXRTaWRlKSB7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBNYXRoLmFicyhzb3VyY2VbIGRpcmVjdGlvbkFjY2Vzc29yIF0gLSB0YXJnZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0pO1xuXG4gICAgICAgIGlmIChkaWZmIDw9IG9mZnNldCkge1xuICAgICAgICAgIGNvbnN0IGdhcE9mZnNldCA9IE1hdGgubWluKG9mZnNldCAtIDEsIG9mZnNldCAtIGRpZmYpO1xuICAgICAgICAgIGlmIChzb3VyY2VEaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF0gPT09IGN1cnJlbnREaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHNvdXJjZUdhcE9mZnNldFsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9IChzb3VyY2VHYXBbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPiBzb3VyY2VbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXRHYXBPZmZzZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPSAodGFyZ2V0R2FwWyBkaXJlY3Rpb25BY2Nlc3NvciBdID4gdGFyZ2V0WyBkaXJlY3Rpb25BY2Nlc3NvciBdID8gLTEgOiAxKSAqIGdhcE9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVNpZGUgIT09IHRhcmdldFNpZGUpIHtcbiAgICAgICAgY29uc3QgZGlyQWNjZXNzb3JPcHBvc2l0ZSA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyAneScgOiAneCc7XG4gICAgICAgIGNvbnN0IGlzU2FtZURpciA9IHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gdGFyZ2V0RGlyZWN0aW9uWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IHNvdXJjZUd0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFsgZGlyQWNjZXNzb3JPcHBvc2l0ZSBdID4gdGFyZ2V0R2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IHNvdXJjZUx0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFsgZGlyQWNjZXNzb3JPcHBvc2l0ZSBdIDwgdGFyZ2V0R2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IGZsaXBTb3VyY2VUYXJnZXQgPVxuICAgICAgICAgICAgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gMSAmJlxuICAgICAgICAgICAgICAgICgoIWlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pIHx8IChpc1NhbWVEaXIgJiYgc291cmNlTHRUYXJnZXRPcHBvKSkpIHx8XG4gICAgICAgICAgICAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdICE9PSAxICYmXG4gICAgICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUx0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pKSk7XG5cbiAgICAgICAgaWYgKGZsaXBTb3VyY2VUYXJnZXQpIHtcbiAgICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gc291cmNlVGFyZ2V0IDogdGFyZ2V0U291cmNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFBvaW50cyA9IFtcbiAgICAgIHNvdXJjZSxcbiAgICAgIHsgeDogc291cmNlR2FwLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9LFxuICAgICAgLi4ucG9pbnRzLFxuICAgICAgeyB4OiB0YXJnZXRHYXAueCArIHRhcmdldEdhcE9mZnNldC54LCB5OiB0YXJnZXRHYXAueSArIHRhcmdldEdhcE9mZnNldC55IH0sXG4gICAgICB0YXJnZXQsXG4gICAgXTtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KHBhdGhQb2ludHMpXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBvaW50czogcGF0aFBvaW50cywgY2VudGVyOiBjZW50ZXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlyZWN0aW9uKHNvdXJjZTogSVBvaW50LCBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdGFyZ2V0OiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIGlmIChzb3VyY2VTaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUIHx8IHNvdXJjZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUKSB7XG4gICAgICByZXR1cm4gc291cmNlLnggPCB0YXJnZXQueCA/IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDEsIDApIDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoLTEsIDApO1xuICAgIH1cbiAgICByZXR1cm4gc291cmNlLnkgPCB0YXJnZXQueSA/IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDEpIDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgLTEpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXN0YW5jZShhOiBJUG9pbnQsIGI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhiLnggLSBhLngsIDIpICsgTWF0aC5wb3coYi55IC0gYS55LCAyKSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGF0aChwb2ludHM6IElQb2ludFtdLCBib3JkZXJSYWRpdXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IHBhdGggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcCA9IHBvaW50c1sgaSBdO1xuICAgICAgbGV0IHNlZ21lbnQgPSAnJztcblxuICAgICAgaWYgKGkgPiAwICYmIGkgPCBwb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWdtZW50ID0gdGhpcy5nZXRCZW5kKHBvaW50c1sgaSAtIDEgXSwgcCwgcG9pbnRzWyBpICsgMSBdLCBib3JkZXJSYWRpdXMpO1xuICAgICAgfSBlbHNlIGlmIChpID09PSBwb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWdtZW50ID0gdGhpcy5idWlsZExhc3RMaW5lU2VnbWVudChpLCBwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLmJ1aWxkTW92ZU9yTGluZVNlZ21lbnQoaSwgcCk7XG4gICAgICB9XG4gICAgICBwYXRoICs9IHNlZ21lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cblxuICBwcml2YXRlIGdldEJlbmQoYTogSVBvaW50LCBiOiBJUG9pbnQsIGM6IElQb2ludCwgc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBiZW5kU2l6ZSA9IE1hdGgubWluKHRoaXMuZGlzdGFuY2UoYSwgYikgLyAyLCB0aGlzLmRpc3RhbmNlKGIsIGMpIC8gMiwgc2l6ZSk7XG4gICAgY29uc3QgeyB4LCB5IH0gPSBiO1xuXG4gICAgaWYgKChhLnggPT09IHggJiYgeCA9PT0gYy54KSB8fCAoYS55ID09PSB5ICYmIHkgPT09IGMueSkpIHtcbiAgICAgIHJldHVybiBgTCR7IHggfSAkeyB5IH1gO1xuICAgIH1cblxuICAgIGlmIChhLnkgPT09IHkpIHtcbiAgICAgIGNvbnN0IHhEaXIgPSBhLnggPCBjLnggPyAtMSA6IDE7XG4gICAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gMSA6IC0xO1xuICAgICAgcmV0dXJuIGBMICR7IHggKyBiZW5kU2l6ZSAqIHhEaXIgfSwkeyB5IH1RICR7IHggfSwkeyB5IH0gJHsgeCB9LCR7IHkgKyBiZW5kU2l6ZSAqIHlEaXIgfWA7XG4gICAgfVxuXG4gICAgY29uc3QgeERpciA9IGEueCA8IGMueCA/IDEgOiAtMTtcbiAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gLTEgOiAxO1xuICAgIHJldHVybiBgTCAkeyB4IH0sJHsgeSArIGJlbmRTaXplICogeURpciB9USAkeyB4IH0sJHsgeSB9ICR7IHggKyBiZW5kU2l6ZSAqIHhEaXIgfSwkeyB5IH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE1vdmVPckxpbmVTZWdtZW50KGluZGV4OiBudW1iZXIsIHBvaW50OiBJUG9pbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHsgaW5kZXggPT09IDAgPyAnTScgOiAnTCcgfSR7IHBvaW50LnggfSAkeyBwb2ludC55IH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExhc3RMaW5lU2VnbWVudChpbmRleDogbnVtYmVyLCBwb2ludDogSVBvaW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEwkeyBwb2ludC54ICsgMC4wMDAxIH0gJHsgcG9pbnQueSArIDAuMDAwMSB9YDtcbiAgfVxufVxuIl19
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { FPathBuilderBase } from './f-path-builder-base';
|
|
2
1
|
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
|
|
3
|
-
export class FStraightPathBuilder
|
|
2
|
+
export class FStraightPathBuilder {
|
|
4
3
|
handle(request) {
|
|
5
4
|
const { source, target } = request;
|
|
6
5
|
const path = `M ${source.x} ${source.y} L ${target.x + 0.0001} ${target.y + 0.0001}`;
|
|
7
|
-
const
|
|
8
|
-
return { path,
|
|
6
|
+
const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, target]));
|
|
7
|
+
return { path, connectionCenter };
|
|
9
8
|
}
|
|
10
9
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBT25ILE1BQU0sT0FBTyxvQkFBb0I7SUFFeEIsTUFBTSxDQUFDLE9BQW1DO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQU0sTUFBTSxDQUFDLENBQUUsSUFBSyxNQUFNLENBQUMsQ0FBRSxNQUFPLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxJQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxFQUFFLENBQUM7UUFFN0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdDQUFnQyxFQUFFLENBQUMsTUFBTSxDQUNsRSxJQUFJLGdDQUFnQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFFRixPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuaW1wb3J0IHtcbiAgSUZDb25uZWN0aW9uQnVpbGRlcixcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZVxufSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBGU3RyYWlnaHRQYXRoQnVpbGRlciBpbXBsZW1lbnRzIElGQ29ubmVjdGlvbkJ1aWxkZXIge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QpOiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgc291cmNlLCB0YXJnZXQgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3QgcGF0aCA9IGBNICR7IHNvdXJjZS54IH0gJHsgc291cmNlLnkgfSBMICR7IHRhcmdldC54ICsgMC4wMDAxIH0gJHsgdGFyZ2V0LnkgKyAwLjAwMDEgfWA7XG5cbiAgICBjb25zdCBjb25uZWN0aW9uQ2VudGVyID0gbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QoW3NvdXJjZSwgdGFyZ2V0XSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgcGF0aCwgY29ubmVjdGlvbkNlbnRlciB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,10 +1,6 @@
|
|
|
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';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWJlemllci5wYXRoLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VnbWVudC5wYXRoLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyJztcbiJdfQ==
|