@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
JavaScript
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==