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.28 kB
import { __decorate } from "tslib"; import { FExternalItemCreatePlaceholderRequest } from './f-external-item-create-placeholder.request'; import { FExecutionRegister } from '@foblex/mediator'; import { inject, Injectable, ViewContainerRef } from '@angular/core'; import { deepCloneNode, getOrCreateRootNodeForViewRef } from '@foblex/utils'; import { BrowserService } from '@foblex/platform'; import * as i0 from "@angular/core"; let FExternalItemCreatePlaceholderExecution = class FExternalItemCreatePlaceholderExecution { _fBrowser = inject(BrowserService); _containerRef = inject(ViewContainerRef); handle(request) { const { hostElement, fPlaceholder } = request.fExternalItem; const result = fPlaceholder ? this._fromTemplate(fPlaceholder) : this._fromHost(hostElement); result.classList.add('f-external-item-placeholder'); result.style.pointerEvents = 'none'; return result; } _fromTemplate(template) { return getOrCreateRootNodeForViewRef(this._createViewRef(template), this._fBrowser.document); } _fromHost(element) { return deepCloneNode(element); } _createViewRef(template) { const result = this._containerRef.createEmbeddedView(template); result.detectChanges(); return result; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FExternalItemCreatePlaceholderExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FExternalItemCreatePlaceholderExecution }); }; FExternalItemCreatePlaceholderExecution = __decorate([ FExecutionRegister(FExternalItemCreatePlaceholderRequest) ], FExternalItemCreatePlaceholderExecution); export { FExternalItemCreatePlaceholderExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FExternalItemCreatePlaceholderExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLWNyZWF0ZS1wbGFjZWhvbGRlci5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZXh0ZXJuYWwtaXRlbS9kb21haW4vY3JlYXRlLXBsYWNlaG9sZGVyL2YtZXh0ZXJuYWwtaXRlbS1jcmVhdGUtcGxhY2Vob2xkZXIuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxVQUFVLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGFBQWEsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBSTNDLElBQU0sdUNBQXVDLEdBQTdDLE1BQU0sdUNBQXVDO0lBR2pDLFNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sQ0FBQyxPQUE4QztRQUMxRCxNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFFNUQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBMEIsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDcEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBRXBDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBMEI7UUFDOUMsT0FBTyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxPQUFvQjtRQUNwQyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU8sY0FBYyxDQUFDLFFBQTBCO1FBQy9DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0QsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBL0JVLHVDQUF1Qzs0R0FBdkMsdUNBQXVDOztBQUF2Qyx1Q0FBdUM7SUFEbkQsa0JBQWtCLENBQUMscUNBQXFDLENBQUM7R0FDN0MsdUNBQXVDLENBZ0NuRDs7NEZBaENZLHVDQUF1QztrQkFGbkQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZFeHRlcm5hbEl0ZW1DcmVhdGVQbGFjZWhvbGRlclJlcXVlc3QgfSBmcm9tICcuL2YtZXh0ZXJuYWwtaXRlbS1jcmVhdGUtcGxhY2Vob2xkZXIucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEVtYmVkZGVkVmlld1JlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVlcENsb25lTm9kZSwgZ2V0T3JDcmVhdGVSb290Tm9kZUZvclZpZXdSZWYgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRkV4dGVybmFsSXRlbUNyZWF0ZVBsYWNlaG9sZGVyUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBGRXh0ZXJuYWxJdGVtQ3JlYXRlUGxhY2Vob2xkZXJFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEZFeHRlcm5hbEl0ZW1DcmVhdGVQbGFjZWhvbGRlclJlcXVlc3QsIEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZCcm93c2VyID0gaW5qZWN0KEJyb3dzZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogRkV4dGVybmFsSXRlbUNyZWF0ZVBsYWNlaG9sZGVyUmVxdWVzdCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgY29uc3QgeyBob3N0RWxlbWVudCwgZlBsYWNlaG9sZGVyIH0gPSByZXF1ZXN0LmZFeHRlcm5hbEl0ZW07XG5cbiAgICBjb25zdCByZXN1bHQgPSBmUGxhY2Vob2xkZXIgP1xuICAgICAgdGhpcy5fZnJvbVRlbXBsYXRlKGZQbGFjZWhvbGRlcikgOlxuICAgICAgdGhpcy5fZnJvbUhvc3QoaG9zdEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuXG4gICAgcmVzdWx0LmNsYXNzTGlzdC5hZGQoJ2YtZXh0ZXJuYWwtaXRlbS1wbGFjZWhvbGRlcicpO1xuICAgIHJlc3VsdC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX2Zyb21UZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pik6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gZ2V0T3JDcmVhdGVSb290Tm9kZUZvclZpZXdSZWYodGhpcy5fY3JlYXRlVmlld1JlZih0ZW1wbGF0ZSksIHRoaXMuX2ZCcm93c2VyLmRvY3VtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2Zyb21Ib3N0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiBkZWVwQ2xvbmVOb2RlKGVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlVmlld1JlZih0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pik6IEVtYmVkZGVkVmlld1JlZjxhbnk+IHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlKTtcbiAgICByZXN1bHQuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==