UNPKG

@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.

41 lines 6.15 kB
import { __decorate } from "tslib"; import { GetCurrentSelectionRequest } from './get-current-selection.request'; import { inject, Injectable } from '@angular/core'; import { FExecutionRegister } from '@foblex/mediator'; import { FDraggableDataContext } from '../../../f-draggable'; import * as i0 from "@angular/core"; let GetCurrentSelectionExecution = class GetCurrentSelectionExecution { _fDraggableDataContext = inject(FDraggableDataContext); handle() { return { fNodeIds: this._getSelectedNodes(), fGroupIds: this._getSelectedGroups(), fConnectionIds: this._getSelectedConnections() }; } _getSelectedNodes() { return this._fDraggableDataContext.selectedItems .filter(x => x.hostElement.classList.contains('f-node')) .map(x => x.hostElement.dataset['fNodeId']); } _getSelectedGroups() { return this._fDraggableDataContext.selectedItems .filter(x => x.hostElement.classList.contains('f-group')) .map(x => x.hostElement.dataset['fGroupId']); } _getSelectedConnections() { return this._fDraggableDataContext.selectedItems .filter(x => !x.hostElement.classList.contains('f-node') && !x.hostElement.classList.contains('f-group')) .map(x => x.hostElement.id); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCurrentSelectionExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCurrentSelectionExecution }); }; GetCurrentSelectionExecution = __decorate([ FExecutionRegister(GetCurrentSelectionRequest) ], GetCurrentSelectionExecution); export { GetCurrentSelectionExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetCurrentSelectionExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWN1cnJlbnQtc2VsZWN0aW9uLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytc2VsZWN0aW9uL2dldC1jdXJyZW50LXNlbGVjdGlvbi9nZXQtY3VycmVudC1zZWxlY3Rpb24uZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFLdEQsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFBNEI7SUFFL0Isc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFeEQsTUFBTTtRQUNYLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ2xDLFNBQVMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDcEMsY0FBYyxFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtTQUMvQyxDQUFBO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhO2FBQzdDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN2RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBRSxTQUFTLENBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYTthQUM3QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUUsVUFBVSxDQUFHLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWE7YUFDN0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxDQUFDO3dHQTVCVSw0QkFBNEI7NEdBQTVCLDRCQUE0Qjs7QUFBNUIsNEJBQTRCO0lBRHhDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDO0dBQ2xDLDRCQUE0QixDQTZCeEM7OzRGQTdCWSw0QkFBNEI7a0JBRnhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZXRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdCB9IGZyb20gJy4vZ2V0LWN1cnJlbnQtc2VsZWN0aW9uLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlJztcbmltcG9ydCB7IElDdXJyZW50U2VsZWN0aW9uIH0gZnJvbSAnLi9pLWN1cnJlbnQtc2VsZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRDdXJyZW50U2VsZWN0aW9uRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdCwgSUN1cnJlbnRTZWxlY3Rpb24+IHtcblxuICBwcml2YXRlIF9mRHJhZ2dhYmxlRGF0YUNvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcblxuICBwdWJsaWMgaGFuZGxlKCk6IElDdXJyZW50U2VsZWN0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgZk5vZGVJZHM6IHRoaXMuX2dldFNlbGVjdGVkTm9kZXMoKSxcbiAgICAgIGZHcm91cElkczogdGhpcy5fZ2V0U2VsZWN0ZWRHcm91cHMoKSxcbiAgICAgIGZDb25uZWN0aW9uSWRzOiB0aGlzLl9nZXRTZWxlY3RlZENvbm5lY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRTZWxlY3RlZE5vZGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LnNlbGVjdGVkSXRlbXNcbiAgICAgIC5maWx0ZXIoeCA9PiB4Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZi1ub2RlJykpXG4gICAgICAubWFwKHggPT4geC5ob3N0RWxlbWVudC5kYXRhc2V0WyAnZk5vZGVJZCcgXSEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U2VsZWN0ZWRHcm91cHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLmZpbHRlcih4ID0+IHguaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmLWdyb3VwJykpXG4gICAgICAubWFwKHggPT4geC5ob3N0RWxlbWVudC5kYXRhc2V0WyAnZkdyb3VwSWQnIF0hKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFNlbGVjdGVkQ29ubmVjdGlvbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtc1xuICAgICAgLmZpbHRlcih4ID0+ICF4Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZi1ub2RlJykgJiYgIXguaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmLWdyb3VwJykpXG4gICAgICAubWFwKHggPT4geC5ob3N0RWxlbWVudC5pZCk7XG4gIH1cbn1cbiJdfQ==