@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.
36 lines • 5.84 kB
JavaScript
import { __decorate } from "tslib";
import { GetFlowStateRequest } from './get-flow-state.request';
import { inject, Injectable } from '@angular/core';
import { FExecutionRegister, FMediator } from '@foblex/mediator';
import { FComponentsStore } from '../../../f-storage';
import { FGroupDirective, FNodeDirective } from '../../../f-node';
import { PointExtensions } from '@foblex/2d';
import { GetFlowStateNodesRequest } from './get-flow-state-nodes';
import { GetFlowStateConnectionsRequest } from './get-flow-state-connections';
import * as i0 from "@angular/core";
let GetFlowStateExecution = class GetFlowStateExecution {
_fMediator = inject(FMediator);
_fComponentsStore = inject(FComponentsStore);
handle(payload) {
return {
position: this._getCanvasPosition(this._fComponentsStore.fCanvas.transform),
scale: this._fComponentsStore.fCanvas.transform.scale,
nodes: this._fMediator.execute(new GetFlowStateNodesRequest(FNodeDirective)),
groups: this._fMediator.execute(new GetFlowStateNodesRequest(FGroupDirective)),
connections: this._fMediator.execute(new GetFlowStateConnectionsRequest())
};
}
_getCanvasPosition(transform) {
return PointExtensions.sum(transform.position, transform.scaledPosition);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetFlowStateExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetFlowStateExecution });
};
GetFlowStateExecution = __decorate([
FExecutionRegister(GetFlowStateRequest)
], GetFlowStateExecution);
export { GetFlowStateExecution };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetFlowStateExecution, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZsb3ctc3RhdGUuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1mbG93L2dldC1mbG93LXN0YXRlL2dldC1mbG93LXN0YXRlLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBRTdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBSXZFLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXFCO0lBRXhCLFVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQTRCO1FBQ3hDLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO1lBQzVFLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLO1lBQ3RELEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzlFLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLDhCQUE4QixFQUFFLENBQUM7U0FDM0UsQ0FBQTtJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxTQUEwQjtRQUNuRCxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDM0UsQ0FBQzt3R0FqQlUscUJBQXFCOzRHQUFyQixxQkFBcUI7O0FBQXJCLHFCQUFxQjtJQURqQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztHQUMzQixxQkFBcUIsQ0FrQmpDOzs0RkFsQlkscUJBQXFCO2tCQUZqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0Rmxvd1N0YXRlUmVxdWVzdCB9IGZyb20gJy4vZ2V0LWZsb3ctc3RhdGUucmVxdWVzdCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBJRkZsb3dTdGF0ZSB9IGZyb20gJy4vaS1mLWZsb3ctc3RhdGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGR3JvdXBEaXJlY3RpdmUsIEZOb2RlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IElQb2ludCwgSVRyYW5zZm9ybU1vZGVsLCBQb2ludEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEdldEZsb3dTdGF0ZU5vZGVzUmVxdWVzdCB9IGZyb20gJy4vZ2V0LWZsb3ctc3RhdGUtbm9kZXMnO1xuaW1wb3J0IHsgR2V0Rmxvd1N0YXRlQ29ubmVjdGlvbnNSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtZmxvdy1zdGF0ZS1jb25uZWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Rmxvd1N0YXRlUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRGbG93U3RhdGVFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldEZsb3dTdGF0ZVJlcXVlc3QsIElGRmxvd1N0YXRlPiB7XG5cbiAgcHJpdmF0ZSBfZk1lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgX2ZDb21wb25lbnRzU3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHVibGljIGhhbmRsZShwYXlsb2FkOiBHZXRGbG93U3RhdGVSZXF1ZXN0KTogSUZGbG93U3RhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogdGhpcy5fZ2V0Q2FudmFzUG9zaXRpb24odGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm0pLFxuICAgICAgc2NhbGU6IHRoaXMuX2ZDb21wb25lbnRzU3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtLnNjYWxlLFxuICAgICAgbm9kZXM6IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBHZXRGbG93U3RhdGVOb2Rlc1JlcXVlc3QoRk5vZGVEaXJlY3RpdmUpKSxcbiAgICAgIGdyb3VwczogdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEdldEZsb3dTdGF0ZU5vZGVzUmVxdWVzdChGR3JvdXBEaXJlY3RpdmUpKSxcbiAgICAgIGNvbm5lY3Rpb25zOiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgR2V0Rmxvd1N0YXRlQ29ubmVjdGlvbnNSZXF1ZXN0KCkpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2FudmFzUG9zaXRpb24odHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwpOiBJUG9pbnQge1xuICAgIHJldHVybiBQb2ludEV4dGVuc2lvbnMuc3VtKHRyYW5zZm9ybS5wb3NpdGlvbiwgdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKTtcbiAgfVxufVxuXG5cblxuIl19