UNPKG

ng-devui

Version:

DevUI components based on Angular

41 lines 6.16 kB
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core'; import { isEqual } from 'lodash-es'; import * as i0 from "@angular/core"; export class StrTplOutletDirective { constructor(viewContainer, templateRef) { this.viewContainer = viewContainer; this.templateRef = templateRef; this.embeddedViewRef = null; } ngOnChanges(changes) { const { dStrTplOutlet, dStrTplOutletContext } = changes; if (dStrTplOutlet) { this.viewContainer.clear(); const template = (this.dStrTplOutlet instanceof TemplateRef) ? this.dStrTplOutlet : this.templateRef; this.embeddedViewRef = this.viewContainer.createEmbeddedView(template, this.dStrTplOutletContext); } if (dStrTplOutletContext && !dStrTplOutletContext.firstChange && this.embeddedViewRef) { const isTemplateRef = this.dStrTplOutlet instanceof TemplateRef; const newCtx = isTemplateRef ? this.dStrTplOutletContext : {}; const oldCtx = this.embeddedViewRef.context; if (!isEqual(newCtx, oldCtx)) { for (const propName of Object.keys(newCtx)) { oldCtx[propName] = newCtx[propName]; } } } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StrTplOutletDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: StrTplOutletDirective, selector: "[dStrTplOutlet]", inputs: { dStrTplOutlet: "dStrTplOutlet", dStrTplOutletContext: "dStrTplOutletContext" }, usesOnChanges: true, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StrTplOutletDirective, decorators: [{ type: Directive, args: [{ selector: '[dStrTplOutlet]' }] }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }], propDecorators: { dStrTplOutlet: [{ type: Input }], dStrTplOutletContext: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyLXRwbC1vdXRsZXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGV2dWkvdXRpbHMvc3RyLXRwbC1vdXRsZXQvc3RyLXRwbC1vdXRsZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW1CLEtBQUssRUFBNEIsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS3BDLE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsYUFBK0IsRUFBVSxXQUEyQjtRQUFwRSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFIaEYsb0JBQWUsR0FBOEIsSUFBSSxDQUFDO0lBR2tDLENBQUM7SUFDN0YsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDeEQsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNyRyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFFRCxJQUFJLG9CQUFvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0RixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxZQUFZLFdBQVcsQ0FBQztZQUNoRSxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDO1lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUMzQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN0QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOytHQXZCVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1QjsrR0FHVSxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkU3RyVHBsT3V0bGV0XSdcbn0pXG5leHBvcnQgY2xhc3MgU3RyVHBsT3V0bGV0RGlyZWN0aXZlPFQgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgZW1iZWRkZWRWaWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8VD4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgZFN0clRwbE91dGxldDogVGVtcGxhdGVSZWY8VD4gfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGRTdHJUcGxPdXRsZXRDb250ZXh0OiBUO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPFQ+KSB7IH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgZFN0clRwbE91dGxldCwgZFN0clRwbE91dGxldENvbnRleHQgfSA9IGNoYW5nZXM7XG4gICAgaWYgKGRTdHJUcGxPdXRsZXQpIHtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgY29uc3QgdGVtcGxhdGUgPSAodGhpcy5kU3RyVHBsT3V0bGV0IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpID8gdGhpcy5kU3RyVHBsT3V0bGV0IDogdGhpcy50ZW1wbGF0ZVJlZjtcbiAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgdGhpcy5kU3RyVHBsT3V0bGV0Q29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGRTdHJUcGxPdXRsZXRDb250ZXh0ICYmICFkU3RyVHBsT3V0bGV0Q29udGV4dC5maXJzdENoYW5nZSAmJiB0aGlzLmVtYmVkZGVkVmlld1JlZikge1xuICAgICAgY29uc3QgaXNUZW1wbGF0ZVJlZiA9IHRoaXMuZFN0clRwbE91dGxldCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICAgICAgY29uc3QgbmV3Q3R4ID0gaXNUZW1wbGF0ZVJlZiA/IHRoaXMuZFN0clRwbE91dGxldENvbnRleHQgOiB7fTtcbiAgICAgIGNvbnN0IG9sZEN0eCA9IHRoaXMuZW1iZWRkZWRWaWV3UmVmLmNvbnRleHQ7XG4gICAgICBpZiAoIWlzRXF1YWwobmV3Q3R4LCBvbGRDdHgpKSB7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcE5hbWUgb2YgT2JqZWN0LmtleXMobmV3Q3R4KSkge1xuICAgICAgICAgIG9sZEN0eFtwcm9wTmFtZV0gPSBuZXdDdHhbcHJvcE5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=