@foblex/flow
Version:
An Angular library designed to simplify the creation and manipulation of dynamic flow. Provides components for flows, nodes, and connections, automating node manipulation and inter-node connections.
31 lines • 4.87 kB
JavaScript
import { __decorate } from "tslib";
import { inject, Injectable } from '@angular/core';
import { FExecutionRegister } from '@foblex/mediator';
import { CalculateOutputConnectionsRequest } from './calculate-output-connections-request';
import { FComponentsStore } from '../../../f-storage';
import * as i0 from "@angular/core";
let CalculateOutputConnectionsExecution = class CalculateOutputConnectionsExecution {
_fComponentsStore = inject(FComponentsStore);
handle(request) {
return this._calculateConnections(new Set(this._calculateConnectors(request.fNode)));
}
_calculateConnectors(fNode) {
return this._fComponentsStore.fOutputs
.filter((x) => fNode.isContains(x.hostElement))
.map((x) => x.fId);
}
_calculateConnections(ids) {
return this._fComponentsStore.fConnections
.filter((x) => ids.has(x.fOutputId));
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateOutputConnectionsExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateOutputConnectionsExecution });
};
CalculateOutputConnectionsExecution = __decorate([
FExecutionRegister(CalculateOutputConnectionsRequest)
], CalculateOutputConnectionsExecution);
export { CalculateOutputConnectionsExecution };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateOutputConnectionsExecution, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW91dHB1dC1jb25uZWN0aW9ucy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvY2FsY3VsYXRlLW91dHB1dC1jb25uZWN0aW9ucy9jYWxjdWxhdGUtb3V0cHV0LWNvbm5lY3Rpb25zLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTS9DLElBQU0sbUNBQW1DLEdBQXpDLE1BQU0sbUNBQW1DO0lBRTdCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXZELE1BQU0sQ0FBQyxPQUEwQztRQUN0RCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FDL0IsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBQWdCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVE7YUFDbkMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM5QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8scUJBQXFCLENBQUMsR0FBZ0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWTthQUN2QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQzt3R0FuQlUsbUNBQW1DOzRHQUFuQyxtQ0FBbUM7O0FBQW5DLG1DQUFtQztJQUQvQyxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQztHQUN6QyxtQ0FBbUMsQ0FvQi9DOzs0RkFwQlksbUNBQW1DO2tCQUYvQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IENhbGN1bGF0ZU91dHB1dENvbm5lY3Rpb25zUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLW91dHB1dC1jb25uZWN0aW9ucy1yZXF1ZXN0JztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoQ2FsY3VsYXRlT3V0cHV0Q29ubmVjdGlvbnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZU91dHB1dENvbm5lY3Rpb25zRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxDYWxjdWxhdGVPdXRwdXRDb25uZWN0aW9uc1JlcXVlc3QsIEZDb25uZWN0aW9uQmFzZVtdPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IENhbGN1bGF0ZU91dHB1dENvbm5lY3Rpb25zUmVxdWVzdCk6IEZDb25uZWN0aW9uQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsY3VsYXRlQ29ubmVjdGlvbnMoXG4gICAgICBuZXcgU2V0KHRoaXMuX2NhbGN1bGF0ZUNvbm5lY3RvcnMocmVxdWVzdC5mTm9kZSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUNvbm5lY3RvcnMoZk5vZGU6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mT3V0cHV0c1xuICAgICAgLmZpbHRlcigoeCkgPT4gZk5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSlcbiAgICAgIC5tYXAoKHgpID0+IHguZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUNvbm5lY3Rpb25zKGlkczogU2V0PHN0cmluZz4pOiBGQ29ubmVjdGlvbkJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNvbm5lY3Rpb25zXG4gICAgICAuZmlsdGVyKCh4KSA9PiBpZHMuaGFzKHguZk91dHB1dElkKSk7XG4gIH1cbn1cbiJdfQ==