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.

52 lines 7.62 kB
import { __decorate } from "tslib"; import { FExternalItemCreatePreviewRequest } from './f-external-item-create-preview.request'; import { FExecutionRegister } from '@foblex/mediator'; import { inject, Injectable, ViewContainerRef } from '@angular/core'; import { deepCloneNode, disableDragInteractions, extendStyles, getOrCreateRootNodeForViewRef } from '@foblex/utils'; import { BrowserService } from '@foblex/platform'; import * as i0 from "@angular/core"; let FExternalItemCreatePreviewExecution = class FExternalItemCreatePreviewExecution { _fBrowser = inject(BrowserService); _containerRef = inject(ViewContainerRef); handle(request) { const { hostElement, fPreview } = request.fExternalItem; const result = fPreview ? this._fromTemplate(fPreview) : this._fromHost(hostElement); this._setPreviewStyles(result); disableDragInteractions(result); result.classList.add('f-external-item-preview'); 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; } _setPreviewStyles(element) { extendStyles(element.style, { 'pointer-events': 'none', 'margin': 'showPopover' in element ? '0 auto 0 0' : '0', 'position': 'fixed', 'top': '0', 'left': '0', 'z-index': '1000', }, new Set(['position',])); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FExternalItemCreatePreviewExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FExternalItemCreatePreviewExecution }); }; FExternalItemCreatePreviewExecution = __decorate([ FExecutionRegister(FExternalItemCreatePreviewRequest) ], FExternalItemCreatePreviewExecution); export { FExternalItemCreatePreviewExecution }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FExternalItemCreatePreviewExecution, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1leHRlcm5hbC1pdGVtLWNyZWF0ZS1wcmV2aWV3LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1leHRlcm5hbC1pdGVtL2RvbWFpbi9jcmVhdGUtcHJldmlldy9mLWV4dGVybmFsLWl0ZW0tY3JlYXRlLXByZXZpZXcuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxVQUFVLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUkzQyxJQUFNLG1DQUFtQyxHQUF6QyxNQUFNLG1DQUFtQztJQUc3QixTQUFTLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25DLGFBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVuRCxNQUFNLENBQUMsT0FBMEM7UUFDdEQsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBRXhELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQTBCLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVoRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQTBCO1FBQzlDLE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxTQUFTLENBQUMsT0FBb0I7UUFDcEMsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUEwQjtRQUMvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBb0I7UUFDNUMsWUFBWSxDQUNWLE9BQU8sQ0FBQyxLQUFLLEVBQ2I7WUFDRSxnQkFBZ0IsRUFBRSxNQUFNO1lBQ3hCLFFBQVEsRUFBRSxhQUFhLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUc7WUFDdkQsVUFBVSxFQUFFLE9BQU87WUFDbkIsS0FBSyxFQUFFLEdBQUc7WUFDVixNQUFNLEVBQUUsR0FBRztZQUNYLFNBQVMsRUFBRSxNQUFNO1NBQ2xCLEVBQ0QsSUFBSSxHQUFHLENBQUMsQ0FBRSxVQUFVLEVBQUcsQ0FBQyxDQUN6QixDQUFDO0lBQ0osQ0FBQzt3R0EvQ1UsbUNBQW1DOzRHQUFuQyxtQ0FBbUM7O0FBQW5DLG1DQUFtQztJQUQvQyxrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQztHQUN6QyxtQ0FBbUMsQ0FnRC9DOzs0RkFoRFksbUNBQW1DO2tCQUYvQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkV4dGVybmFsSXRlbUNyZWF0ZVByZXZpZXdSZXF1ZXN0IH0gZnJvbSAnLi9mLWV4dGVybmFsLWl0ZW0tY3JlYXRlLXByZXZpZXcucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEVtYmVkZGVkVmlld1JlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVlcENsb25lTm9kZSwgZGlzYWJsZURyYWdJbnRlcmFjdGlvbnMsIGV4dGVuZFN0eWxlcywgZ2V0T3JDcmVhdGVSb290Tm9kZUZvclZpZXdSZWYgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoRkV4dGVybmFsSXRlbUNyZWF0ZVByZXZpZXdSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEZFeHRlcm5hbEl0ZW1DcmVhdGVQcmV2aWV3RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxGRXh0ZXJuYWxJdGVtQ3JlYXRlUHJldmlld1JlcXVlc3QsIEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZCcm93c2VyID0gaW5qZWN0KEJyb3dzZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogRkV4dGVybmFsSXRlbUNyZWF0ZVByZXZpZXdSZXF1ZXN0KTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICBjb25zdCB7IGhvc3RFbGVtZW50LCBmUHJldmlldyB9ID0gcmVxdWVzdC5mRXh0ZXJuYWxJdGVtO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gZlByZXZpZXcgP1xuICAgICAgdGhpcy5fZnJvbVRlbXBsYXRlKGZQcmV2aWV3KSA6XG4gICAgICB0aGlzLl9mcm9tSG9zdChob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG5cbiAgICB0aGlzLl9zZXRQcmV2aWV3U3R5bGVzKHJlc3VsdCk7XG4gICAgZGlzYWJsZURyYWdJbnRlcmFjdGlvbnMocmVzdWx0KTtcbiAgICByZXN1bHQuY2xhc3NMaXN0LmFkZCgnZi1leHRlcm5hbC1pdGVtLXByZXZpZXcnKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIF9mcm9tVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIGdldE9yQ3JlYXRlUm9vdE5vZGVGb3JWaWV3UmVmKHRoaXMuX2NyZWF0ZVZpZXdSZWYodGVtcGxhdGUpLCB0aGlzLl9mQnJvd3Nlci5kb2N1bWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9mcm9tSG9zdChlbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gZGVlcENsb25lTm9kZShlbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVZpZXdSZWYodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiBFbWJlZGRlZFZpZXdSZWY8YW55PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fY29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSk7XG4gICAgcmVzdWx0LmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UHJldmlld1N0eWxlcyhlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGV4dGVuZFN0eWxlcyhcbiAgICAgIGVsZW1lbnQuc3R5bGUsXG4gICAgICB7XG4gICAgICAgICdwb2ludGVyLWV2ZW50cyc6ICdub25lJyxcbiAgICAgICAgJ21hcmdpbic6ICdzaG93UG9wb3ZlcicgaW4gZWxlbWVudCA/ICcwIGF1dG8gMCAwJyA6ICcwJyxcbiAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcbiAgICAgICAgJ3RvcCc6ICcwJyxcbiAgICAgICAgJ2xlZnQnOiAnMCcsXG4gICAgICAgICd6LWluZGV4JzogJzEwMDAnLFxuICAgICAgfSxcbiAgICAgIG5ldyBTZXQoWyAncG9zaXRpb24nLCBdKSxcbiAgICApO1xuICB9XG59XG4iXX0=