@foblex/flow 12.1.1 → 12.1.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/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +25 -9
- package/esm2022/f-connection/common/f-connection-base.mjs +6 -3
- package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +1 -1
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +16 -8
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/index.mjs +1 -2
- package/esm2022/f-draggable/connections/providers.mjs +2 -3
- package/f-connection/common/domain/f-bezier.path-builder.d.ts +1 -0
- package/f-connection/common/f-connection-base.d.ts +1 -0
- package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +3 -3
- package/f-draggable/connections/find-inputs-under-pointer/index.d.ts +0 -1
- package/f-draggable/connections/providers.d.ts +2 -2
- package/fesm2022/foblex-flow.mjs +42 -36
- package/fesm2022/foblex-flow.mjs.map +1 -1
- package/package.json +3 -4
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.mjs +0 -2
- package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +0 -25
- package/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.d.ts +0 -1
- package/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +0 -12
|
@@ -1,22 +1,38 @@
|
|
|
1
|
-
import { PointExtensions } from '@foblex/core';
|
|
2
1
|
import { FPathBuilderBase } from './f-path-builder-base';
|
|
3
2
|
import { EFConnectableSide } from '../../../f-connectors';
|
|
4
3
|
import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
|
|
5
4
|
export class FBezierPathBuilder extends FPathBuilderBase {
|
|
6
|
-
static
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
static getConnectorOffset(distance, offset) {
|
|
6
|
+
if (distance >= offset) {
|
|
7
|
+
return distance;
|
|
8
|
+
}
|
|
9
|
+
return offset * Math.sqrt(offset - distance);
|
|
10
|
+
}
|
|
11
|
+
static getAnglePoint(side, source, target, offset) {
|
|
12
|
+
let result = { x: source.x, y: source.y };
|
|
13
|
+
switch (side) {
|
|
14
|
+
case EFConnectableSide.LEFT:
|
|
15
|
+
result.x -= FBezierPathBuilder.getConnectorOffset(source.x - target.x, offset);
|
|
16
|
+
break;
|
|
17
|
+
case EFConnectableSide.RIGHT:
|
|
18
|
+
result.x += FBezierPathBuilder.getConnectorOffset(target.x - source.x, offset);
|
|
19
|
+
break;
|
|
20
|
+
case EFConnectableSide.TOP:
|
|
21
|
+
result.y -= FBezierPathBuilder.getConnectorOffset(source.y - target.y, offset);
|
|
22
|
+
break;
|
|
23
|
+
case EFConnectableSide.BOTTOM:
|
|
24
|
+
result.y += FBezierPathBuilder.getConnectorOffset(target.y - source.y, offset);
|
|
25
|
+
break;
|
|
10
26
|
}
|
|
11
27
|
return result;
|
|
12
28
|
}
|
|
13
29
|
handle(request) {
|
|
14
|
-
const { source, sourceSide, target, targetSide } = request;
|
|
15
|
-
const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target);
|
|
16
|
-
const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, source,
|
|
30
|
+
const { source, sourceSide, target, targetSide, offset } = request;
|
|
31
|
+
const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target, offset);
|
|
32
|
+
const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, target, source, offset);
|
|
17
33
|
const path = `M ${source.x} ${source.y} C ${sourceAnglePoint.x} ${sourceAnglePoint.y}, ${targetAnglePoint.x} ${targetAnglePoint.y}, ${target.x + 0.0001} ${target.y + 0.0001}`;
|
|
18
34
|
const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, sourceAnglePoint, targetAnglePoint, target]));
|
|
19
35
|
return { path, center };
|
|
20
36
|
}
|
|
21
37
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iZXppZXIucGF0aC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9mLWJlemllci5wYXRoLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbkgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQjtJQUU5QyxNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ2hFLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUF1QixFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUVsRyxJQUFJLE1BQU0sR0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFbEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssaUJBQWlCLENBQUMsSUFBSTtnQkFDekIsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07WUFDUixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUMvRSxNQUFNO1lBQ1IsS0FBSyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUN4QixNQUFNLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDL0UsTUFBTTtZQUNSLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0IsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07UUFDVixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE2QjtRQUN6QyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVuRSxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RixNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RixNQUFNLElBQUksR0FBRyxLQUFNLE1BQU0sQ0FBQyxDQUFFLElBQUssTUFBTSxDQUFDLENBQUUsTUFBTyxnQkFBZ0IsQ0FBQyxDQUFFLElBQUssZ0JBQWdCLENBQUMsQ0FBRSxLQUFNLGdCQUFnQixDQUFDLENBQUUsSUFBSyxnQkFBZ0IsQ0FBQyxDQUFFLEtBQU0sTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLElBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLEVBQUUsQ0FBQztRQUUvTCxNQUFNLE1BQU0sR0FBRyxJQUFJLGdDQUFnQyxFQUFFLENBQUMsTUFBTSxDQUMxRCxJQUFJLGdDQUFnQyxDQUFDLENBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBRSxDQUFDLENBQzdGLENBQUM7UUFFRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlIH0gZnJvbSAnLi9mLXBhdGgtYnVpbGRlci1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IElGUGF0aEJ1aWxkZXJSZXF1ZXN0IH0gZnJvbSAnLi9pLWYtcGF0aC1idWlsZGVyLXJlcXVlc3QnO1xuaW1wb3J0IHsgSUZQYXRoQnVpbGRlclJlc3BvbnNlIH0gZnJvbSAnLi9pLWYtcGF0aC1idWlsZGVyLXJlc3BvbnNlJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyLCBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcblxuZXhwb3J0IGNsYXNzIEZCZXppZXJQYXRoQnVpbGRlciBleHRlbmRzIEZQYXRoQnVpbGRlckJhc2Uge1xuXG4gIHByaXZhdGUgc3RhdGljIGdldENvbm5lY3Rvck9mZnNldChkaXN0YW5jZTogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKGRpc3RhbmNlID49IG9mZnNldCkge1xuICAgICAgcmV0dXJuIGRpc3RhbmNlO1xuICAgIH1cbiAgICByZXR1cm4gb2Zmc2V0ICogTWF0aC5zcXJ0KG9mZnNldCAtIGRpc3RhbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldEFuZ2xlUG9pbnQoc2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHNvdXJjZTogSVBvaW50LCB0YXJnZXQ6IElQb2ludCwgb2Zmc2V0OiBudW1iZXIpOiBJUG9pbnQge1xuXG4gICAgbGV0IHJlc3VsdDogSVBvaW50ID0geyB4OiBzb3VyY2UueCwgeTogc291cmNlLnkgfTtcblxuICAgIHN3aXRjaCAoc2lkZSkge1xuICAgICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUOlxuICAgICAgICByZXN1bHQueCAtPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0Q29ubmVjdG9yT2Zmc2V0KHNvdXJjZS54IC0gdGFyZ2V0LngsIG9mZnNldCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVDpcbiAgICAgICAgcmVzdWx0LnggKz0gRkJlemllclBhdGhCdWlsZGVyLmdldENvbm5lY3Rvck9mZnNldCh0YXJnZXQueCAtIHNvdXJjZS54LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgICByZXN1bHQueSAtPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0Q29ubmVjdG9yT2Zmc2V0KHNvdXJjZS55IC0gdGFyZ2V0LnksIG9mZnNldCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT006XG4gICAgICAgIHJlc3VsdC55ICs9IEZCZXppZXJQYXRoQnVpbGRlci5nZXRDb25uZWN0b3JPZmZzZXQodGFyZ2V0LnkgLSBzb3VyY2UueSwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogSUZQYXRoQnVpbGRlclJlcXVlc3QpOiBJRlBhdGhCdWlsZGVyUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgc291cmNlLCBzb3VyY2VTaWRlLCB0YXJnZXQsIHRhcmdldFNpZGUsIG9mZnNldCB9ID0gcmVxdWVzdDtcblxuICAgIGNvbnN0IHNvdXJjZUFuZ2xlUG9pbnQgPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0QW5nbGVQb2ludChzb3VyY2VTaWRlLCBzb3VyY2UsIHRhcmdldCwgb2Zmc2V0KTtcblxuICAgIGNvbnN0IHRhcmdldEFuZ2xlUG9pbnQgPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0QW5nbGVQb2ludCh0YXJnZXRTaWRlLCB0YXJnZXQsIHNvdXJjZSwgb2Zmc2V0KTtcblxuICAgIGNvbnN0IHBhdGggPSBgTSAkeyBzb3VyY2UueCB9ICR7IHNvdXJjZS55IH0gQyAkeyBzb3VyY2VBbmdsZVBvaW50LnggfSAkeyBzb3VyY2VBbmdsZVBvaW50LnkgfSwgJHsgdGFyZ2V0QW5nbGVQb2ludC54IH0gJHsgdGFyZ2V0QW5nbGVQb2ludC55IH0sICR7IHRhcmdldC54ICsgMC4wMDAxIH0gJHsgdGFyZ2V0LnkgKyAwLjAwMDEgfWA7XG5cbiAgICBjb25zdCBjZW50ZXIgPSBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIoKS5oYW5kbGUoXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QoWyBzb3VyY2UsIHNvdXJjZUFuZ2xlUG9pbnQsIHRhcmdldEFuZ2xlUG9pbnQsIHRhcmdldCBdKVxuICAgICk7XG5cbiAgICByZXR1cm4geyBwYXRoLCBjZW50ZXIgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
|
-
import { DomElementExtensions, VectorExtensions } from '@foblex/core';
|
|
2
|
+
import { DomElementExtensions, sanitizeElementId, VectorExtensions } from '@foblex/core';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { mixinChangeConnectionSelection, mixinChangeConnectionVisibility } from './mixins';
|
|
5
5
|
import { getFlowUid } from '../../get-flow-uid';
|
|
@@ -51,7 +51,7 @@ export class FConnectionBase extends MIXIN_BASE {
|
|
|
51
51
|
this.fDefs.nativeElement.innerHTML = '';
|
|
52
52
|
this.fMarkers.forEach((marker) => {
|
|
53
53
|
const markerElement = DomElementExtensions.createSvgElement('marker');
|
|
54
|
-
markerElement.setAttribute('id', getFlowUid() + '-' + marker.type + '-' + this.fConnectionId);
|
|
54
|
+
markerElement.setAttribute('id', this.getMarkerId(getFlowUid() + '-' + marker.type + '-' + this.fConnectionId));
|
|
55
55
|
markerElement.setAttribute('markerHeight', `${marker.height}`);
|
|
56
56
|
markerElement.setAttribute('markerWidth', `${marker.width}`);
|
|
57
57
|
markerElement.setAttribute('orient', 'auto');
|
|
@@ -69,6 +69,9 @@ export class FConnectionBase extends MIXIN_BASE {
|
|
|
69
69
|
marker.hostElement.remove();
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
+
getMarkerId(id) {
|
|
73
|
+
return sanitizeElementId(id);
|
|
74
|
+
}
|
|
72
75
|
redraw() {
|
|
73
76
|
this.fPath.setPath(this.path);
|
|
74
77
|
this.fSelection.setPath(this.path);
|
|
@@ -82,4 +85,4 @@ export class FConnectionBase extends MIXIN_BASE {
|
|
|
82
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionBase, decorators: [{
|
|
83
86
|
type: Directive
|
|
84
87
|
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFvQyxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTS9CLE9BQU8sRUFHTCw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQ2hDLE1BQU0sVUFBVSxDQUFDO0FBUWxCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEVBQW9CLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVsRSxNQUFNLFVBQVUsR0FBRyw4QkFBOEIsQ0FDN0MsK0JBQStCLENBQzNCO0lBQ0UsWUFDVyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUVuQyxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUM7QUFHWixNQUFNLE9BQWdCLGVBQWdCLFNBQVEsVUFBVTtJQW9EdEQsWUFBc0IsZ0JBQXlDO1FBQzdELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQXJDakMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixXQUFNLEdBQVksZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkMsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQThCM0QsaUJBQVksR0FBcUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBSW5FLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FB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VyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWdCLENBQUM7WUFDaEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQTdIbUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbUVsZW1lbnRFeHRlbnNpb25zLCBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVZlY3RvciwgVmVjdG9yRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3InO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkNvbG9yIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHtcbiAgSUNhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5LFxuICBJU2VsZWN0YWJsZSxcbiAgbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uLFxuICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5XG59IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vZi1wYXRoJztcbmltcG9ydCB7IElDb25uZWN0aW9uR3JhZGllbnQgfSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNTdGF0ZUNoYW5nZXMgfSBmcm9tICcuLi8uLi9pLWhhcy1zdGF0ZS1jaGFuZ2VzJztcbmltcG9ydCB7IEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1tYXJrZXInO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlLCBGUGF0aEJ1aWxkZXJTZWxlY3RvciB9IGZyb20gJy4vZG9tYWluJztcblxuY29uc3QgTUlYSU5fQkFTRSA9IG1peGluQ2hhbmdlQ29ubmVjdGlvblNlbGVjdGlvbihcbiAgICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5KFxuICAgICAgICBjbGFzcyB7XG4gICAgICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgICAgICAgIHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnRcbiAgICAgICAgICApIHtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkNvbm5lY3Rpb25CYXNlIGV4dGVuZHMgTUlYSU5fQkFTRVxuICAgIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50LCBJU2VsZWN0YWJsZSxcbiAgICAgICAgICAgICAgIElDYW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eSxcbiAgICAgICAgICAgICAgIElIYXNTdGF0ZUNoYW5nZXMsIElIYXNDb25uZWN0aW9uQ29sb3IsXG4gICAgICAgICAgICAgICBJSGFzQ29ubmVjdGlvbkZyb21UbywgSUhhc0Nvbm5lY3Rpb25UZXh0IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNvbm5lY3Rpb25JZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU3RhcnRDb2xvcjogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRW5kQ29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZk91dHB1dElkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZJbnB1dElkOiBzdHJpbmc7XG5cbiAgcHVibGljIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyB2ZWN0b3I6IElWZWN0b3IgPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgYm91bmRpbmdFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZCZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3I7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRGVmczogRWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZNYXJrZXJzOiBRdWVyeUxpc3Q8Rk1hcmtlckJhc2U+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUGF0aDogSUNvbm5lY3Rpb25QYXRoO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmR3JhZGllbnQ6IElDb25uZWN0aW9uR3JhZGllbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEcmFnSGFuZGxlOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb246IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dENvbXBvbmVudDogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ29ubmVjdGlvbkNlbnRlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHVibGljIGZQYXRoQnVpbGRlcjogRlBhdGhCdWlsZGVyQmFzZSA9IG5ldyBGUGF0aEJ1aWxkZXJTZWxlY3RvcigpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXRoID0gJyc7XG4gICAgdGhpcy5mUGF0aC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5mR3JhZGllbnQuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuaG9zdEVsZW1lbnQuZmlyc3RDaGlsZD8ubGFzdENoaWxkIGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWZWN0b3IoZnJvbTogSVBvaW50LCBmcm9tU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRvOiBJUG9pbnQsIHRvU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICB0aGlzLnZlY3RvciA9IHsgcG9pbnQxOiBmcm9tLCBwb2ludDI6IHRvIH07XG4gICAgY29uc3QgcGF0aFJlc3VsdCA9IHRoaXMuZlBhdGhCdWlsZGVyLmhhbmRsZShcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IHRoaXMuZlR5cGUsXG4gICAgICAgICAgc291cmNlOiBmcm9tLFxuICAgICAgICAgIHNvdXJjZVNpZGU6IGZyb21TaWRlLFxuICAgICAgICAgIHRhcmdldDogdG8sXG4gICAgICAgICAgdGFyZ2V0U2lkZTogdG9TaWRlLFxuICAgICAgICAgIHJhZGl1czogOCxcbiAgICAgICAgICBvZmZzZXQ6IDMyXG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5wYXRoID0gcGF0aFJlc3VsdC5wYXRoO1xuXG4gICAgY29uc3QgdHJhbnNmb3JtID0gYHBvc2l0aW9uOiBhYnNvbHV0ZTsgcG9pbnRlckV2ZW50czogYWxsOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgbGVmdDogJHsgcGF0aFJlc3VsdC5jZW50ZXIueCB9cHg7IHRvcDogJHsgcGF0aFJlc3VsdC5jZW50ZXIueSB9cHhgO1xuXG4gICAgdGhpcy5mQ29ubmVjdGlvbkNlbnRlcj8ubmF0aXZlRWxlbWVudD8uc2V0QXR0cmlidXRlKCdzdHlsZScsIHRyYW5zZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWFya2VycygpOiB2b2lkIHtcbiAgICB0aGlzLmZEZWZzLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XG4gICAgdGhpcy5mTWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcbiAgICAgIGNvbnN0IG1hcmtlckVsZW1lbnQgPSBEb21FbGVtZW50RXh0ZW5zaW9ucy5jcmVhdGVTdmdFbGVtZW50KCdtYXJrZXInKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIGdldEZsb3dVaWQoKSArICctJyArIG1hcmtlci50eXBlICsgJy0nICsgdGhpcy5mQ29ubmVjdGlvbklkKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXJIZWlnaHQnLCBgJHsgbWFya2VyLmhlaWdodCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyV2lkdGgnLCBgJHsgbWFya2VyLndpZHRoIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdvcmllbnQnLCAnYXV0bycpO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlgnLCBgJHsgbWFya2VyLnJlZlggfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlknLCBgJHsgbWFya2VyLnJlZlkgfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlclVuaXRzJywgJ3N0cm9rZVdpZHRoJyk7XG5cbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyBtYXJrZXIuaGVpZ2h0IH1gKTtcbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7IG1hcmtlci53aWR0aCB9YCk7XG4gICAgICBjb25zdCBjbG9uZSA9IG1hcmtlci5ob3N0RWxlbWVudC5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjbG9uZS5zdHlsZS5kaXNwbGF5ID0gJ3Vuc2V0JztcbiAgICAgIG1hcmtlckVsZW1lbnQuYXBwZW5kKGNsb25lKTtcblxuICAgICAgdGhpcy5mRGVmcy5uYXRpdmVFbGVtZW50LmFwcGVuZChtYXJrZXJFbGVtZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLmZNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xuICAgICAgbWFya2VyLmhvc3RFbGVtZW50LnJlbW92ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZTZWxlY3Rpb24uc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZkdyYWRpZW50LnJlZHJhdyh0aGlzLnZlY3Rvcik7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZS5yZWRyYXcodGhpcy52ZWN0b3IucG9pbnQyKTtcbiAgICB0aGlzLmZUZXh0Q29tcG9uZW50LnJlZHJhdyh0aGlzLnZlY3Rvcik7XG4gIH1cbn1cbiJdfQ==
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUNMLG9CQUFvQixFQUlwQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNL0IsT0FBTyxFQUdMLDhCQUE4QixFQUM5QiwrQkFBK0IsRUFDaEMsTUFBTSxVQUFVLENBQUM7QUFRbEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBb0Isb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRWxFLE1BQU0sVUFBVSxHQUFHLDhCQUE4QixDQUM3QywrQkFBK0IsQ0FDM0I7SUFDRSxZQUNXLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRW5DLENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQztBQUdaLE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxVQUFVO0lBb0R0RCxZQUFzQixnQkFBeUM7UUFDN0QsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBckNqQyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBWSxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV2QyxpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBOEIzRCxpQkFBWSxHQUFxQixJQUFJLG9CQUFvQixFQUFFLENBQUM7SUFJbkUsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hC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Q0FBQztZQUM5RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWdCLENBQUM7WUFDaEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxFQUFVO1FBQzVCLE9BQU8saUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQWpJbUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERvbUVsZW1lbnRFeHRlbnNpb25zLFxuICBJSGFzSG9zdEVsZW1lbnQsXG4gIElQb2ludCxcbiAgSVZlY3RvcixcbiAgc2FuaXRpemVFbGVtZW50SWQsXG4gIFZlY3RvckV4dGVuc2lvbnNcbn0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yIH0gZnJvbSAnLi9lLWYtY29ubmVjdGlvbi1iZWhhdmlvcic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi9lLWYtY29ubmVjdGlvbi10eXBlJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uQ29sb3IgfSBmcm9tICcuL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuL2ktaGFzLWNvbm5lY3Rpb24tZnJvbS10byc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2ktaGFzLWNvbm5lY3Rpb24tdGV4dCc7XG5pbXBvcnQge1xuICBJQ2FuQ2hhbmdlQ29ubmVjdGlvblZpc2liaWxpdHksXG4gIElTZWxlY3RhYmxlLFxuICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25TZWxlY3Rpb24sXG4gIG1peGluQ2hhbmdlQ29ubmVjdGlvblZpc2liaWxpdHlcbn0gZnJvbSAnLi9taXhpbnMnO1xuaW1wb3J0IHsgSUNvbm5lY3Rpb25QYXRoIH0gZnJvbSAnLi9mLXBhdGgnO1xuaW1wb3J0IHsgSUNvbm5lY3Rpb25HcmFkaWVudCB9IGZyb20gJy4vZi1ncmFkaWVudCc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQgfSBmcm9tICcuL2YtZHJhZy1oYW5kbGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uJztcbmltcG9ydCB7IElDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4vZi1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHsgSUhhc1N0YXRlQ2hhbmdlcyB9IGZyb20gJy4uLy4uL2ktaGFzLXN0YXRlLWNoYW5nZXMnO1xuaW1wb3J0IHsgRUZNYXJrZXJUeXBlLCBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IGdldEZsb3dVaWQgfSBmcm9tICcuLi8uLi9nZXQtZmxvdy11aWQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRlBhdGhCdWlsZGVyQmFzZSwgRlBhdGhCdWlsZGVyU2VsZWN0b3IgfSBmcm9tICcuL2RvbWFpbic7XG5cbmNvbnN0IE1JWElOX0JBU0UgPSBtaXhpbkNoYW5nZUNvbm5lY3Rpb25TZWxlY3Rpb24oXG4gICAgbWl4aW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eShcbiAgICAgICAgY2xhc3Mge1xuICAgICAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAgICAgICBwdWJsaWMgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50XG4gICAgICAgICAgKSB7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDb25uZWN0aW9uQmFzZSBleHRlbmRzIE1JWElOX0JBU0VcbiAgICBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCwgSVNlbGVjdGFibGUsXG4gICAgICAgICAgICAgICBJQ2FuQ2hhbmdlQ29ubmVjdGlvblZpc2liaWxpdHksXG4gICAgICAgICAgICAgICBJSGFzU3RhdGVDaGFuZ2VzLCBJSGFzQ29ubmVjdGlvbkNvbG9yLFxuICAgICAgICAgICAgICAgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sIElIYXNDb25uZWN0aW9uVGV4dCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0aW9uSWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZlN0YXJ0Q29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZkVuZENvbG9yOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZPdXRwdXRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmSW5wdXRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBwYXRoOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgdmVjdG9yOiBJVmVjdG9yID0gVmVjdG9yRXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0YXRlQ2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEcmFnZ2luZ0Rpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGJvdW5kaW5nRWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVHlwZTogRUZDb25uZWN0aW9uVHlwZTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRlZnM6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTWFya2VyczogUXVlcnlMaXN0PEZNYXJrZXJCYXNlPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlBhdGg6IElDb25uZWN0aW9uUGF0aDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkdyYWRpZW50OiBJQ29ubmVjdGlvbkdyYWRpZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJhZ0hhbmRsZTogRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uOiBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlRleHRDb21wb25lbnQ6IElDb25uZWN0aW9uVGV4dDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlRleHQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNvbm5lY3Rpb25DZW50ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHB1YmxpYyBmUGF0aEJ1aWxkZXI6IEZQYXRoQnVpbGRlckJhc2UgPSBuZXcgRlBhdGhCdWlsZGVyU2VsZWN0b3IoKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5mR3JhZGllbnQuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMucGF0aCA9ICcnO1xuICAgIHRoaXMuZlBhdGguaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMuZkdyYWRpZW50LmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIGlzQ29udGFpbnMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmhvc3RFbGVtZW50LmZpcnN0Q2hpbGQ/Lmxhc3RDaGlsZCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VmVjdG9yKGZyb206IElQb2ludCwgZnJvbVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCB0bzogSVBvaW50LCB0b1NpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgdGhpcy52ZWN0b3IgPSB7IHBvaW50MTogZnJvbSwgcG9pbnQyOiB0byB9O1xuICAgIGNvbnN0IHBhdGhSZXN1bHQgPSB0aGlzLmZQYXRoQnVpbGRlci5oYW5kbGUoXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiB0aGlzLmZUeXBlLFxuICAgICAgICAgIHNvdXJjZTogZnJvbSxcbiAgICAgICAgICBzb3VyY2VTaWRlOiBmcm9tU2lkZSxcbiAgICAgICAgICB0YXJnZXQ6IHRvLFxuICAgICAgICAgIHRhcmdldFNpZGU6IHRvU2lkZSxcbiAgICAgICAgICByYWRpdXM6IDgsXG4gICAgICAgICAgb2Zmc2V0OiAzMlxuICAgICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMucGF0aCA9IHBhdGhSZXN1bHQucGF0aDtcblxuICAgIGNvbnN0IHRyYW5zZm9ybSA9IGBwb3NpdGlvbjogYWJzb2x1dGU7IHBvaW50ZXJFdmVudHM6IGFsbDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IGxlZnQ6ICR7IHBhdGhSZXN1bHQuY2VudGVyLnggfXB4OyB0b3A6ICR7IHBhdGhSZXN1bHQuY2VudGVyLnkgfXB4YDtcblxuICAgIHRoaXMuZkNvbm5lY3Rpb25DZW50ZXI/Lm5hdGl2ZUVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgcHVibGljIHNldE1hcmtlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5mRGVmcy5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9ICcnO1xuICAgIHRoaXMuZk1hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XG4gICAgICBjb25zdCBtYXJrZXJFbGVtZW50ID0gRG9tRWxlbWVudEV4dGVuc2lvbnMuY3JlYXRlU3ZnRWxlbWVudCgnbWFya2VyJyk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLmdldE1hcmtlcklkKGdldEZsb3dVaWQoKSArICctJyArIG1hcmtlci50eXBlICsgJy0nICsgdGhpcy5mQ29ubmVjdGlvbklkKSk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VySGVpZ2h0JywgYCR7IG1hcmtlci5oZWlnaHQgfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlcldpZHRoJywgYCR7IG1hcmtlci53aWR0aCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnb3JpZW50JywgJ2F1dG8nKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWZYJywgYCR7IG1hcmtlci5yZWZYIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWZZJywgYCR7IG1hcmtlci5yZWZZIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXJVbml0cycsICdzdHJva2VXaWR0aCcpO1xuXG4gICAgICBtYXJrZXIuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBgJHsgbWFya2VyLmhlaWdodCB9YCk7XG4gICAgICBtYXJrZXIuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAkeyBtYXJrZXIud2lkdGggfWApO1xuICAgICAgY29uc3QgY2xvbmUgPSBtYXJrZXIuaG9zdEVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgY2xvbmUuc3R5bGUuZGlzcGxheSA9ICd1bnNldCc7XG4gICAgICBtYXJrZXJFbGVtZW50LmFwcGVuZChjbG9uZSk7XG5cbiAgICAgIHRoaXMuZkRlZnMubmF0aXZlRWxlbWVudC5hcHBlbmQobWFya2VyRWxlbWVudCk7XG4gICAgfSk7XG4gICAgdGhpcy5mTWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5yZW1vdmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWFya2VySWQoaWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNhbml0aXplRWxlbWVudElkKGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aC5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mU2VsZWN0aW9uLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5yZWRyYXcodGhpcy52ZWN0b3IpO1xuICAgIHRoaXMuZkRyYWdIYW5kbGUucmVkcmF3KHRoaXMudmVjdG9yLnBvaW50Mik7XG4gICAgdGhpcy5mVGV4dENvbXBvbmVudC5yZWRyYXcodGhpcy52ZWN0b3IpO1xuICB9XG59XG4iXX0=
|
|
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
60
60
|
type: Inject,
|
|
61
61
|
args: [F_CONNECTION]
|
|
62
62
|
}] }] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYTlDLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sd0JBQXdCLENBQUMsY0FBYyxDQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLHdCQUF3QixDQUFDLFlBQVksQ0FDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDVSxnQkFBNEMsRUFDdEIsSUFBZ0Q7UUFEdEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUE0QztJQUVoRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUUsR0FBRyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFJLFVBQVUsRUFBRyxJQUFLLElBQUssSUFBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWMsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFFLEdBQUcsQ0FBQTtJQUNySCxDQUFDOzhHQWhEVSx3QkFBd0IsNENBb0J6QixZQUFZO2tHQXBCWCx3QkFBd0IsNkxBRnhCLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFFLDBCQVB4RSxFQUFFOzsyRkFTRCx3QkFBd0I7a0JBWHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFFO2lCQUNuRjs7MEJBcUJJLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLXBhdGgnO1xuaW1wb3J0IHsgc2FuaXRpemVFbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuLi8uLi9mLW1hcmtlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwYXRoW2YtY29ubmVjdGlvbi1wYXRoXVwiLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uLXBhdGhcIixcbiAgICAnW2F0dHIuaWRdJzogJ2F0dHJDb25uZWN0aW9uSWQnLFxuICAgICdbYXR0ci5zdHJva2VdJzogJ2xpbmtUb0dyYWRpZW50JyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogQ09OTkVDVElPTl9QQVRILCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IGltcGxlbWVudHMgSUNvbm5lY3Rpb25QYXRoIHtcblxuICBwdWJsaWMgZ2V0IGxpbmtUb0dyYWRpZW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9HcmFkaWVudChcbiAgICAgIHRoaXMuYmFzZS5mQ29ubmVjdGlvbklkICsgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dHJDb25uZWN0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRl9DT05ORUNUSU9OX0lERU5USUZJRVJTLmNvbm5lY3Rpb25JZChcbiAgICAgIHRoaXMuYmFzZS5mQ29ubmVjdGlvbklkICsgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1BhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHUGF0aEVsZW1lbnQ+LFxuICAgIEBJbmplY3QoRl9DT05ORUNUSU9OKSBwcml2YXRlIGJhc2U6IElIYXNDb25uZWN0aW9uQ29sb3IgJiBJSGFzQ29ubmVjdGlvbkZyb21Ub1xuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYXRoKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZFwiLCBgJHsgcGF0aCB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItc3RhcnQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9TVEFSVCkgfSlgKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLWVuZCcsIGB1cmwoIyR7IHRoaXMuZ2V0TWFya2VySWQoRUZNYXJrZXJUeXBlLlNFTEVDVEVEX0VORCkgfSlgKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU1RBUlQpIH0pYCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5FTkQpIH0pYCk7XG4gIH1cblxuICBwcml2YXRlIGdldE1hcmtlcklkKHR5cGU6IEVGTWFya2VyVHlwZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNhbml0aXplRWxlbWVudElkKGAkeyBnZXRGbG93VWlkKCkgfS0keyB0eXBlIH0tJHsgdGhpcy5iYXNlLmZDb25uZWN0aW9uSWQgfWApO1xuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdtYXJrZXItc3RhcnQnKSA9PT0gYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU0VMRUNURURfU1RBUlQpIH0pYFxuICB9XG59XG4iXX0=
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
+
import { isNodeInput } from '../../../f-connectors';
|
|
2
3
|
import { OutputNotFound } from '../../../errors';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "../../../f-components-store";
|
|
5
|
-
import * as i2 from "./
|
|
6
|
-
import * as i3 from "./first-not-connected-input-of-node-under-pointer";
|
|
6
|
+
import * as i2 from "./first-not-connected-input-of-node-under-pointer";
|
|
7
7
|
export class FindInputsUnderPointerHandler {
|
|
8
8
|
get fNodes() {
|
|
9
9
|
return this.fComponentsStore.fNodes;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
get fInputs() {
|
|
12
|
+
return this.fComponentsStore.fInputs;
|
|
13
|
+
}
|
|
14
|
+
constructor(fComponentsStore, firstNotConnectedInputOfNodeUnderPointerHandler) {
|
|
12
15
|
this.fComponentsStore = fComponentsStore;
|
|
13
|
-
this.inputsUnderPointerHandler = inputsUnderPointerHandler;
|
|
14
16
|
this.firstNotConnectedInputOfNodeUnderPointerHandler = firstNotConnectedInputOfNodeUnderPointerHandler;
|
|
15
17
|
}
|
|
16
18
|
handle(payload) {
|
|
@@ -29,7 +31,7 @@ export class FindInputsUnderPointerHandler {
|
|
|
29
31
|
});
|
|
30
32
|
}
|
|
31
33
|
getInputsUnderPointer(payload) {
|
|
32
|
-
let inputs = this.
|
|
34
|
+
let inputs = this.inputsUnderPointer(payload.event.getPosition());
|
|
33
35
|
const input = this.firstNotConnectedInputOfNodeUnderPointerHandler.handle(payload.event);
|
|
34
36
|
if (input) {
|
|
35
37
|
inputs.push(input);
|
|
@@ -37,10 +39,16 @@ export class FindInputsUnderPointerHandler {
|
|
|
37
39
|
inputs = inputs.filter((x) => x.canBeConnected);
|
|
38
40
|
return inputs;
|
|
39
41
|
}
|
|
40
|
-
|
|
42
|
+
inputsUnderPointer(position) {
|
|
43
|
+
const elementsFromPoint = document.elementsFromPoint(position.x, position.y);
|
|
44
|
+
return elementsFromPoint.filter((x) => isNodeInput(x)).map((element) => {
|
|
45
|
+
return this.fInputs.find((x) => x.isContains(element));
|
|
46
|
+
}).filter((x) => !!x);
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FindInputsUnderPointerHandler, deps: [{ token: i1.FComponentsStore }, { token: i2.FirstNotConnectedInputOfNodeUnderPointerHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
49
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FindInputsUnderPointerHandler }); }
|
|
42
50
|
}
|
|
43
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FindInputsUnderPointerHandler, decorators: [{
|
|
44
52
|
type: Injectable
|
|
45
|
-
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
}], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FirstNotConnectedInputOfNodeUnderPointerHandler }] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9maW5kLWlucHV0cy11bmRlci1wb2ludGVyL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBR2pELE1BQU0sT0FBTyw2QkFBNkI7SUFHeEMsSUFBWSxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFDVSxnQkFBa0MsRUFDbEMsK0NBQWdHO1FBRGhHLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0RBQStDLEdBQS9DLCtDQUErQyxDQUFpRDtJQUUxRyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXNDO1FBQ2xELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNHLElBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDeEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDOUUsT0FBTyxVQUFVLEVBQUUsV0FBVyxLQUFLLFVBQVUsRUFBRSxXQUFXLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCLENBQUMsT0FBc0M7UUFDbEUsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVsRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsK0NBQStDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6RixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBQ0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNoRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsUUFBZ0I7UUFDekMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFrQixDQUFDO1FBQzlGLE9BQU8saUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBRSxDQUFBO1FBQ3pELENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7OEdBbERVLDZCQUE2QjtrSEFBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIsIElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGaW5kSW5wdXRzVW5kZXJQb2ludGVyUmVxdWVzdCB9IGZyb20gJy4vZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci5yZXF1ZXN0JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbXBvbmVudHMtc3RvcmUnO1xuaW1wb3J0IHsgRmlyc3ROb3RDb25uZWN0ZWRJbnB1dE9mTm9kZVVuZGVyUG9pbnRlckhhbmRsZXIgfSBmcm9tICcuL2ZpcnN0LW5vdC1jb25uZWN0ZWQtaW5wdXQtb2Ytbm9kZS11bmRlci1wb2ludGVyJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSwgaXNOb2RlSW5wdXQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgT3V0cHV0Tm90Rm91bmQgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmluZElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXJcbiAgaW1wbGVtZW50cyBJSGFuZGxlcjxGaW5kSW5wdXRzVW5kZXJQb2ludGVyUmVxdWVzdCwgRkNvbm5lY3RvckJhc2VbXT4ge1xuXG4gIHByaXZhdGUgZ2V0IGZOb2RlcygpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mTm9kZXM7XG4gIH1cblxuICBwcml2YXRlIGdldCBmSW5wdXRzKCk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZpcnN0Tm90Q29ubmVjdGVkSW5wdXRPZk5vZGVVbmRlclBvaW50ZXJIYW5kbGVyOiBGaXJzdE5vdENvbm5lY3RlZElucHV0T2ZOb2RlVW5kZXJQb2ludGVySGFuZGxlcixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHBheWxvYWQ6IEZpbmRJbnB1dHNVbmRlclBvaW50ZXJSZXF1ZXN0KTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgY29uc3QgaW5wdXRzVW5kZXJQb2ludGVyID0gdGhpcy5nZXRJbnB1dHNVbmRlclBvaW50ZXIocGF5bG9hZCk7XG4gICAgbGV0IG91dHB1dCA9IHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmlkID09PSBwYXlsb2FkLmRyYWdIYW5kbGVyLmNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICBpZighb3V0cHV0KSB7XG4gICAgICBvdXRwdXQgPSB0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dGxldHMuZmluZCgoeCkgPT4geC5pZCA9PT0gcGF5bG9hZC5kcmFnSGFuZGxlci5jb25uZWN0aW9uLmZPdXRwdXRJZCk7XG4gICAgfVxuICAgIGlmICghb3V0cHV0KSB7XG4gICAgICB0aHJvdyBPdXRwdXROb3RGb3VuZChwYXlsb2FkLmRyYWdIYW5kbGVyLmNvbm5lY3Rpb24uZk91dHB1dElkKTtcbiAgICB9XG4gICAgcmV0dXJuIG91dHB1dC5pc1NlbGZDb25uZWN0YWJsZSA/IGlucHV0c1VuZGVyUG9pbnRlciA6IGlucHV0c1VuZGVyUG9pbnRlci5maWx0ZXIoKHgpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldE5vZGUgPSB0aGlzLmZOb2Rlcy5maW5kKCh5KSA9PiB5LmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICAgICAgY29uc3Qgc291cmNlTm9kZSA9IHRoaXMuZk5vZGVzLmZpbmQoKHkpID0+IHkuaXNDb250YWlucyhvdXRwdXQhLmhvc3RFbGVtZW50KSk7XG4gICAgICByZXR1cm4gc291cmNlTm9kZT8uaG9zdEVsZW1lbnQgIT09IHRhcmdldE5vZGU/Lmhvc3RFbGVtZW50O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnB1dHNVbmRlclBvaW50ZXIocGF5bG9hZDogRmluZElucHV0c1VuZGVyUG9pbnRlclJlcXVlc3QpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICBsZXQgaW5wdXRzID0gdGhpcy5pbnB1dHNVbmRlclBvaW50ZXIocGF5bG9hZC5ldmVudC5nZXRQb3NpdGlvbigpKTtcblxuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5maXJzdE5vdENvbm5lY3RlZElucHV0T2ZOb2RlVW5kZXJQb2ludGVySGFuZGxlci5oYW5kbGUocGF5bG9hZC5ldmVudCk7XG5cbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGlucHV0cy5wdXNoKGlucHV0KTtcbiAgICB9XG4gICAgaW5wdXRzID0gaW5wdXRzLmZpbHRlcigoeCkgPT4geC5jYW5CZUNvbm5lY3RlZCk7XG4gICAgcmV0dXJuIGlucHV0cztcbiAgfVxuXG4gIHByaXZhdGUgaW5wdXRzVW5kZXJQb2ludGVyKHBvc2l0aW9uOiBJUG9pbnQpOiBGQ29ubmVjdG9yQmFzZVtdIHtcbiAgICBjb25zdCBlbGVtZW50c0Zyb21Qb2ludCA9IGRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KHBvc2l0aW9uLngsIHBvc2l0aW9uLnkpIGFzIEhUTUxFbGVtZW50W107XG4gICAgcmV0dXJuIGVsZW1lbnRzRnJvbVBvaW50LmZpbHRlcigoeCkgPT4gaXNOb2RlSW5wdXQoeCBhcyBIVE1MRWxlbWVudCkpLm1hcCgoZWxlbWVudCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZklucHV0cy5maW5kKCh4KSA9PiB4LmlzQ29udGFpbnMoZWxlbWVudCkpIVxuICAgIH0pLmZpbHRlcigoeCkgPT4gISF4KTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './first-not-connected-input-of-node-under-pointer';
|
|
2
|
-
export * from './inputs-under-pointer';
|
|
3
2
|
export * from './find-inputs-under-pointer.request';
|
|
4
3
|
export * from './find-inputs-under-pointer.handler';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2Nvbm5lY3Rpb25zL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpcnN0LW5vdC1jb25uZWN0ZWQtaW5wdXQtb2Ytbm9kZS11bmRlci1wb2ludGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci5yZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1pbnB1dHMtdW5kZXItcG9pbnRlci5oYW5kbGVyJztcbiJdfQ==
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { CreateConnectionOnPointerUp, CreateConnectionPrepareDragSequence, FindFirstCanBeConnectedOutputByOutletHandler } from './create-connection';
|
|
2
|
-
import { FindInputsUnderPointerHandler, FirstNotConnectedInputOfNodeUnderPointerHandler,
|
|
2
|
+
import { FindInputsUnderPointerHandler, FirstNotConnectedInputOfNodeUnderPointerHandler, } from './find-inputs-under-pointer';
|
|
3
3
|
import { ReassignConnectionOnPointerUp, ReassignConnectionPrepareDragSequence } from './reassign-connection';
|
|
4
4
|
export const CONNECTIONS_PROVIDERS = [
|
|
5
5
|
FindFirstCanBeConnectedOutputByOutletHandler,
|
|
6
6
|
CreateConnectionOnPointerUp,
|
|
7
7
|
CreateConnectionPrepareDragSequence,
|
|
8
8
|
FirstNotConnectedInputOfNodeUnderPointerHandler,
|
|
9
|
-
InputsUnderPointerHandler,
|
|
10
9
|
FindInputsUnderPointerHandler,
|
|
11
10
|
ReassignConnectionOnPointerUp,
|
|
12
11
|
ReassignConnectionPrepareDragSequence
|
|
13
12
|
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixtQ0FBbUMsRUFDbkMsNENBQTRDLEVBQzdDLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwrQ0FBK0MsR0FDaEQsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU3RyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUVuQyw0Q0FBNEM7SUFFNUMsMkJBQTJCO0lBRTNCLG1DQUFtQztJQUVuQywrQ0FBK0M7SUFFL0MsNkJBQTZCO0lBRTdCLDZCQUE2QjtJQUU3QixxQ0FBcUM7Q0FDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENyZWF0ZUNvbm5lY3Rpb25PblBvaW50ZXJVcCxcbiAgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmVEcmFnU2VxdWVuY2UsXG4gIEZpbmRGaXJzdENhbkJlQ29ubmVjdGVkT3V0cHV0QnlPdXRsZXRIYW5kbGVyXG59IGZyb20gJy4vY3JlYXRlLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHtcbiAgRmluZElucHV0c1VuZGVyUG9pbnRlckhhbmRsZXIsXG4gIEZpcnN0Tm90Q29ubmVjdGVkSW5wdXRPZk5vZGVVbmRlclBvaW50ZXJIYW5kbGVyLFxufSBmcm9tICcuL2ZpbmQtaW5wdXRzLXVuZGVyLXBvaW50ZXInO1xuaW1wb3J0IHsgUmVhc3NpZ25Db25uZWN0aW9uT25Qb2ludGVyVXAsIFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmVEcmFnU2VxdWVuY2UgfSBmcm9tICcuL3JlYXNzaWduLWNvbm5lY3Rpb24nO1xuXG5leHBvcnQgY29uc3QgQ09OTkVDVElPTlNfUFJPVklERVJTID0gW1xuXG4gIEZpbmRGaXJzdENhbkJlQ29ubmVjdGVkT3V0cHV0QnlPdXRsZXRIYW5kbGVyLFxuXG4gIENyZWF0ZUNvbm5lY3Rpb25PblBvaW50ZXJVcCxcblxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyZURyYWdTZXF1ZW5jZSxcblxuICBGaXJzdE5vdENvbm5lY3RlZElucHV0T2ZOb2RlVW5kZXJQb2ludGVySGFuZGxlcixcblxuICBGaW5kSW5wdXRzVW5kZXJQb2ludGVySGFuZGxlcixcblxuICBSZWFzc2lnbkNvbm5lY3Rpb25PblBvaW50ZXJVcCxcblxuICBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJlRHJhZ1NlcXVlbmNlXG5dO1xuIl19
|
|
@@ -2,6 +2,7 @@ import { FPathBuilderBase } from './f-path-builder-base';
|
|
|
2
2
|
import { IFPathBuilderRequest } from './i-f-path-builder-request';
|
|
3
3
|
import { IFPathBuilderResponse } from './i-f-path-builder-response';
|
|
4
4
|
export declare class FBezierPathBuilder extends FPathBuilderBase {
|
|
5
|
+
private static getConnectorOffset;
|
|
5
6
|
private static getAnglePoint;
|
|
6
7
|
handle(request: IFPathBuilderRequest): IFPathBuilderResponse;
|
|
7
8
|
}
|
|
@@ -52,6 +52,7 @@ export declare abstract class FConnectionBase extends MIXIN_BASE implements IHas
|
|
|
52
52
|
isContains(element: HTMLElement | SVGElement): boolean;
|
|
53
53
|
setVector(from: IPoint, fromSide: EFConnectableSide, to: IPoint, toSide: EFConnectableSide): void;
|
|
54
54
|
setMarkers(): void;
|
|
55
|
+
private getMarkerId;
|
|
55
56
|
redraw(): void;
|
|
56
57
|
static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionBase, never>;
|
|
57
58
|
static ɵdir: i0.ɵɵDirectiveDeclaration<FConnectionBase, never, never, {}, {}, never, never, false, never>;
|
package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { IHandler } from '@foblex/core';
|
|
2
2
|
import { FindInputsUnderPointerRequest } from './find-inputs-under-pointer.request';
|
|
3
3
|
import { FComponentsStore } from '../../../f-components-store';
|
|
4
|
-
import { InputsUnderPointerHandler } from './inputs-under-pointer';
|
|
5
4
|
import { FirstNotConnectedInputOfNodeUnderPointerHandler } from './first-not-connected-input-of-node-under-pointer';
|
|
6
5
|
import { FConnectorBase } from '../../../f-connectors';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
export declare class FindInputsUnderPointerHandler implements IHandler<FindInputsUnderPointerRequest, FConnectorBase[]> {
|
|
9
8
|
private fComponentsStore;
|
|
10
|
-
private inputsUnderPointerHandler;
|
|
11
9
|
private firstNotConnectedInputOfNodeUnderPointerHandler;
|
|
12
10
|
private get fNodes();
|
|
13
|
-
|
|
11
|
+
private get fInputs();
|
|
12
|
+
constructor(fComponentsStore: FComponentsStore, firstNotConnectedInputOfNodeUnderPointerHandler: FirstNotConnectedInputOfNodeUnderPointerHandler);
|
|
14
13
|
handle(payload: FindInputsUnderPointerRequest): FConnectorBase[];
|
|
15
14
|
private getInputsUnderPointer;
|
|
15
|
+
private inputsUnderPointer;
|
|
16
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<FindInputsUnderPointerHandler, never>;
|
|
17
17
|
static ɵprov: i0.ɵɵInjectableDeclaration<FindInputsUnderPointerHandler>;
|
|
18
18
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { CreateConnectionOnPointerUp, CreateConnectionPrepareDragSequence, FindFirstCanBeConnectedOutputByOutletHandler } from './create-connection';
|
|
2
|
-
import { FindInputsUnderPointerHandler, FirstNotConnectedInputOfNodeUnderPointerHandler
|
|
2
|
+
import { FindInputsUnderPointerHandler, FirstNotConnectedInputOfNodeUnderPointerHandler } from './find-inputs-under-pointer';
|
|
3
3
|
import { ReassignConnectionOnPointerUp, ReassignConnectionPrepareDragSequence } from './reassign-connection';
|
|
4
|
-
export declare const CONNECTIONS_PROVIDERS: (typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof
|
|
4
|
+
export declare const CONNECTIONS_PROVIDERS: (typeof FindFirstCanBeConnectedOutputByOutletHandler | typeof FirstNotConnectedInputOfNodeUnderPointerHandler | typeof ReassignConnectionOnPointerUp | typeof ReassignConnectionPrepareDragSequence | typeof FindInputsUnderPointerHandler | typeof CreateConnectionOnPointerUp | typeof CreateConnectionPrepareDragSequence)[];
|
package/fesm2022/foblex-flow.mjs
CHANGED
|
@@ -657,17 +657,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
657
657
|
}] } });
|
|
658
658
|
|
|
659
659
|
class FBezierPathBuilder extends FPathBuilderBase {
|
|
660
|
-
static
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
660
|
+
static getConnectorOffset(distance, offset) {
|
|
661
|
+
if (distance >= offset) {
|
|
662
|
+
return distance;
|
|
663
|
+
}
|
|
664
|
+
return offset * Math.sqrt(offset - distance);
|
|
665
|
+
}
|
|
666
|
+
static getAnglePoint(side, source, target, offset) {
|
|
667
|
+
let result = { x: source.x, y: source.y };
|
|
668
|
+
switch (side) {
|
|
669
|
+
case EFConnectableSide.LEFT:
|
|
670
|
+
result.x -= FBezierPathBuilder.getConnectorOffset(source.x - target.x, offset);
|
|
671
|
+
break;
|
|
672
|
+
case EFConnectableSide.RIGHT:
|
|
673
|
+
result.x += FBezierPathBuilder.getConnectorOffset(target.x - source.x, offset);
|
|
674
|
+
break;
|
|
675
|
+
case EFConnectableSide.TOP:
|
|
676
|
+
result.y -= FBezierPathBuilder.getConnectorOffset(source.y - target.y, offset);
|
|
677
|
+
break;
|
|
678
|
+
case EFConnectableSide.BOTTOM:
|
|
679
|
+
result.y += FBezierPathBuilder.getConnectorOffset(target.y - source.y, offset);
|
|
680
|
+
break;
|
|
664
681
|
}
|
|
665
682
|
return result;
|
|
666
683
|
}
|
|
667
684
|
handle(request) {
|
|
668
|
-
const { source, sourceSide, target, targetSide } = request;
|
|
669
|
-
const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target);
|
|
670
|
-
const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, source,
|
|
685
|
+
const { source, sourceSide, target, targetSide, offset } = request;
|
|
686
|
+
const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target, offset);
|
|
687
|
+
const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, target, source, offset);
|
|
671
688
|
const path = `M ${source.x} ${source.y} C ${sourceAnglePoint.x} ${sourceAnglePoint.y}, ${targetAnglePoint.x} ${targetAnglePoint.y}, ${target.x + 0.0001} ${target.y + 0.0001}`;
|
|
672
689
|
const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, sourceAnglePoint, targetAnglePoint, target]));
|
|
673
690
|
return { path, center };
|
|
@@ -1303,7 +1320,7 @@ class FConnectionBase extends MIXIN_BASE$1 {
|
|
|
1303
1320
|
this.fDefs.nativeElement.innerHTML = '';
|
|
1304
1321
|
this.fMarkers.forEach((marker) => {
|
|
1305
1322
|
const markerElement = DomElementExtensions.createSvgElement('marker');
|
|
1306
|
-
markerElement.setAttribute('id', getFlowUid() + '-' + marker.type + '-' + this.fConnectionId);
|
|
1323
|
+
markerElement.setAttribute('id', this.getMarkerId(getFlowUid() + '-' + marker.type + '-' + this.fConnectionId));
|
|
1307
1324
|
markerElement.setAttribute('markerHeight', `${marker.height}`);
|
|
1308
1325
|
markerElement.setAttribute('markerWidth', `${marker.width}`);
|
|
1309
1326
|
markerElement.setAttribute('orient', 'auto');
|
|
@@ -1321,6 +1338,9 @@ class FConnectionBase extends MIXIN_BASE$1 {
|
|
|
1321
1338
|
marker.hostElement.remove();
|
|
1322
1339
|
});
|
|
1323
1340
|
}
|
|
1341
|
+
getMarkerId(id) {
|
|
1342
|
+
return sanitizeElementId(id);
|
|
1343
|
+
}
|
|
1324
1344
|
redraw() {
|
|
1325
1345
|
this.fPath.setPath(this.path);
|
|
1326
1346
|
this.fSelection.setPath(this.path);
|
|
@@ -2167,27 +2187,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
2167
2187
|
type: Injectable
|
|
2168
2188
|
}], ctorParameters: () => [{ type: FComponentsStore }] });
|
|
2169
2189
|
|
|
2170
|
-
class InputsUnderPointerHandler {
|
|
2171
|
-
get fInputs() {
|
|
2172
|
-
return this.fComponentsStore.fInputs;
|
|
2173
|
-
}
|
|
2174
|
-
constructor(fComponentsStore) {
|
|
2175
|
-
this.fComponentsStore = fComponentsStore;
|
|
2176
|
-
}
|
|
2177
|
-
handle(event) {
|
|
2178
|
-
const position = event.getPosition();
|
|
2179
|
-
const elementsFromPoint = document.elementsFromPoint(position.x, position.y);
|
|
2180
|
-
return elementsFromPoint.filter((x) => isNodeInput(x)).map((element) => {
|
|
2181
|
-
return this.fInputs.find((x) => x.isContains(element));
|
|
2182
|
-
}).filter((x) => !!x);
|
|
2183
|
-
}
|
|
2184
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: InputsUnderPointerHandler, deps: [{ token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2185
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: InputsUnderPointerHandler }); }
|
|
2186
|
-
}
|
|
2187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: InputsUnderPointerHandler, decorators: [{
|
|
2188
|
-
type: Injectable
|
|
2189
|
-
}], ctorParameters: () => [{ type: FComponentsStore }] });
|
|
2190
|
-
|
|
2191
2190
|
class FindInputsUnderPointerRequest {
|
|
2192
2191
|
constructor(event, dragHandler) {
|
|
2193
2192
|
this.event = event;
|
|
@@ -2232,9 +2231,11 @@ class FindInputsUnderPointerHandler {
|
|
|
2232
2231
|
get fNodes() {
|
|
2233
2232
|
return this.fComponentsStore.fNodes;
|
|
2234
2233
|
}
|
|
2235
|
-
|
|
2234
|
+
get fInputs() {
|
|
2235
|
+
return this.fComponentsStore.fInputs;
|
|
2236
|
+
}
|
|
2237
|
+
constructor(fComponentsStore, firstNotConnectedInputOfNodeUnderPointerHandler) {
|
|
2236
2238
|
this.fComponentsStore = fComponentsStore;
|
|
2237
|
-
this.inputsUnderPointerHandler = inputsUnderPointerHandler;
|
|
2238
2239
|
this.firstNotConnectedInputOfNodeUnderPointerHandler = firstNotConnectedInputOfNodeUnderPointerHandler;
|
|
2239
2240
|
}
|
|
2240
2241
|
handle(payload) {
|
|
@@ -2253,7 +2254,7 @@ class FindInputsUnderPointerHandler {
|
|
|
2253
2254
|
});
|
|
2254
2255
|
}
|
|
2255
2256
|
getInputsUnderPointer(payload) {
|
|
2256
|
-
let inputs = this.
|
|
2257
|
+
let inputs = this.inputsUnderPointer(payload.event.getPosition());
|
|
2257
2258
|
const input = this.firstNotConnectedInputOfNodeUnderPointerHandler.handle(payload.event);
|
|
2258
2259
|
if (input) {
|
|
2259
2260
|
inputs.push(input);
|
|
@@ -2261,12 +2262,18 @@ class FindInputsUnderPointerHandler {
|
|
|
2261
2262
|
inputs = inputs.filter((x) => x.canBeConnected);
|
|
2262
2263
|
return inputs;
|
|
2263
2264
|
}
|
|
2264
|
-
|
|
2265
|
+
inputsUnderPointer(position) {
|
|
2266
|
+
const elementsFromPoint = document.elementsFromPoint(position.x, position.y);
|
|
2267
|
+
return elementsFromPoint.filter((x) => isNodeInput(x)).map((element) => {
|
|
2268
|
+
return this.fInputs.find((x) => x.isContains(element));
|
|
2269
|
+
}).filter((x) => !!x);
|
|
2270
|
+
}
|
|
2271
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FindInputsUnderPointerHandler, deps: [{ token: FComponentsStore }, { token: FirstNotConnectedInputOfNodeUnderPointerHandler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2265
2272
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FindInputsUnderPointerHandler }); }
|
|
2266
2273
|
}
|
|
2267
2274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FindInputsUnderPointerHandler, decorators: [{
|
|
2268
2275
|
type: Injectable
|
|
2269
|
-
}], ctorParameters: () => [{ type: FComponentsStore }, { type:
|
|
2276
|
+
}], ctorParameters: () => [{ type: FComponentsStore }, { type: FirstNotConnectedInputOfNodeUnderPointerHandler }] });
|
|
2270
2277
|
|
|
2271
2278
|
class CreateConnectionOnPointerUp {
|
|
2272
2279
|
constructor(fComponentsStore, fDraggableDataContext, findInputsUnderPointerHandler, findFirstCanBeConnectedOutputByOutletHandler) {
|
|
@@ -2501,7 +2508,6 @@ const CONNECTIONS_PROVIDERS = [
|
|
|
2501
2508
|
CreateConnectionOnPointerUp,
|
|
2502
2509
|
CreateConnectionPrepareDragSequence,
|
|
2503
2510
|
FirstNotConnectedInputOfNodeUnderPointerHandler,
|
|
2504
|
-
InputsUnderPointerHandler,
|
|
2505
2511
|
FindInputsUnderPointerHandler,
|
|
2506
2512
|
ReassignConnectionOnPointerUp,
|
|
2507
2513
|
ReassignConnectionPrepareDragSequence
|
|
@@ -4604,5 +4610,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
4604
4610
|
* Generated bundle index. Do not edit.
|
|
4605
4611
|
*/
|
|
4606
4612
|
|
|
4607
|
-
export { CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CanvasDragHandler, CanvasOnPointerUp, CanvasPrepareDragSequence, ClearSelectionHandler, ClearSelectionRequest, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionOnPointerUp, CreateConnectionPrepareDragSequence, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFDraggableType, EFMarkerType, EXTERNAL_ITEM_PROVIDERS, ExternalItemDragHandler, ExternalItemOnPointerUp, ExternalItemPrepareDragSequence, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FCellPatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowMediator, FFlowModule, FHandlerRegister, FLOW, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FPathBuilderBase, FPathBuilderSelector, FReassignConnectionEvent, FResizeObserver, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_PATTERN, F_CANVAS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_IDENTIFIERS, F_DRAGGABLE, F_DRAG_HANDLE, F_EXTERNAL_ITEM, F_FLOW, F_LINE_ALIGNMENT, F_MARKER, F_NODE, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_SELECTED_CLASS, F_SELECTION_AREA, F_ZOOM, FindFirstCanBeConnectedOutputByOutletHandler, FindInputsUnderPointerHandler, FindInputsUnderPointerRequest, FirstNotConnectedInputOfNodeUnderPointerHandler, GetCanBeSelectedItemsHandler, GetConnectionHandler, GetConnectionVectorHandler, GetConnectionVectorRequest, GetElementRectInFlowHandler, GetElementRectInFlowRequest, GetIncomingConnectionsHandler, GetInputRectInFlowHandler, GetInputRectInFlowRequest, GetInputRectInFlowResponse, GetNodesRectHandler, GetNodesRectRequest, GetOutgoingConnectionsHandler, GetOutputRectInFlowHandler, GetOutputRectInFlowRequest, GetOutputRectInFlowResponse, GetSelectionHandler, GetSelectionRequest,
|
|
4613
|
+
export { CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CanvasDragHandler, CanvasOnPointerUp, CanvasPrepareDragSequence, ClearSelectionHandler, ClearSelectionRequest, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionOnPointerUp, CreateConnectionPrepareDragSequence, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFDraggableType, EFMarkerType, EXTERNAL_ITEM_PROVIDERS, ExternalItemDragHandler, ExternalItemOnPointerUp, ExternalItemPrepareDragSequence, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FCellPatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowMediator, FFlowModule, FHandlerRegister, FLOW, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FPathBuilderBase, FPathBuilderSelector, FReassignConnectionEvent, FResizeObserver, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_PATTERN, F_CANVAS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_IDENTIFIERS, F_DRAGGABLE, F_DRAG_HANDLE, F_EXTERNAL_ITEM, F_FLOW, F_LINE_ALIGNMENT, F_MARKER, F_NODE, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_SELECTED_CLASS, F_SELECTION_AREA, F_ZOOM, FindFirstCanBeConnectedOutputByOutletHandler, FindInputsUnderPointerHandler, FindInputsUnderPointerRequest, FirstNotConnectedInputOfNodeUnderPointerHandler, GetCanBeSelectedItemsHandler, GetConnectionHandler, GetConnectionVectorHandler, GetConnectionVectorRequest, GetElementRectInFlowHandler, GetElementRectInFlowRequest, GetIncomingConnectionsHandler, GetInputRectInFlowHandler, GetInputRectInFlowRequest, GetInputRectInFlowResponse, GetNodesRectHandler, GetNodesRectRequest, GetOutgoingConnectionsHandler, GetOutputRectInFlowHandler, GetOutputRectInFlowRequest, GetOutputRectInFlowResponse, GetSelectionHandler, GetSelectionRequest, IsConnectionUnderNodeHandler, LineElement, LineService, MOUSE_EVENT_IGNORE_TIME, NODE_PROVIDERS, NearestCoordinateFinder, NodeDragHandler, NodeOnPointerUp, NodePrepareDragSequence, ReassignConnectionDragHandler, ReassignConnectionOnPointerUp, ReassignConnectionPrepareDragSequence, RedrawConnectionsHandler, RedrawConnectionsRequest, SELECTION_AREA_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllHandler, SelectAllRequest, SelectHandler, SelectRequest, SelectionAreaDragHandle, SelectionAreaOnPointerUp, SelectionAreaPrepareDragSequence, SingleSelectOnPointerDown, UpdateConnectionLayerHandler, UpdateNodeLayerHandler, castToConnectableSide, castToConnectionBehavior, castToConnectionType, getExternalItem, getFlowUid, isExternalItem, isNode, isNodeDragHandle, isNodeInput, isNodeOutlet, isNodeOutput, mixinChangeConnectionSelection, mixinChangeConnectionVisibility };
|
|
4608
4614
|
//# sourceMappingURL=foblex-flow.mjs.map
|