@foblex/flow 12.6.7 → 12.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/bundles/foblex-flow.umd.js +106 -28
  2. package/bundles/foblex-flow.umd.js.map +1 -1
  3. package/domain/f-connection/add-connection-to-store/add-connection-to-store-request.d.ts +5 -0
  4. package/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.d.ts +11 -0
  5. package/domain/f-connection/add-connection-to-store/index.d.ts +2 -0
  6. package/domain/f-connection/index.d.ts +2 -0
  7. package/domain/f-connection/providers.d.ts +3 -1
  8. package/domain/f-connection/remove-connection-from-store/index.d.ts +2 -0
  9. package/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.d.ts +5 -0
  10. package/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.d.ts +11 -0
  11. package/domain/providers.d.ts +1 -1
  12. package/esm2015/domain/f-connection/add-connection-to-store/add-connection-to-store-request.js +6 -0
  13. package/esm2015/domain/f-connection/add-connection-to-store/add-connection-to-store.execution.js +25 -0
  14. package/esm2015/domain/f-connection/add-connection-to-store/index.js +3 -0
  15. package/esm2015/domain/f-connection/index.js +3 -1
  16. package/esm2015/domain/f-connection/providers.js +5 -1
  17. package/esm2015/domain/f-connection/remove-connection-from-store/index.js +3 -0
  18. package/esm2015/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.js +6 -0
  19. package/esm2015/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.js +29 -0
  20. package/esm2015/f-connection/f-connection/f-connection.component.js +16 -13
  21. package/esm2015/f-connectors/e-f-connectable-side.js +2 -2
  22. package/esm2015/f-connectors/f-node-input/f-node-input.directive.js +4 -4
  23. package/esm2015/f-connectors/f-node-output/f-node-output.directive.js +3 -3
  24. package/esm2015/f-draggable/connections/create-connection/create-connection.drag-handler.js +7 -2
  25. package/esm2015/f-draggable/connections/get-input-under-pointer/get-input-under-pointer.execution.js +1 -1
  26. package/esm2015/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.js +11 -3
  27. package/esm2015/f-draggable/node/connection-source.drag-handler.js +2 -2
  28. package/esm2015/f-draggable/node/connection-target.drag-handler.js +2 -2
  29. package/esm2015/f-draggable/node/connection.drag-handler.js +2 -2
  30. package/esm2015/f-draggable/node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.js +1 -1
  31. package/esm2015/f-draggable/node-resize/calculate-changed-size/calculate-changed-size.execution.js +1 -1
  32. package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.js +9 -3
  33. package/esm2015/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.js +1 -1
  34. package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.js +3 -6
  35. package/esm2015/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.js +3 -3
  36. package/esm2015/f-draggable/node-resize/node-resize.drag-handler.js +7 -5
  37. package/esm2015/f-flow/f-flow.component.js +1 -1
  38. package/f-connection/f-connection/f-connection.component.d.ts +3 -1
  39. package/f-connectors/e-f-connectable-side.d.ts +1 -1
  40. package/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +1 -0
  41. package/f-draggable/node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +2 -1
  42. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -1
  43. package/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +2 -3
  44. package/fesm2015/foblex-flow.js +101 -29
  45. package/fesm2015/foblex-flow.js.map +1 -1
  46. package/package.json +1 -1
@@ -0,0 +1,5 @@
1
+ import { FConnectionBase } from '../../../f-connection';
2
+ export declare class AddConnectionToStoreRequest {
3
+ fConnection: FConnectionBase;
4
+ constructor(fConnection: FConnectionBase);
5
+ }
@@ -0,0 +1,11 @@
1
+ import { IExecution } from '@foblex/mediator';
2
+ import { AddConnectionToStoreRequest } from './add-connection-to-store-request';
3
+ import { FComponentsStore } from '../../../f-storage';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AddConnectionToStoreExecution implements IExecution<AddConnectionToStoreRequest, void> {
6
+ private fComponentsStore;
7
+ constructor(fComponentsStore: FComponentsStore);
8
+ handle(request: AddConnectionToStoreRequest): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AddConnectionToStoreExecution, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<AddConnectionToStoreExecution>;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './add-connection-to-store.execution';
2
+ export * from './add-connection-to-store-request';
@@ -1,4 +1,6 @@
1
+ export * from './add-connection-to-store';
1
2
  export * from './find-closest-input-using-snap-threshold';
2
3
  export * from './get-all-can-be-connected-input-positions';
3
4
  export * from './get-connector-with-rect';
5
+ export * from './remove-connection-from-store';
4
6
  export * from './providers';
@@ -1,4 +1,6 @@
1
1
  import { FindClosestInputUsingSnapThresholdExecution } from './find-closest-input-using-snap-threshold';
2
2
  import { GetAllCanBeConnectedInputPositionsExecution } from './get-all-can-be-connected-input-positions';
3
3
  import { GetConnectorWithRectExecution } from './get-connector-with-rect';
4
- export declare const F_CONNECTION_FEATURES: (typeof FindClosestInputUsingSnapThresholdExecution | typeof GetAllCanBeConnectedInputPositionsExecution | typeof GetConnectorWithRectExecution)[];
4
+ import { AddConnectionToStoreExecution } from './add-connection-to-store';
5
+ import { RemoveConnectionFromStoreExecution } from './remove-connection-from-store';
6
+ export declare const F_CONNECTION_FEATURES: (typeof AddConnectionToStoreExecution | typeof FindClosestInputUsingSnapThresholdExecution | typeof GetAllCanBeConnectedInputPositionsExecution | typeof GetConnectorWithRectExecution | typeof RemoveConnectionFromStoreExecution)[];
@@ -0,0 +1,2 @@
1
+ export * from './remove-connection-from-store.execution';
2
+ export * from './remove-connection-from-store-request';
@@ -0,0 +1,5 @@
1
+ import { FConnectionBase } from '../../../f-connection';
2
+ export declare class RemoveConnectionFromStoreRequest {
3
+ fConnection: FConnectionBase;
4
+ constructor(fConnection: FConnectionBase);
5
+ }
@@ -0,0 +1,11 @@
1
+ import { IExecution } from '@foblex/mediator';
2
+ import { RemoveConnectionFromStoreRequest } from './remove-connection-from-store-request';
3
+ import { FComponentsStore } from '../../../f-storage';
4
+ import * as i0 from "@angular/core";
5
+ export declare class RemoveConnectionFromStoreExecution implements IExecution<RemoveConnectionFromStoreRequest, void> {
6
+ private fComponentsStore;
7
+ constructor(fComponentsStore: FComponentsStore);
8
+ handle(request: RemoveConnectionFromStoreRequest): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<RemoveConnectionFromStoreExecution, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<RemoveConnectionFromStoreExecution>;
11
+ }
@@ -14,4 +14,4 @@ import { SortItemLayersExecution, SortItemsByParentExecution, SortNodeLayersExec
14
14
  import { GetDeepChildrenNodesAndGroupsExecution } from './get-deep-children-nodes-and-groups';
15
15
  import { CreateRoundedRectFromElementExecution } from './create-rounded-rect-from-element';
16
16
  import { ShowConnectionsAfterCalculationsExecution } from './show-connections-after-calculations';
17
- export declare const COMMON_PROVIDERS: (typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").ResetScaleExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").FindClosestInputUsingSnapThresholdExecution | typeof import("./f-connection").GetAllCanBeConnectedInputPositionsExecution | typeof import("./f-connection").GetConnectorWithRectExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof CreateConnectionMarkersExecution | typeof CreateRoundedRectFromElementExecution | typeof EmitTransformChangesExecution | typeof import("./f-selection").ClearSelectionExecution | typeof import("./f-selection").GetSelectionExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAllExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof GetCanBeSelectedItemsExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetConnectionLineExecution | typeof GetElementRectInFlowExecution | typeof import("./get-flow-state").GetFlowStateExecution | typeof import("./get-flow-state").GetFlowStateNodesExecution | typeof import("./get-flow-state").GetFlowStateConnectionsExecution | typeof GetScaledNodeRectsWithFlowPositionExecution | typeof GetNodesRectExecution | typeof GetPositionInFlowExecution | typeof IsConnectionUnderNodeExecution | typeof RedrawConnectionsExecution | typeof ShowConnectionsAfterCalculationsExecution | typeof SortItemLayersExecution | typeof SortItemsByParentExecution | typeof SortNodeLayersExecution | typeof SubscribeOnTransformChangesExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
17
+ export declare const COMMON_PROVIDERS: (typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").ResetScaleExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").FindClosestInputUsingSnapThresholdExecution | typeof import("./f-connection").GetAllCanBeConnectedInputPositionsExecution | typeof import("./f-connection").GetConnectorWithRectExecution | typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof CreateConnectionMarkersExecution | typeof CreateRoundedRectFromElementExecution | typeof EmitTransformChangesExecution | typeof import("./f-selection").ClearSelectionExecution | typeof import("./f-selection").GetSelectionExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAllExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof GetCanBeSelectedItemsExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetConnectionLineExecution | typeof GetElementRectInFlowExecution | typeof import("./get-flow-state").GetFlowStateExecution | typeof import("./get-flow-state").GetFlowStateNodesExecution | typeof import("./get-flow-state").GetFlowStateConnectionsExecution | typeof GetScaledNodeRectsWithFlowPositionExecution | typeof GetNodesRectExecution | typeof GetPositionInFlowExecution | typeof IsConnectionUnderNodeExecution | typeof RedrawConnectionsExecution | typeof ShowConnectionsAfterCalculationsExecution | typeof SortItemLayersExecution | typeof SortItemsByParentExecution | typeof SortNodeLayersExecution | typeof SubscribeOnTransformChangesExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
@@ -0,0 +1,6 @@
1
+ export class AddConnectionToStoreRequest {
2
+ constructor(fConnection) {
3
+ this.fConnection = fConnection;
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbm5lY3Rpb24tdG8tc3RvcmUtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2YtY29ubmVjdGlvbi9hZGQtY29ubmVjdGlvbi10by1zdG9yZS9hZGQtY29ubmVjdGlvbi10by1zdG9yZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7SUFFcEMsWUFDVyxXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7SUFFdkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2VcbiAgICApIHtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { FExecutionRegister } from '@foblex/mediator';
4
+ import { AddConnectionToStoreRequest } from './add-connection-to-store-request';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../f-storage";
7
+ let AddConnectionToStoreExecution = class AddConnectionToStoreExecution {
8
+ constructor(fComponentsStore) {
9
+ this.fComponentsStore = fComponentsStore;
10
+ }
11
+ handle(request) {
12
+ this.fComponentsStore.fConnections.push(request.fConnection);
13
+ this.fComponentsStore.componentDataChanged();
14
+ }
15
+ };
16
+ AddConnectionToStoreExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddConnectionToStoreExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
17
+ AddConnectionToStoreExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddConnectionToStoreExecution });
18
+ AddConnectionToStoreExecution = __decorate([
19
+ FExecutionRegister(AddConnectionToStoreRequest)
20
+ ], AddConnectionToStoreExecution);
21
+ export { AddConnectionToStoreExecution };
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddConnectionToStoreExecution, decorators: [{
23
+ type: Injectable
24
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbm5lY3Rpb24tdG8tc3RvcmUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL2FkZC1jb25uZWN0aW9uLXRvLXN0b3JlL2FkZC1jb25uZWN0aW9uLXRvLXN0b3JlLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0lBS25FLDZCQUE2QixTQUE3Qiw2QkFBNkI7SUFFeEMsWUFDWSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU5QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQW9DO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0NBQ0YsQ0FBQTsySEFYWSw2QkFBNkI7K0hBQTdCLDZCQUE2QjtBQUE3Qiw2QkFBNkI7SUFEekMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUM7R0FDbkMsNkJBQTZCLENBV3pDO1NBWFksNkJBQTZCOzRGQUE3Qiw2QkFBNkI7a0JBRnpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCB9IGZyb20gJy4vYWRkLWNvbm5lY3Rpb24tdG8tc3RvcmUtcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihBZGRDb25uZWN0aW9uVG9TdG9yZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgQWRkQ29ubmVjdGlvblRvU3RvcmVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCwgdm9pZD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBBZGRDb25uZWN0aW9uVG9TdG9yZVJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLnB1c2gocmVxdWVzdC5mQ29ubmVjdGlvbik7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './add-connection-to-store.execution';
2
+ export * from './add-connection-to-store-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vYWRkLWNvbm5lY3Rpb24tdG8tc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGQtY29ubmVjdGlvbi10by1zdG9yZS5leGVjdXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2FkZC1jb25uZWN0aW9uLXRvLXN0b3JlLXJlcXVlc3QnO1xuIl19
@@ -1,5 +1,7 @@
1
+ export * from './add-connection-to-store';
1
2
  export * from './find-closest-input-using-snap-threshold';
2
3
  export * from './get-all-can-be-connected-input-positions';
3
4
  export * from './get-connector-with-rect';
5
+ export * from './remove-connection-from-store';
4
6
  export * from './providers';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLDRDQUE0QyxDQUFDO0FBRTNELGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbmQtY2xvc2VzdC1pbnB1dC11c2luZy1zbmFwLXRocmVzaG9sZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsNENBQTRDLENBQUM7QUFFM0QsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGQtY29ubmVjdGlvbi10by1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtYWxsLWNhbi1iZS1jb25uZWN0ZWQtaW5wdXQtcG9zaXRpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY29ubmVjdG9yLXdpdGgtcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
@@ -1,9 +1,13 @@
1
1
  import { FindClosestInputUsingSnapThresholdExecution } from './find-closest-input-using-snap-threshold';
2
2
  import { GetAllCanBeConnectedInputPositionsExecution } from './get-all-can-be-connected-input-positions';
3
3
  import { GetConnectorWithRectExecution } from './get-connector-with-rect';
4
+ import { AddConnectionToStoreExecution } from './add-connection-to-store';
5
+ import { RemoveConnectionFromStoreExecution } from './remove-connection-from-store';
4
6
  export const F_CONNECTION_FEATURES = [
7
+ AddConnectionToStoreExecution,
5
8
  FindClosestInputUsingSnapThresholdExecution,
6
9
  GetAllCanBeConnectedInputPositionsExecution,
7
10
  GetConnectorWithRectExecution,
11
+ RemoveConnectionFromStoreExecution
8
12
  ];
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUVuQywyQ0FBMkM7SUFFM0MsMkNBQTJDO0lBRTNDLDZCQUE2QjtDQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmluZENsb3Nlc3RJbnB1dFVzaW5nU25hcFRocmVzaG9sZEV4ZWN1dGlvbiB9IGZyb20gJy4vZmluZC1jbG9zZXN0LWlucHV0LXVzaW5nLXNuYXAtdGhyZXNob2xkJztcbmltcG9ydCB7IEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNFeGVjdXRpb24gfSBmcm9tICcuL2dldC1hbGwtY2FuLWJlLWNvbm5lY3RlZC1pbnB1dC1wb3NpdGlvbnMnO1xuaW1wb3J0IHsgR2V0Q29ubmVjdG9yV2l0aFJlY3RFeGVjdXRpb24gfSBmcm9tICcuL2dldC1jb25uZWN0b3Itd2l0aC1yZWN0JztcblxuZXhwb3J0IGNvbnN0IEZfQ09OTkVDVElPTl9GRUFUVVJFUyA9IFtcblxuICBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkRXhlY3V0aW9uLFxuXG4gIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNFeGVjdXRpb24sXG5cbiAgR2V0Q29ubmVjdG9yV2l0aFJlY3RFeGVjdXRpb24sXG5dO1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUVuQyw2QkFBNkI7SUFFN0IsMkNBQTJDO0lBRTNDLDJDQUEyQztJQUUzQyw2QkFBNkI7SUFFN0Isa0NBQWtDO0NBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkRXhlY3V0aW9uIH0gZnJvbSAnLi9maW5kLWNsb3Nlc3QtaW5wdXQtdXNpbmctc25hcC10aHJlc2hvbGQnO1xuaW1wb3J0IHsgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dFBvc2l0aW9uc0V4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWFsbC1jYW4tYmUtY29ubmVjdGVkLWlucHV0LXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBHZXRDb25uZWN0b3JXaXRoUmVjdEV4ZWN1dGlvbiB9IGZyb20gJy4vZ2V0LWNvbm5lY3Rvci13aXRoLXJlY3QnO1xuaW1wb3J0IHsgQWRkQ29ubmVjdGlvblRvU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL2FkZC1jb25uZWN0aW9uLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUnO1xuXG5leHBvcnQgY29uc3QgRl9DT05ORUNUSU9OX0ZFQVRVUkVTID0gW1xuXG4gIEFkZENvbm5lY3Rpb25Ub1N0b3JlRXhlY3V0aW9uLFxuXG4gIEZpbmRDbG9zZXN0SW5wdXRVc2luZ1NuYXBUaHJlc2hvbGRFeGVjdXRpb24sXG5cbiAgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dFBvc2l0aW9uc0V4ZWN1dGlvbixcblxuICBHZXRDb25uZWN0b3JXaXRoUmVjdEV4ZWN1dGlvbixcblxuICBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlRXhlY3V0aW9uXG5dO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './remove-connection-from-store.execution';
2
+ export * from './remove-connection-from-store-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9yZW1vdmUtY29ubmVjdGlvbi1mcm9tLXN0b3JlLXJlcXVlc3QnO1xuIl19
@@ -0,0 +1,6 @@
1
+ export class RemoveConnectionFromStoreRequest {
2
+ constructor(fConnection) {
3
+ this.fConnection = fConnection;
4
+ }
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1jb25uZWN0aW9uL3JlbW92ZS1jb25uZWN0aW9uLWZyb20tc3RvcmUvcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxnQ0FBZ0M7SUFFekMsWUFDUyxXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7SUFFckMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0IHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2VcbiAgICApIHtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { FExecutionRegister } from '@foblex/mediator';
4
+ import { RemoveConnectionFromStoreRequest } from './remove-connection-from-store-request';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../f-storage";
7
+ let RemoveConnectionFromStoreExecution = class RemoveConnectionFromStoreExecution {
8
+ constructor(fComponentsStore) {
9
+ this.fComponentsStore = fComponentsStore;
10
+ }
11
+ handle(request) {
12
+ const index = this.fComponentsStore.fConnections.indexOf(request.fConnection);
13
+ if (index === -1) {
14
+ throw new Error(`Connection not found in store`);
15
+ }
16
+ this.fComponentsStore.fConnections.splice(index, 1);
17
+ this.fComponentsStore.componentDataChanged();
18
+ }
19
+ };
20
+ RemoveConnectionFromStoreExecution.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoveConnectionFromStoreExecution, deps: [{ token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
21
+ RemoveConnectionFromStoreExecution.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoveConnectionFromStoreExecution });
22
+ RemoveConnectionFromStoreExecution = __decorate([
23
+ FExecutionRegister(RemoveConnectionFromStoreRequest)
24
+ ], RemoveConnectionFromStoreExecution);
25
+ export { RemoveConnectionFromStoreExecution };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RemoveConnectionFromStoreExecution, decorators: [{
27
+ type: Injectable
28
+ }], ctorParameters: function () { return [{ type: i1.FComponentsStore }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLWNvbm5lY3Rpb24vcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS9yZW1vdmUtY29ubmVjdGlvbi1mcm9tLXN0b3JlLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0lBSzdFLGtDQUFrQyxTQUFsQyxrQ0FBa0M7SUFFN0MsWUFDVSxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXlDO1FBQ3JELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7U0FDbEQ7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDL0MsQ0FBQztDQUNGLENBQUE7Z0lBZlksa0NBQWtDO29JQUFsQyxrQ0FBa0M7QUFBbEMsa0NBQWtDO0lBRDlDLGtCQUFrQixDQUFDLGdDQUFnQyxDQUFDO0dBQ3hDLGtDQUFrQyxDQWU5QztTQWZZLGtDQUFrQzs0RkFBbEMsa0NBQWtDO2tCQUY5QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4vcmVtb3ZlLWNvbm5lY3Rpb24tZnJvbS1zdG9yZS1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucy5pbmRleE9mKHJlcXVlc3QuZkNvbm5lY3Rpb24pO1xuICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29ubmVjdGlvbiBub3QgZm91bmQgaW4gc3RvcmVgKTtcbiAgICB9XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZDb25uZWN0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG59XG4iXX0=
@@ -9,20 +9,23 @@ import { F_CONNECTION } from '../common/f-connection.injection-token';
9
9
  // at f-connection-for-create.component.ts:34:11
10
10
  import { FConnectionBase } from '../common/f-connection-base';
11
11
  import { castToEnum } from '@foblex/utils';
12
+ import { AddConnectionToStoreRequest, RemoveConnectionFromStoreRequest } from '../../domain';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "../f-connection-builder";
14
15
  import * as i2 from "../../f-storage";
15
- import * as i3 from "../common/f-gradient/f-connection-gradient.component";
16
- import * as i4 from "../common/f-selection/f-connection-selection.component";
17
- import * as i5 from "../common/f-path/f-connection-path.component";
18
- import * as i6 from "../common/f-drag-handle/f-connection-drag-handle.component";
19
- import * as i7 from "../common/f-connection-text/f-connection-text.component";
20
- import * as i8 from "@angular/common";
16
+ import * as i3 from "@foblex/mediator";
17
+ import * as i4 from "../common/f-gradient/f-connection-gradient.component";
18
+ import * as i5 from "../common/f-selection/f-connection-selection.component";
19
+ import * as i6 from "../common/f-path/f-connection-path.component";
20
+ import * as i7 from "../common/f-drag-handle/f-connection-drag-handle.component";
21
+ import * as i8 from "../common/f-connection-text/f-connection-text.component";
22
+ import * as i9 from "@angular/common";
21
23
  let uniqueId = 0;
22
24
  export class FConnectionComponent extends FConnectionBase {
23
- constructor(elementReference, fConnectionFactory, fComponentsStore) {
25
+ constructor(elementReference, fConnectionFactory, fComponentsStore, fMediator) {
24
26
  super(elementReference, fConnectionFactory);
25
27
  this.fComponentsStore = fComponentsStore;
28
+ this.fMediator = fMediator;
26
29
  this.fId = `f-connection-${uniqueId++}`;
27
30
  this._fText = '';
28
31
  this._fStartColor = 'black';
@@ -101,14 +104,14 @@ export class FConnectionComponent extends FConnectionBase {
101
104
  return this.fPath.hostElement;
102
105
  }
103
106
  ngOnInit() {
104
- this.fComponentsStore.addComponent(this.fComponentsStore.fConnections, this);
107
+ this.fMediator.send(new AddConnectionToStoreRequest(this));
105
108
  }
106
109
  ngOnDestroy() {
107
- this.fComponentsStore.removeComponent(this.fComponentsStore.fConnections, this);
110
+ this.fMediator.send(new RemoveConnectionFromStoreRequest(this));
108
111
  }
109
112
  }
110
- FConnectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component });
111
- FConnectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], components: [{ type: i3.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { type: i4.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }, { type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { type: i6.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { type: i7.FConnectionTextComponent, selector: "text[f-connection-text]" }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
+ FConnectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }, { token: i3.FMediator }], target: i0.ɵɵFactoryTarget.Component });
114
+ FConnectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], components: [{ type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { type: i5.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }, { type: i6.FConnectionPathComponent, selector: "path[f-connection-path]" }, { type: i7.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { type: i8.FConnectionTextComponent, selector: "text[f-connection-text]" }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
112
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FConnectionComponent, decorators: [{
113
116
  type: Component,
114
117
  args: [{
@@ -125,7 +128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
125
128
  },
126
129
  providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }],
127
130
  }]
128
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }]; }, propDecorators: { fId: [{
131
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }, { type: i3.FMediator }]; }, propDecorators: { fId: [{
129
132
  type: Input,
130
133
  args: ['fConnectionId']
131
134
  }], fText: [{
@@ -176,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
176
179
  type: ContentChildren,
177
180
  args: [FConnectionCenterDirective, { descendants: true }]
178
181
  }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FHOUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEUsZ0hBQWdIO0FBQ2hILHdFQUF3RTtBQUN4RSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFFM0MsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBZ0J6QixNQUFNLE9BQU8sb0JBQ1QsU0FBUSxlQUFlO0lBZ0l6QixZQUNJLGdCQUF5QyxFQUN6QyxrQkFBc0MsRUFDOUIsZ0JBQWtDO1FBRTVDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxrQkFB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SyxFQUFFO2dCQUkxQyxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBDT05ORUNUSU9OX0dSQURJRU5ULFxuICBDT05ORUNUSU9OX1BBVEgsXG4gIENPTk5FQ1RJT05fVEVYVCxcbiAgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LFxuICBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCxcbiAgSUNvbm5lY3Rpb25HcmFkaWVudCxcbiAgSUNvbm5lY3Rpb25QYXRoLCBJQ29ubmVjdGlvblRleHQsXG59IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IEZfQ09OTkVDVElPTiB9IGZyb20gJy4uL2NvbW1vbi9mLWNvbm5lY3Rpb24uaW5qZWN0aW9uLXRva2VuJztcbi8vVE9ETzogTmVlZCB0byBkZWFsIHdpdGggY3ljbGljIGRlcGVuZGVuY2llcywgc2luY2UgaW4gc29tZSBjYXNlcyBhbiBlcnJvciBvY2N1cnMgd2hlbiBpbXBvcnRpbmcgdGhlbSAuLi9jb21tb25cbi8vIFR5cGVFcnJvcjogQ2xhc3MgZXh0ZW5kcyB2YWx1ZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFxuLy8gYXQgZi1jb25uZWN0aW9uLWZvci1jcmVhdGUuY29tcG9uZW50LnRzOjM0OjExXG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgY2FzdFRvRW51bSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWNvbm5lY3Rpb25cIixcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbIFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3NcIiBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZklkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb25cIixcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9DT05ORUNUSU9OLCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Db21wb25lbnQgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudFxuICAgIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZkNvbm5lY3Rpb25JZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQ6IHN0cmluZyA9IGBmLWNvbm5lY3Rpb24tJHsgdW5pcXVlSWQrKyB9YDtcblxuICBwcml2YXRlIF9mVGV4dDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZUZXh0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mVGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZTdGFydENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZTdGFydENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mU3RhcnRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZlN0YXJ0Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZlN0YXJ0Q29sb3I7XG4gIH1cblxuICBwcml2YXRlIF9mRW5kQ29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZkVuZENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mRW5kQ29sb3IgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZFbmRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mRW5kQ29sb3I7XG4gIH1cblxuICBwcml2YXRlIF9mT3V0cHV0SWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZk91dHB1dElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mT3V0cHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZPdXRwdXRJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mT3V0cHV0SWQ7XG4gIH1cblxuICBwcml2YXRlIF9mSW5wdXRJZCE6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmSW5wdXRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZklucHV0SWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZJbnB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZJbnB1dElkO1xuICB9XG5cbiAgcHJpdmF0ZSBfZlJhZGl1czogbnVtYmVyID0gODtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmUmFkaXVzKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mUmFkaXVzID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmUmFkaXVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZSYWRpdXM7XG4gIH1cblxuICBwcml2YXRlIF9mT2Zmc2V0OiBudW1iZXIgPSAzMjtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmT2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9mT2Zmc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPZmZzZXQ7XG4gIH1cblxuICBwcml2YXRlIF9iZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3IgPSBFRkNvbm5lY3Rpb25CZWhhdmlvci5GSVhFRDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmQmVoYXZpb3IodmFsdWU6IHN0cmluZyB8IEVGQ29ubmVjdGlvbkJlaGF2aW9yKSB7XG4gICAgdGhpcy5fYmVoYXZpb3IgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZkJlaGF2aW9yKCk6IEVGQ29ubmVjdGlvbkJlaGF2aW9yIHtcbiAgICByZXR1cm4gdGhpcy5fYmVoYXZpb3I7XG4gIH1cblxuICBwcml2YXRlIF90eXBlOiBFRkNvbm5lY3Rpb25UeXBlID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmVHlwZSh2YWx1ZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZSBhcyB1bmtub3duIGFzIEVGQ29ubmVjdGlvblR5cGU7IC8vY2FzdFRvRW51bSh2YWx1ZSwgJ2ZUeXBlJywgRUZDb25uZWN0aW9uVHlwZSk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmVHlwZSgpOiBFRkNvbm5lY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgnZlJlYXNzaWduRGlzYWJsZWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnZGVmcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyE6IEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9QQVRILCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlBhdGghOiBJQ29ubmVjdGlvblBhdGg7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX0dSQURJRU5ULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyYWRpZW50ITogSUNvbm5lY3Rpb25HcmFkaWVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnSGFuZGxlITogRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uITogRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1RFWFQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dENvbXBvbmVudCE6IElDb25uZWN0aW9uVGV4dDtcblxuICBAVmlld0NoaWxkKCdmQ29ubmVjdGlvbkNlbnRlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25DZW50ZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBmQ29ubmVjdGlvbkNlbnRlcnMhOiBRdWVyeUxpc3Q8RkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmU+O1xuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGJvdW5kaW5nRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZQYXRoLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgIGZDb25uZWN0aW9uRmFjdG9yeTogRkNvbm5lY3Rpb25GYWN0b3J5LFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UsIGZDb25uZWN0aW9uRmFjdG9yeSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zLCB0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUucmVtb3ZlQ29tcG9uZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mQ29ubmVjdGlvbnMsIHRoaXMpO1xuICB9XG59XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBzdHlsZT1cIm92ZXJmbG93OiB2aXNpYmxlOyBkaXNwbGF5OiBibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIj5cbiAgPGRlZnMgI2RlZnM+PC9kZWZzPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxnIGNsYXNzPVwiZi1jb25uZWN0aW9uLWdyb3VwXCI+XG4gICAgPGxpbmVhckdyYWRpZW50IGZDb25uZWN0aW9uR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD5cbiAgICA8cGF0aCBmQ29ubmVjdGlvblNlbGVjdGlvbiBbYXR0ci5kXT1cInBhdGhcIj48L3BhdGg+XG4gICAgPGc+XG4gICAgICA8cGF0aCBmLWNvbm5lY3Rpb24tcGF0aCBbYXR0ci5kXT1cInBhdGhcIj48L3BhdGg+XG4gICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZSByPVwiOFwiPjwvY2lyY2xlPlxuICAgIDwvZz5cbiAgICA8dGV4dCBmLWNvbm5lY3Rpb24tdGV4dD48L3RleHQ+XG4gIDwvZz5cbjwvc3ZnPlxuPGRpdiAjZkNvbm5lY3Rpb25DZW50ZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb24tY2VudGVyXCIgKm5nSWY9XCJmQ29ubmVjdGlvbkNlbnRlcnMubGVuZ3RoXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNlbnRlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxFQUNmLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FHOUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdEUsZ0hBQWdIO0FBQ2hILHdFQUF3RTtBQUN4RSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7OztBQUU3RixJQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7QUFnQnpCLE1BQU0sT0FBTyxvQkFDVCxTQUFRLGVBQWU7SUFnSXpCLFlBQ0ksZ0JBQXlDLEVB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QUksRUFBRTtnQkFJNUIsaUJBQWlCO3NCQURoQyxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJMUMsa0JBQWtCO3NCQUR4QixlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ09OTkVDVElPTl9HUkFESUVOVCxcbiAgQ09OTkVDVElPTl9QQVRILFxuICBDT05ORUNUSU9OX1RFWFQsXG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCxcbiAgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsXG4gIElDb25uZWN0aW9uR3JhZGllbnQsXG4gIElDb25uZWN0aW9uUGF0aCwgSUNvbm5lY3Rpb25UZXh0LFxufSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG4vL1RPRE86IE5lZWQgdG8gZGVhbCB3aXRoIGN5Y2xpYyBkZXBlbmRlbmNpZXMsIHNpbmNlIGluIHNvbWUgY2FzZXMgYW4gZXJyb3Igb2NjdXJzIHdoZW4gaW1wb3J0aW5nIHRoZW0gLi4vY29tbW9uXG4vLyBUeXBlRXJyb3I6IENsYXNzIGV4dGVuZHMgdmFsdWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcbi8vIGF0IGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC50czozNDoxMVxuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0LCBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY29ubmVjdGlvblwiLFxuICBleHBvcnRBczogJ2ZDb21wb25lbnQnLFxuICB0ZW1wbGF0ZVVybDogXCIuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFsgXCIuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdmSWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtY29ubmVjdGlvblwiLFxuICAgICdbY2xhc3MuZi1jb25uZWN0aW9uLXNlbGVjdGlvbi1kaXNhYmxlZF0nOiAnZlNlbGVjdGlvbkRpc2FibGVkJyxcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1yZWFzc2lnbi1kaXNhYmxlZF0nOiAnZkRyYWdnaW5nRGlzYWJsZWQnLFxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX0NPTk5FQ1RJT04sIHVzZUV4aXN0aW5nOiBGQ29ubmVjdGlvbkNvbXBvbmVudCB9IF0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBGQ29ubmVjdGlvbkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdmQ29ubmVjdGlvbklkJylcbiAgcHVibGljIG92ZXJyaWRlIGZJZDogc3RyaW5nID0gYGYtY29ubmVjdGlvbi0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIHByaXZhdGUgX2ZUZXh0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmVGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZlRleHQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZUZXh0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZlN0YXJ0Q29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZlN0YXJ0Q29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZTdGFydENvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmU3RhcnRDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mU3RhcnRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZFbmRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmRW5kQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZFbmRDb2xvciA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZkVuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZFbmRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2ZPdXRwdXRJZCE6IHN0cmluZztcbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmT3V0cHV0SWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2ZPdXRwdXRJZCA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk91dHB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPdXRwdXRJZDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZJbnB1dElkITogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZJbnB1dElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mSW5wdXRJZCA9IHZhbHVlO1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5jb21wb25lbnREYXRhQ2hhbmdlZCgpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZklucHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZklucHV0SWQ7XG4gIH1cblxuICBwcml2YXRlIF9mUmFkaXVzOiBudW1iZXIgPSA4O1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZSYWRpdXModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZSYWRpdXMgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZSYWRpdXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZlJhZGl1cztcbiAgfVxuXG4gIHByaXZhdGUgX2ZPZmZzZXQ6IG51bWJlciA9IDMyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZPZmZzZXQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2ZPZmZzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZPZmZzZXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZk9mZnNldDtcbiAgfVxuXG4gIHByaXZhdGUgX2JlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvciA9IEVGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVEO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZCZWhhdmlvcih2YWx1ZTogc3RyaW5nIHwgRUZDb25uZWN0aW9uQmVoYXZpb3IpIHtcbiAgICB0aGlzLl9iZWhhdmlvciA9IGNhc3RUb0VudW0odmFsdWUsICdmQmVoYXZpb3InLCBFRkNvbm5lY3Rpb25CZWhhdmlvcik7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmNvbXBvbmVudERhdGFDaGFuZ2VkKCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmQmVoYXZpb3IoKTogRUZDb25uZWN0aW9uQmVoYXZpb3Ige1xuICAgIHJldHVybiB0aGlzLl9iZWhhdmlvcjtcbiAgfVxuXG4gIHByaXZhdGUgX3R5cGU6IEVGQ29ubmVjdGlvblR5cGUgPSBFRkNvbm5lY3Rpb25UeXBlLlNUUkFJR0hUO1xuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZUeXBlKHZhbHVlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fdHlwZSA9IHZhbHVlIGFzIHVua25vd24gYXMgRUZDb25uZWN0aW9uVHlwZTsgLy9jYXN0VG9FbnVtKHZhbHVlLCAnZlR5cGUnLCBFRkNvbm5lY3Rpb25UeXBlKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuY29tcG9uZW50RGF0YUNoYW5nZWQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZUeXBlKCk6IEVGQ29ubmVjdGlvblR5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgQElucHV0KCdmUmVhc3NpZ25EaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdkZWZzJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZEZWZzITogRWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1BBVEgsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUGF0aCE6IElDb25uZWN0aW9uUGF0aDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fR1JBRElFTlQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JhZGllbnQhOiBJQ29ubmVjdGlvbkdyYWRpZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdIYW5kbGUhOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb24hOiBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKENPTk5FQ1RJT05fVEVYVCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0Q29tcG9uZW50ITogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZDb25uZWN0aW9uQ2VudGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbkNlbnRlciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHVibGljIGZDb25uZWN0aW9uQ2VudGVycyE6IFF1ZXJ5TGlzdDxGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZT47XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGguaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgZkNvbm5lY3Rpb25GYWN0b3J5OiBGQ29ubmVjdGlvbkZhY3RvcnksXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UsIGZDb25uZWN0aW9uRmFjdG9yeSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mTWVkaWF0b3Iuc2VuZChuZXcgQWRkQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZNZWRpYXRvci5zZW5kKG5ldyBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cbn1cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGU7IGRpc3BsYXk6IGJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1wiPlxuICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICA8bGluZWFyR3JhZGllbnQgZkNvbm5lY3Rpb25HcmFkaWVudD48L2xpbmVhckdyYWRpZW50PlxuICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICA8Zz5cbiAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgPC9nPlxuICAgIDx0ZXh0IGYtY29ubmVjdGlvbi10ZXh0PjwvdGV4dD5cbiAgPC9nPlxuPC9zdmc+XG48ZGl2ICNmQ29ubmVjdGlvbkNlbnRlciBjbGFzcz1cImYtY29ubmVjdGlvbi1jZW50ZXJcIiAqbmdJZj1cImZDb25uZWN0aW9uQ2VudGVycy5sZW5ndGhcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ2VudGVyXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -1,9 +1,9 @@
1
1
  export var EFConnectableSide;
2
2
  (function (EFConnectableSide) {
3
3
  EFConnectableSide["LEFT"] = "left";
4
- EFConnectableSide["RIGHT"] = "right";
5
4
  EFConnectableSide["TOP"] = "top";
5
+ EFConnectableSide["RIGHT"] = "right";
6
6
  EFConnectableSide["BOTTOM"] = "bottom";
7
7
  EFConnectableSide["AUTO"] = "auto";
8
8
  })(EFConnectableSide || (EFConnectableSide = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3RhYmxlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9lLWYtY29ubmVjdGFibGUtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFXWDtBQVhELFdBQVksaUJBQWlCO0lBRTNCLGtDQUFhLENBQUE7SUFFYixvQ0FBZSxDQUFBO0lBRWYsZ0NBQVcsQ0FBQTtJQUVYLHNDQUFpQixDQUFBO0lBRWpCLGtDQUFhLENBQUE7QUFDZixDQUFDLEVBWFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVGQ29ubmVjdGFibGVTaWRlIHtcblxuICBMRUZUID0gJ2xlZnQnLFxuXG4gIFJJR0hUID0gJ3JpZ2h0JyxcblxuICBUT1AgPSAndG9wJyxcblxuICBCT1RUT00gPSAnYm90dG9tJyxcblxuICBBVVRPID0gJ2F1dG8nLFxufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3RhYmxlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9lLWYtY29ubmVjdGFibGUtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFXWDtBQVhELFdBQVksaUJBQWlCO0lBRTNCLGtDQUFhLENBQUE7SUFFYixnQ0FBVyxDQUFBO0lBRVgsb0NBQWUsQ0FBQTtJQUVmLHNDQUFpQixDQUFBO0lBRWpCLGtDQUFhLENBQUE7QUFDZixDQUFDLEVBWFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVGQ29ubmVjdGFibGVTaWRlIHtcblxuICBMRUZUID0gJ2xlZnQnLFxuXG4gIFRPUCA9ICd0b3AnLFxuXG4gIFJJR0hUID0gJ3JpZ2h0JyxcblxuICBCT1RUT00gPSAnYm90dG9tJyxcblxuICBBVVRPID0gJ2F1dG8nLFxufVxuIl19
@@ -46,6 +46,7 @@ export class FNodeInputDirective extends FNodeInputBase {
46
46
  setConnected(isConnected) {
47
47
  this.isConnected = isConnected;
48
48
  this.hostElement.classList.toggle('f-node-input-connected', isConnected);
49
+ this.hostElement.classList.toggle('f-node-input-not-connectable', !this.canBeConnected);
49
50
  }
50
51
  ngOnDestroy() {
51
52
  this.fNode.removeConnector(this);
@@ -53,7 +54,7 @@ export class FNodeInputDirective extends FNodeInputBase {
53
54
  }
54
55
  }
55
56
  FNodeInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FNodeInputDirective, deps: [{ token: i0.ElementRef }, { token: F_NODE }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive });
56
- FNodeInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FNodeInputDirective, selector: "[fNodeInput]", inputs: { id: ["fInputId", "id"], multiple: ["fInputMultiple", "multiple"], disabled: ["fInputDisabled", "disabled"], _fSide: ["fInputConnectableSide", "_fSide"] }, host: { properties: { "attr.data-f-input-id": "id", "class.f-node-input-multiple": "multiple", "class.f-node-input-disabled": "disabled", "class.f-node-input-not-connectable": "!canBeConnected" }, classAttribute: "f-component f-node-input" }, providers: [{ provide: F_NODE_INPUT, useExisting: FNodeInputDirective }], exportAs: ["fNodeInput"], usesInheritance: true, ngImport: i0 });
57
+ FNodeInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FNodeInputDirective, selector: "[fNodeInput]", inputs: { id: ["fInputId", "id"], multiple: ["fInputMultiple", "multiple"], disabled: ["fInputDisabled", "disabled"], _fSide: ["fInputConnectableSide", "_fSide"] }, host: { properties: { "attr.data-f-input-id": "id", "class.f-node-input-multiple": "multiple", "class.f-node-input-disabled": "disabled" }, classAttribute: "f-component f-node-input" }, providers: [{ provide: F_NODE_INPUT, useExisting: FNodeInputDirective }], exportAs: ["fNodeInput"], usesInheritance: true, ngImport: i0 });
57
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FNodeInputDirective, decorators: [{
58
59
  type: Directive,
59
60
  args: [{
@@ -63,8 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
63
64
  '[attr.data-f-input-id]': 'id',
64
65
  class: "f-component f-node-input",
65
66
  '[class.f-node-input-multiple]': 'multiple',
66
- '[class.f-node-input-disabled]': 'disabled',
67
- '[class.f-node-input-not-connectable]': '!canBeConnected',
67
+ '[class.f-node-input-disabled]': 'disabled'
68
68
  },
69
69
  providers: [{ provide: F_NODE_INPUT, useExisting: FNodeInputDirective }],
70
70
  }]
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
84
84
  type: Input,
85
85
  args: ['fInputConnectableSide']
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2Ytbm9kZS1pbnB1dC9mLW5vZGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQWEsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWN6QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQXlDckQsWUFDVSxnQkFBeUMsRUFDekIsS0FBZ0IsRUFDaEMsZ0JBQWtDO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBSkEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QzVCLE9BQUUsR0FBUSxnQkFBaUIsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUd6QyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBZWpDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFZcEIsc0JBQWlCLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUU5RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVk3QyxDQUFDO0lBdkNELElBQ29CLFFBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFvQixRQUFRLENBQUMsVUFBd0M7UUFDbkUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFJRCxJQUNXLE1BQU0sQ0FBQyxLQUFpQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFNRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFVTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFZSxZQUFZLENBQUMsV0FBb0I7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RSxDQUFDOztpSEE5RFUsbUJBQW1CLDRDQTJDcEIsTUFBTTtxR0EzQ0wsbUJBQW1CLCtiQUZuQixDQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBRTs0RkFFL0QsbUJBQW1CO2tCQVovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsSUFBSSxFQUFFO3dCQUNKLHdCQUF3QixFQUFFLElBQUk7d0JBQzlCLEtBQUssRUFBRSwwQkFBMEI7d0JBQ2pDLCtCQUErQixFQUFFLFVBQVU7d0JBQzNDLCtCQUErQixFQUFFLFVBQVU7d0JBQzNDLHNDQUFzQyxFQUFFLGlCQUFpQjtxQkFDMUQ7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBRTtpQkFDM0U7OzBCQTRDSSxNQUFNOzJCQUFDLE1BQU07MkVBeENBLEVBQUU7c0JBRGpCLEtBQUs7dUJBQUMsVUFBVTtnQkFJRCxRQUFRO3NCQUR2QixLQUFLO3VCQUFDLGdCQUFnQjtnQkFJSCxRQUFRO3NCQUQzQixLQUFLO3VCQUFDLGdCQUFnQjtnQkFnQlosTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGX05PREVfSU5QVVQsIEZOb2RlSW5wdXRCYXNlIH0gZnJvbSAnLi9mLW5vZGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcbmltcG9ydCB7IEZOb2RlQmFzZSwgRl9OT0RFIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgY2FzdFRvQm9vbGVhbiwgY2FzdFRvRW51bSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbZk5vZGVJbnB1dF1cIixcbiAgZXhwb3J0QXM6ICdmTm9kZUlucHV0JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtaW5wdXQtaWRdJzogJ2lkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLW5vZGUtaW5wdXRcIixcbiAgICAnW2NsYXNzLmYtbm9kZS1pbnB1dC1tdWx0aXBsZV0nOiAnbXVsdGlwbGUnLFxuICAgICdbY2xhc3MuZi1ub2RlLWlucHV0LWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtaW5wdXQtbm90LWNvbm5lY3RhYmxlXSc6ICchY2FuQmVDb25uZWN0ZWQnLFxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX05PREVfSU5QVVQsIHVzZUV4aXN0aW5nOiBGTm9kZUlucHV0RGlyZWN0aXZlIH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVJbnB1dERpcmVjdGl2ZSBleHRlbmRzIEZOb2RlSW5wdXRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZklucHV0SWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgaWQ6IGFueSA9IGBmLW5vZGUtaW5wdXQtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZJbnB1dE11bHRpcGxlJylcbiAgcHVibGljIG92ZXJyaWRlIG11bHRpcGxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoJ2ZJbnB1dERpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldCBkaXNhYmxlZChpc0Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkIHwgc3RyaW5nKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjYXN0VG9Cb29sZWFuKGlzRGlzYWJsZWQpO1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2ZJbnB1dENvbm5lY3RhYmxlU2lkZScpXG4gIHB1YmxpYyBzZXQgX2ZTaWRlKHZhbHVlOiBFRkNvbm5lY3RhYmxlU2lkZSB8IHN0cmluZykge1xuICAgIHRoaXMuX2ZDb25uZWN0YWJsZVNpZGUgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZklucHV0Q29ubmVjdGFibGVTaWRlJywgRUZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuZk5vZGUucmVmcmVzaCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBfZlNpZGUoKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9mQ29ubmVjdGFibGVTaWRlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIF9mQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIG92ZXJyaWRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgQEluamVjdChGX05PREUpIHByaXZhdGUgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cywgdGhpcyk7XG4gICAgdGhpcy5mTm9kZS5hZGRDb25uZWN0b3IodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0Q29ubmVjdGVkKGlzQ29ubmVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGlzQ29ubmVjdGVkO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnZi1ub2RlLWlucHV0LWNvbm5lY3RlZCcsIGlzQ29ubmVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLnJlbW92ZUNvbm5lY3Rvcih0aGlzKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUucmVtb3ZlQ29tcG9uZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mSW5wdXRzLCB0aGlzKTtcbiAgfVxufVxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2Ytbm9kZS1pbnB1dC9mLW5vZGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQWEsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWF6QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQXlDckQsWUFDVSxnQkFBeUMsRUFDekIsS0FBZ0IsRUFDaEMsZ0JBQWtDO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBSkEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF6QzVCLE9BQUUsR0FBUSxnQkFBaUIsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUd6QyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBZWpDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFZcEIsc0JBQWlCLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUU5RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztJQVk3QyxDQUFDO0lBdkNELElBQ29CLFFBQVE7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFvQixRQUFRLENBQUMsVUFBd0M7UUFDbkUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFJRCxJQUNXLE1BQU0sQ0FBQyxLQUFpQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFNRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO0lBQzdDLENBQUM7SUFVTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFZSxZQUFZLENBQUMsV0FBb0I7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7aUhBL0RVLG1CQUFtQiw0Q0EyQ3BCLE1BQU07cUdBM0NMLG1CQUFtQixzWUFGbkIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUU7NEZBRS9ELG1CQUFtQjtrQkFYL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLElBQUksRUFBRTt3QkFDSix3QkFBd0IsRUFBRSxJQUFJO3dCQUM5QixLQUFLLEVBQUUsMEJBQTBCO3dCQUNqQywrQkFBK0IsRUFBRSxVQUFVO3dCQUMzQywrQkFBK0IsRUFBRSxVQUFVO3FCQUM1QztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxxQkFBcUIsRUFBRSxDQUFFO2lCQUMzRTs7MEJBNENJLE1BQU07MkJBQUMsTUFBTTsyRUF4Q0EsRUFBRTtzQkFEakIsS0FBSzt1QkFBQyxVQUFVO2dCQUlELFFBQVE7c0JBRHZCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUlILFFBQVE7c0JBRDNCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQWdCWixNQUFNO3NCQURoQixLQUFLO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfTk9ERV9JTlBVVCwgRk5vZGVJbnB1dEJhc2UgfSBmcm9tICcuL2Ytbm9kZS1pbnB1dC1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3RhYmxlLXNpZGUnO1xuaW1wb3J0IHsgRk5vZGVCYXNlLCBGX05PREUgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBjYXN0VG9Cb29sZWFuLCBjYXN0VG9FbnVtIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmTm9kZUlucHV0XVwiLFxuICBleHBvcnRBczogJ2ZOb2RlSW5wdXQnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtZi1pbnB1dC1pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtbm9kZS1pbnB1dFwiLFxuICAgICdbY2xhc3MuZi1ub2RlLWlucHV0LW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5mLW5vZGUtaW5wdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX05PREVfSU5QVVQsIHVzZUV4aXN0aW5nOiBGTm9kZUlucHV0RGlyZWN0aXZlIH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVJbnB1dERpcmVjdGl2ZSBleHRlbmRzIEZOb2RlSW5wdXRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgnZklucHV0SWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgaWQ6IGFueSA9IGBmLW5vZGUtaW5wdXQtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZJbnB1dE11bHRpcGxlJylcbiAgcHVibGljIG92ZXJyaWRlIG11bHRpcGxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoJ2ZJbnB1dERpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldCBkaXNhYmxlZChpc0Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkIHwgc3RyaW5nKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjYXN0VG9Cb29sZWFuKGlzRGlzYWJsZWQpO1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2ZJbnB1dENvbm5lY3RhYmxlU2lkZScpXG4gIHB1YmxpYyBzZXQgX2ZTaWRlKHZhbHVlOiBFRkNvbm5lY3RhYmxlU2lkZSB8IHN0cmluZykge1xuICAgIHRoaXMuX2ZDb25uZWN0YWJsZVNpZGUgPSBjYXN0VG9FbnVtKHZhbHVlLCAnZklucHV0Q29ubmVjdGFibGVTaWRlJywgRUZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuZk5vZGUucmVmcmVzaCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBfZlNpZGUoKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9mQ29ubmVjdGFibGVTaWRlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIF9mQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIG92ZXJyaWRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgQEluamVjdChGX05PREUpIHByaXZhdGUgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cywgdGhpcyk7XG4gICAgdGhpcy5mTm9kZS5hZGRDb25uZWN0b3IodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0Q29ubmVjdGVkKGlzQ29ubmVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGlzQ29ubmVjdGVkO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnZi1ub2RlLWlucHV0LWNvbm5lY3RlZCcsIGlzQ29ubmVjdGVkKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ2Ytbm9kZS1pbnB1dC1ub3QtY29ubmVjdGFibGUnLCAhdGhpcy5jYW5CZUNvbm5lY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZklucHV0cywgdGhpcyk7XG4gIH1cbn1cbiJdfQ==
@@ -50,6 +50,7 @@ export class FNodeOutputDirective extends FNodeOutputBase {
50
50
  setConnected(isConnected) {
51
51
  this.isConnected = isConnected;
52
52
  this.hostElement.classList.toggle('f-node-output-connected', isConnected);
53
+ this.hostElement.classList.toggle('f-node-output-not-connectable', !this.canBeConnected);
53
54
  }
54
55
  ngOnDestroy() {
55
56
  this.fNode.removeConnector(this);
@@ -57,7 +58,7 @@ export class FNodeOutputDirective extends FNodeOutputBase {
57
58
  }
58
59
  }
59
60
  FNodeOutputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FNodeOutputDirective, deps: [{ token: i0.ElementRef }, { token: F_NODE }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Directive });
60
- FNodeOutputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FNodeOutputDirective, selector: "[fNodeOutput]", inputs: { id: ["fOutputId", "id"], multiple: ["fOutputMultiple", "multiple"], disabled: ["fOutputDisabled", "disabled"], _fSide: ["fOutputConnectableSide", "_fSide"], isSelfConnectable: "isSelfConnectable" }, host: { properties: { "attr.data-f-output-id": "id", "class.f-node-output-multiple": "multiple", "class.f-node-output-disabled": "disabled", "class.f-node-output-not-connectable": "!canBeConnected", "class.f-node-output-self-connectable": "isSelfConnectable" }, classAttribute: "f-component f-node-output" }, providers: [{ provide: F_NODE_OUTPUT, useExisting: FNodeOutputDirective }], exportAs: ["fNodeOutput"], usesInheritance: true, ngImport: i0 });
61
+ FNodeOutputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FNodeOutputDirective, selector: "[fNodeOutput]", inputs: { id: ["fOutputId", "id"], multiple: ["fOutputMultiple", "multiple"], disabled: ["fOutputDisabled", "disabled"], _fSide: ["fOutputConnectableSide", "_fSide"], isSelfConnectable: "isSelfConnectable" }, host: { properties: { "attr.data-f-output-id": "id", "class.f-node-output-multiple": "multiple", "class.f-node-output-disabled": "disabled", "class.f-node-output-self-connectable": "isSelfConnectable" }, classAttribute: "f-component f-node-output" }, providers: [{ provide: F_NODE_OUTPUT, useExisting: FNodeOutputDirective }], exportAs: ["fNodeOutput"], usesInheritance: true, ngImport: i0 });
61
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FNodeOutputDirective, decorators: [{
62
63
  type: Directive,
63
64
  args: [{
@@ -68,7 +69,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
68
69
  class: "f-component f-node-output",
69
70
  '[class.f-node-output-multiple]': 'multiple',
70
71
  '[class.f-node-output-disabled]': 'disabled',
71
- '[class.f-node-output-not-connectable]': '!canBeConnected',
72
72
  '[class.f-node-output-self-connectable]': 'isSelfConnectable',
73
73
  },
74
74
  providers: [{ provide: F_NODE_OUTPUT, useExisting: FNodeOutputDirective }],
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
91
91
  }], isSelfConnectable: [{
92
92
  type: Input
93
93
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWV6QixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQTRDdkQsWUFDWSxnQkFBeUMsRUFDekIsS0FBZ0IsRUFDaEMsZ0JBQWtDO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSkUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUE1QzlCLE9BQUUsR0FBVyxpQkFBa0IsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUc3QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBZWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFZcEIsc0JBQWlCLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUU5RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixzQkFBaUIsR0FBWSxJQUFJLENBQUM7SUFZbEQsQ0FBQztJQTFDRCxJQUNvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBb0IsUUFBUSxDQUFDLFVBQXdDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBSUQsSUFDVyxNQUFNLENBQUMsS0FBaUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBU0QsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBVU0sUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1NBQy9EO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFZSxZQUFZLENBQUMsV0FBb0I7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RSxDQUFDOztrSEFwRVUsb0JBQW9CLDRDQThDbkIsTUFBTTtzR0E5Q1Asb0JBQW9CLDhpQkFGcEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUU7NEZBRWpFLG9CQUFvQjtrQkFiaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLElBQUksRUFBRTt3QkFDSix5QkFBeUIsRUFBRSxJQUFJO3dCQUMvQixLQUFLLEVBQUUsMkJBQTJCO3dCQUNsQyxnQ0FBZ0MsRUFBRSxVQUFVO3dCQUM1QyxnQ0FBZ0MsRUFBRSxVQUFVO3dCQUM1Qyx1Q0FBdUMsRUFBRSxpQkFBaUI7d0JBQzFELHdDQUF3QyxFQUFFLG1CQUFtQjtxQkFDOUQ7b0JBQ0QsU0FBUyxFQUFFLENBQUUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRTtpQkFDN0U7OzBCQStDTSxNQUFNOzJCQUFDLE1BQU07MkVBM0NGLEVBQUU7c0JBRGpCLEtBQUs7dUJBQUMsV0FBVztnQkFJRixRQUFRO3NCQUR2QixLQUFLO3VCQUFDLGlCQUFpQjtnQkFJSixRQUFRO3NCQUQzQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFnQmIsTUFBTTtzQkFEaEIsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBZWYsaUJBQWlCO3NCQURoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk5vZGVPdXRwdXRCYXNlLCBGX05PREVfT1VUUFVUIH0gZnJvbSAnLi9mLW5vZGUtb3V0cHV0LWJhc2UnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi9lLWYtY29ubmVjdGFibGUtc2lkZSc7XG5pbXBvcnQgeyBGX05PREUsIEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGNhc3RUb0Jvb2xlYW4sIGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2ZOb2RlT3V0cHV0XVwiLFxuICBleHBvcnRBczogJ2ZOb2RlT3V0cHV0JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtb3V0cHV0LWlkXSc6ICdpZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1ub2RlLW91dHB1dFwiLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1tdWx0aXBsZV0nOiAnbXVsdGlwbGUnLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1ub3QtY29ubmVjdGFibGVdJzogJyFjYW5CZUNvbm5lY3RlZCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LXNlbGYtY29ubmVjdGFibGVdJzogJ2lzU2VsZkNvbm5lY3RhYmxlJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9OT0RFX09VVFBVVCwgdXNlRXhpc3Rpbmc6IEZOb2RlT3V0cHV0RGlyZWN0aXZlIH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVPdXRwdXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZU91dHB1dEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdmT3V0cHV0SWQnKVxuICBwdWJsaWMgb3ZlcnJpZGUgaWQ6IHN0cmluZyA9IGBmLW5vZGUtb3V0cHV0LSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KCdmT3V0cHV0TXVsdGlwbGUnKVxuICBwdWJsaWMgb3ZlcnJpZGUgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2ZPdXRwdXREaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQoaXNEaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gY2FzdFRvQm9vbGVhbihpc0Rpc2FibGVkKTtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdmT3V0cHV0Q29ubmVjdGFibGVTaWRlJylcbiAgcHVibGljIHNldCBfZlNpZGUodmFsdWU6IEVGQ29ubmVjdGFibGVTaWRlIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fZkNvbm5lY3RhYmxlU2lkZSA9IGNhc3RUb0VudW0odmFsdWUsICdmT3V0cHV0Q29ubmVjdGFibGVTaWRlJywgRUZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuZk5vZGUucmVmcmVzaCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBfZlNpZGUoKTogRUZDb25uZWN0YWJsZVNpZGUge1xuICAgIHJldHVybiB0aGlzLl9mQ29ubmVjdGFibGVTaWRlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIF9mQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIG92ZXJyaWRlIGlzQ29ubmVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlzU2VsZkNvbm5lY3RhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgQEluamVjdChGX05PREUpIHByaXZhdGUgZk5vZGU6IEZOb2RlQmFzZSxcbiAgICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZk5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZk5vZGVPdXRwdXQgbXVzdCBiZSBpbnNpZGUgZk5vZGUgRGlyZWN0aXZlJyk7XG4gICAgfVxuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb21wb25lbnQodGhpcy5mQ29tcG9uZW50c1N0b3JlLmZPdXRwdXRzLCB0aGlzKTtcbiAgICB0aGlzLmZOb2RlLmFkZENvbm5lY3Rvcih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRDb25uZWN0ZWQoaXNDb25uZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29ubmVjdGVkID0gaXNDb25uZWN0ZWQ7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCdmLW5vZGUtb3V0cHV0LWNvbm5lY3RlZCcsIGlzQ29ubmVjdGVkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZOb2RlLnJlbW92ZUNvbm5lY3Rvcih0aGlzKTtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUucmVtb3ZlQ29tcG9uZW50KHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0cywgdGhpcyk7XG4gIH1cbn1cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFhLE1BQU0sY0FBYyxDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFELElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWN6QixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQTRDdkQsWUFDWSxnQkFBeUMsRUFDekIsS0FBZ0IsRUFDaEMsZ0JBQWtDO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSkUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF5QjtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUE1QzlCLE9BQUUsR0FBVyxpQkFBa0IsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUc3QyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBZWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFZcEIsc0JBQWlCLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztRQUU5RCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixzQkFBaUIsR0FBWSxJQUFJLENBQUM7SUFZbEQsQ0FBQztJQTFDRCxJQUNvQixRQUFRO1FBQzFCLE9BQU8sSUFBSSxD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T25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZOb2RlT3V0cHV0QmFzZSwgRl9OT0RFX09VVFBVVCB9IGZyb20gJy4vZi1ub2RlLW91dHB1dC1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3RhYmxlLXNpZGUnO1xuaW1wb3J0IHsgRl9OT0RFLCBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBjYXN0VG9Cb29sZWFuLCBjYXN0VG9FbnVtIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltmTm9kZU91dHB1dF1cIixcbiAgZXhwb3J0QXM6ICdmTm9kZU91dHB1dCcsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLW91dHB1dC1pZF0nOiAnaWQnLFxuICAgIGNsYXNzOiBcImYtY29tcG9uZW50IGYtbm9kZS1vdXRwdXRcIixcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtbXVsdGlwbGVdJzogJ211bHRpcGxlJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtc2VsZi1jb25uZWN0YWJsZV0nOiAnaXNTZWxmQ29ubmVjdGFibGUnLFxuICB9LFxuICBwcm92aWRlcnM6IFsgeyBwcm92aWRlOiBGX05PREVfT1VUUFVULCB1c2VFeGlzdGluZzogRk5vZGVPdXRwdXREaXJlY3RpdmUgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGTm9kZU91dHB1dERpcmVjdGl2ZSBleHRlbmRzIEZOb2RlT3V0cHV0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2ZPdXRwdXRJZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBpZDogc3RyaW5nID0gYGYtbm9kZS1vdXRwdXQtJHsgdW5pcXVlSWQrKyB9YDtcblxuICBASW5wdXQoJ2ZPdXRwdXRNdWx0aXBsZScpXG4gIHB1YmxpYyBvdmVycmlkZSBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZk91dHB1dERpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldCBkaXNhYmxlZChpc0Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkIHwgc3RyaW5nKSB7XG4gICAgY29uc3QgdmFsdWUgPSBjYXN0VG9Cb29sZWFuKGlzRGlzYWJsZWQpO1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoJ2ZPdXRwdXRDb25uZWN0YWJsZVNpZGUnKVxuICBwdWJsaWMgc2V0IF9mU2lkZSh2YWx1ZTogRUZDb25uZWN0YWJsZVNpZGUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9mQ29ubmVjdGFibGVTaWRlID0gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZPdXRwdXRDb25uZWN0YWJsZVNpZGUnLCBFRkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgdGhpcy5mTm9kZS5yZWZyZXNoKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IF9mU2lkZSgpOiBFRkNvbm5lY3RhYmxlU2lkZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb25uZWN0YWJsZVNpZGU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgX2ZDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwdWJsaWMgb3ZlcnJpZGUgaXNDb25uZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgaXNTZWxmQ29ubmVjdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfTk9ERSkgcHJpdmF0ZSBmTm9kZTogRk5vZGVCYXNlLFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5mTm9kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmTm9kZU91dHB1dCBtdXN0IGJlIGluc2lkZSBmTm9kZSBEaXJlY3RpdmUnKTtcbiAgICB9XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLmFkZENvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMsIHRoaXMpO1xuICAgIHRoaXMuZk5vZGUuYWRkQ29ubmVjdG9yKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldENvbm5lY3RlZChpc0Nvbm5lY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBpc0Nvbm5lY3RlZDtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ2Ytbm9kZS1vdXRwdXQtY29ubmVjdGVkJywgaXNDb25uZWN0ZWQpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgnZi1ub2RlLW91dHB1dC1ub3QtY29ubmVjdGFibGUnLCAhdGhpcy5jYW5CZUNvbm5lY3RlZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5mTm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5mQ29tcG9uZW50c1N0b3JlLnJlbW92ZUNvbXBvbmVudCh0aGlzLmZDb21wb25lbnRzU3RvcmUuZk91dHB1dHMsIHRoaXMpO1xuICB9XG59XG4iXX0=
@@ -31,7 +31,9 @@ export class CreateConnectionDragHandler {
31
31
  }
32
32
  move(difference) {
33
33
  this.drawTempConnection(this.toConnectorRect.addPoint(difference));
34
- this.drawSnapConnection(this.getClosetInput(difference));
34
+ if (this.fSnapConnection) {
35
+ this.drawSnapConnection(this.getClosetInput(difference));
36
+ }
35
37
  }
36
38
  drawTempConnection(fInputRect) {
37
39
  const line = this.fMediator.send(new GetConnectionLineRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, EFConnectableSide.TOP));
@@ -51,6 +53,9 @@ export class CreateConnectionDragHandler {
51
53
  }
52
54
  }
53
55
  getClosetInput(difference) {
56
+ if (!this.fSnapConnection) {
57
+ return undefined;
58
+ }
54
59
  return this.fMediator.send(new FindClosestInputUsingSnapThresholdRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs, this.fSnapConnection.fSnapThreshold));
55
60
  }
56
61
  complete() {
@@ -60,4 +65,4 @@ export class CreateConnectionDragHandler {
60
65
  (_a = this.fSnapConnection) === null || _a === void 0 ? void 0 : _a.hide();
61
66
  }
62
67
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUU1QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0IsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsV0FBVyxFQUFpQixlQUFlLEVBQUUsY0FBYyxFQUFFLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQztBQUdqRyxNQUFNLE9BQU8sMkJBQTJCO0lBZ0J0QyxZQUNVLFNBQW9CLEVBQ3BCLGdCQUFrQyxFQUNsQyxPQUF1QixFQUN2QixxQkFBNkI7UUFIN0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBUTtRQWxCL0Isb0JBQWUsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQVlqRCx5QkFBb0IsR0FBeUIsRUFBRSxDQUFDO0lBUXhELENBQUM7SUFsQkQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWdCLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVksZUFBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUEyQyxDQUFDO0lBQzNFLENBQUM7SUFjTSxVQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFl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Q0FBQztTQUNoQzthQUFNO1lBQ0wsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxJQUFJLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTSxjQUFjLENBQUMsVUFBa0I7UUFDdEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsSUFBSSx5Q0FBeUMsQ0FDM0MsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUNyRCxJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLElBQUksQ0FBQyxlQUFnQixDQUFDLGNBQWMsQ0FDckMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFFBQVE7O1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSURyYWdnYWJsZUl0ZW0gfSBmcm9tICcuLi8uLi9pLWRyYWdnYWJsZS1pdGVtJztcbmltcG9ydCB7XG4gIEZpbmRDbG9zZXN0SW5wdXRVc2luZ1NuYXBUaHJlc2hvbGRSZXF1ZXN0LFxuICBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0UG9zaXRpb25zUmVxdWVzdCxcbiAgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0LFxuICBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QsXG4gIElDb25uZWN0b3JXaXRoUmVjdFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUsIEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgUm91bmRlZFJlY3QsIElMaW5lLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUmVjdEV4dGVuc2lvbnMsIFBvaW50LCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRHJhZ2dhYmxlSXRlbSB7XG5cbiAgcHJpdmF0ZSB0b0Nvbm5lY3RvclJlY3Q6IFJvdW5kZWRSZWN0ID0gbmV3IFJvdW5kZWRSZWN0KCk7XG5cbiAgcHVibGljIGdldCBmQ29ubmVjdGlvbigpOiBGQ29ubmVjdGlvbkJhc2Uge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZlRlbXBDb25uZWN0aW9uITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZTbmFwQ29ubmVjdGlvbigpOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZDb21wb25lbnRzU3RvcmUuZlNuYXBDb25uZWN0aW9uIGFzIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgZk91dHB1dFdpdGhSZWN0ITogSUNvbm5lY3RvcldpdGhSZWN0O1xuXG4gIHByaXZhdGUgY2FuQmVDb25uZWN0ZWRJbnB1dHM6IElDb25uZWN0b3JXaXRoUmVjdFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmTWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmUsXG4gICAgcHJpdmF0ZSBmT3V0cHV0OiBGQ29ubmVjdG9yQmFzZSxcbiAgICBwcml2YXRlIG9uUG9pbnRlckRvd25Qb3NpdGlvbjogSVBvaW50LFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24uZk91dHB1dElkID0gdGhpcy5mT3V0cHV0LmlkO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICAgICAgdGhpcy5jYW5CZUNvbm5lY3RlZElucHV0cyA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0W10+KFxuICAgICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dFBvc2l0aW9uc1JlcXVlc3QodGhpcy5mT3V0cHV0LmlkKVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQgPSB0aGlzLmZPdXRwdXQuaWQ7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG5cblxuICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yV2l0aFJlY3Q+KG5ldyBHZXRDb25uZWN0b3JXaXRoUmVjdFJlcXVlc3QodGhpcy5mT3V0cHV0KSk7XG5cbiAgICB0aGlzLnRvQ29ubmVjdG9yUmVjdCA9IFJvdW5kZWRSZWN0LmZyb21SZWN0KFxuICAgICAgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbi54LCB0aGlzLm9uUG9pbnRlckRvd25Qb3NpdGlvbi55KVxuICAgICk7XG5cbiAgICB0aGlzLmZDb25uZWN0aW9uLnNob3coKTtcbiAgICB0aGlzLm1vdmUoUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk7XG4gIH1cblxuICBwdWJsaWMgbW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRyYXdUZW1wQ29ubmVjdGlvbih0aGlzLnRvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSk7XG4gICAgdGhpcy5kcmF3U25hcENvbm5lY3Rpb24odGhpcy5nZXRDbG9zZXRJbnB1dChkaWZmZXJlbmNlKSk7XG4gIH1cblxuICBwcml2YXRlIGRyYXdUZW1wQ29ubmVjdGlvbihmSW5wdXRSZWN0OiBSb3VuZGVkUmVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgICAgZklucHV0UmVjdCxcbiAgICAgICAgdGhpcy5mQ29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgRUZDb25uZWN0YWJsZVNpZGUuVE9QLFxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmZDb25uZWN0aW9uLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgbGluZS5wb2ludDIsIEVGQ29ubmVjdGFibGVTaWRlLlRPUCk7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhd1NuYXBDb25uZWN0aW9uKGZJbnB1dFdpdGhSZWN0OiBJQ29ubmVjdG9yV2l0aFJlY3QgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoZklucHV0V2l0aFJlY3QpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElMaW5lPihuZXcgR2V0Q29ubmVjdGlvbkxpbmVSZXF1ZXN0KFxuICAgICAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICAgIGZJbnB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uIS5mQmVoYXZpb3IsXG4gICAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICAgIGZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZVxuICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLnNob3coKTtcbiAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uIS5zZXRMaW5lKGxpbmUucG9pbnQxLCB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIGxpbmUucG9pbnQyLCBmSW5wdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDbG9zZXRJbnB1dChkaWZmZXJlbmNlOiBJUG9pbnQpOiBJQ29ubmVjdG9yV2l0aFJlY3QgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPElDb25uZWN0b3JXaXRoUmVjdCB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgRmluZENsb3Nlc3RJbnB1dFVzaW5nU25hcFRocmVzaG9sZFJlcXVlc3QoXG4gICAgICAgIFBvaW50LmZyb21Qb2ludCh0aGlzLnRvQ29ubmVjdG9yUmVjdCkuYWRkKGRpZmZlcmVuY2UpLFxuICAgICAgICB0aGlzLmNhbkJlQ29ubmVjdGVkSW5wdXRzLFxuICAgICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEuZlNuYXBUaHJlc2hvbGRcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgdGhpcy5mU25hcENvbm5lY3Rpb24/LmhpZGUoKTtcbiAgfVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9jb25uZWN0aW9ucy9jcmVhdGUtY29ubmVjdGlvbi9jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUU1QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxpQkFBaUIsRUFBa0IsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsV0FBVyxFQUFpQixlQUFlLEVBQUUsY0FBYyxFQUFFLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQztBQUdqRyxNQUFNLE9BQU8sMkJBQTJCO0lBZ0J0QyxZQUNVLFNBQW9CLEVBQ3BCLGdCQUFrQyxFQUNsQyxPQUF1QixFQUN2QixxQkFBNkI7UUFIN0IsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBUTtRQWxCL0Isb0JBQWUsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQVlqRCx5QkFBb0IsR0FBeUIsRUFBRSxDQUFDO0lBUXhELENBQUM7SUFsQkQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWdCLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVksZUFBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUEyQyxDQUFDO0lBQzNFLENBQUM7SUFjTSxVQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFl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QUN0SixJQUFJLENBQUMsZUFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNoQzthQUFNO1lBQ0wsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxJQUFJLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTSxjQUFjLENBQUMsVUFBa0I7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixJQUFJLHlDQUF5QyxDQUMzQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQ3JELElBQUksQ0FBQyxvQkFBb0IsRUFDekIsSUFBSSxDQUFDLGVBQWdCLENBQUMsY0FBYyxDQUNyQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUTs7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRHJhZ2dhYmxlSXRlbSB9IGZyb20gJy4uLy4uL2ktZHJhZ2dhYmxlLWl0ZW0nO1xuaW1wb3J0IHtcbiAgRmluZENsb3Nlc3RJbnB1dFVzaW5nU25hcFRocmVzaG9sZFJlcXVlc3QsXG4gIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRQb3NpdGlvbnNSZXF1ZXN0LFxuICBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QsXG4gIEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCxcbiAgSUNvbm5lY3RvcldpdGhSZWN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSwgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBSb3VuZGVkUmVjdCwgSUxpbmUsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSZWN0RXh0ZW5zaW9ucywgUG9pbnQsIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIENyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlciBpbXBsZW1lbnRzIElEcmFnZ2FibGVJdGVtIHtcblxuICBwcml2YXRlIHRvQ29ubmVjdG9yUmVjdDogUm91bmRlZFJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcblxuICBwdWJsaWMgZ2V0IGZDb25uZWN0aW9uKCk6IEZDb25uZWN0aW9uQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mVGVtcENvbm5lY3Rpb24hO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZlNuYXBDb25uZWN0aW9uKCk6IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5mU25hcENvbm5lY3Rpb24gYXMgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBmT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yV2l0aFJlY3Q7XG5cbiAgcHJpdmF0ZSBjYW5CZUNvbm5lY3RlZElucHV0czogSUNvbm5lY3RvcldpdGhSZWN0W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgZkNvbXBvbmVudHNTdG9yZTogRkNvbXBvbmVudHNTdG9yZSxcbiAgICBwcml2YXRlIGZPdXRwdXQ6IEZDb25uZWN0b3JCYXNlLFxuICAgIHByaXZhdGUgb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQgPSB0aGlzLmZPdXRwdXQuaWQ7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gICAgICB0aGlzLmNhbkJlQ29ubmVjdGVkSW5wdXRzID0gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJQ29ubmVjdG9yV2l0aFJlY3RbXT4oXG4gICAgICAgIG5ldyBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0UG9zaXRpb25zUmVxdWVzdCh0aGlzLmZPdXRwdXQuaWQpXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmZDb25uZWN0aW9uLmZPdXRwdXRJZCA9IHRoaXMuZk91dHB1dC5pZDtcbiAgICB0aGlzLmZDb25uZWN0aW9uLmluaXRpYWxpemUoKTtcblxuXG4gICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QgPSB0aGlzLmZNZWRpYXRvci5zZW5kPElDb25uZWN0b3JXaXRoUmVjdD4obmV3IEdldENvbm5lY3RvcldpdGhSZWN0UmVxdWVzdCh0aGlzLmZPdXRwdXQpKTtcblxuICAgIHRoaXMudG9Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJlY3QoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uLngsIHRoaXMub25Qb2ludGVyRG93blBvc2l0aW9uLnkpXG4gICAgKTtcblxuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2hvdygpO1xuICAgIHRoaXMubW92ZShQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBtb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd1RlbXBDb25uZWN0aW9uKHRoaXMudG9Db25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpKTtcbiAgICBpZiAodGhpcy5mU25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuZHJhd1NuYXBDb25uZWN0aW9uKHRoaXMuZ2V0Q2xvc2V0SW5wdXQoZGlmZmVyZW5jZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZHJhd1RlbXBDb25uZWN0aW9uKGZJbnB1dFJlY3Q6IFJvdW5kZWRSZWN0KTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUxpbmU+KG5ldyBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QoXG4gICAgICAgIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICBmSW5wdXRSZWN0LFxuICAgICAgICB0aGlzLmZDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBFRkNvbm5lY3RhYmxlU2lkZS5UT1AsXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2V0TGluZShsaW5lLnBvaW50MSwgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBsaW5lLnBvaW50MiwgRUZDb25uZWN0YWJsZVNpZGUuVE9QKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3U25hcENvbm5lY3Rpb24oZklucHV0V2l0aFJlY3Q6IElDb25uZWN0b3JXaXRoUmVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmSW5wdXRXaXRoUmVjdCkge1xuICAgICAgY29uc3QgbGluZSA9IHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUxpbmU+KG5ldyBHZXRDb25uZWN0aW9uTGluZVJlcXVlc3QoXG4gICAgICAgICAgdGhpcy5mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgICAgZklucHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLmZCZWhhdmlvcixcbiAgICAgICAgICB0aGlzLmZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgICAgZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEuc2hvdygpO1xuICAgICAgdGhpcy5mU25hcENvbm5lY3Rpb24hLnNldExpbmUobGluZS5wb2ludDEsIHRoaXMuZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgbGluZS5wb2ludDIsIGZJbnB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbiEucmVkcmF3KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldENsb3NldElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDb25uZWN0b3JXaXRoUmVjdCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SUNvbm5lY3RvcldpdGhSZWN0IHwgdW5kZWZpbmVkPihcbiAgICAgIG5ldyBGaW5kQ2xvc2VzdElucHV0VXNpbmdTbmFwVGhyZXNob2xkUmVxdWVzdChcbiAgICAgICAgUG9pbnQuZnJvbVBvaW50KHRoaXMudG9Db25uZWN0b3JSZWN0KS5hZGQoZGlmZmVyZW5jZSksXG4gICAgICAgIHRoaXMuY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICAgIHRoaXMuZlNuYXBDb25uZWN0aW9uIS5mU25hcFRocmVzaG9sZFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLmhpZGUoKTtcbiAgICB0aGlzLmZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuICB9XG59XG4iXX0=