UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

48 lines 6.06 kB
import { Directive, Input, ViewContainerRef } from '@angular/core'; import { TemplateLoaderBaseComponent } from '../../controls/common/template-loader-base.component'; import * as i0 from "@angular/core"; export class TemplateOutletDirective extends TemplateLoaderBaseComponent { /** * Instantiates a new instance of TooltipTemplateLoaderComponent * @param viewContainer the reference to this elements view container */ constructor(viewContainer) { super(viewContainer); } ngOnChanges(changes) { super.ngOnChanges(changes); if (!this.view || !this.view.context) { return; } if (changes.hostDataName || changes.hostData) { this.applyHostData(this.view.context); } } /** * Creates the context for our embedded view */ createContext() { return this.applyHostData({ $implicit: this.data }); } /** * Applies the hostData property to a given context object. */ applyHostData(context) { const hostDataName = this.hostDataName || 'hostData'; context[hostDataName] = this.hostData; return context; } } /** @nocollapse */ TemplateOutletDirective.ɵfac = function TemplateOutletDirective_Factory(t) { return new (t || TemplateOutletDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; /** @nocollapse */ TemplateOutletDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: TemplateOutletDirective, selectors: [["", "smeTemplateOutlet", ""]], inputs: { hostData: "hostData", hostDataName: "hostDataName" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature] }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateOutletDirective, [{ type: Directive, args: [{ selector: '[smeTemplateOutlet]' }] }], function () { return [{ type: i0.ViewContainerRef }]; }, { hostData: [{ type: Input }], hostDataName: [{ type: Input }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtb3V0bGV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvdGVtcGxhdGUtb3V0bGV0L3RlbXBsYXRlLW91dGxldC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBbUIsMkJBQTJCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFLcEgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDJCQUFzRDtJQWMvRjs7O09BR0c7SUFDSCxZQUFZLGFBQStCO1FBQ3ZDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNsQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxhQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhLENBQUMsT0FBWTtRQUM5QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQztRQUNyRCxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN0QyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDOztpSEFoRFEsdUJBQXVCO3lHQUF2Qix1QkFBdUI7dUZBQXZCLHVCQUF1QjtjQUhuQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjthQUNsQzttRUFPVSxRQUFRO2tCQURkLEtBQUs7WUFPQyxZQUFZO2tCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlQ29udGV4dCwgVGVtcGxhdGVMb2FkZXJCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvY29tbW9uL3RlbXBsYXRlLWxvYWRlci1iYXNlLmNvbXBvbmVudCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3NtZVRlbXBsYXRlT3V0bGV0XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlIGV4dGVuZHMgVGVtcGxhdGVMb2FkZXJCYXNlQ29tcG9uZW50PGFueSwgVGVtcGxhdGVDb250ZXh0PGFueT4+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBkYXRhIGNvbnRleHQgb2YgdGhlIGhvc3QgdGhhdCBzaG91bGQgYmUgZ2l2ZW4gdG8gdGhlIHRlbXBsYXRlIGNvbnRleHRcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBob3N0RGF0YTogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHByb3BlcnR5IG5hbWUgdG8gdXNlIGZvciBob3N0IGRhdGFcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBob3N0RGF0YU5hbWU6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluc3RhbnRpYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiBUb29sdGlwVGVtcGxhdGVMb2FkZXJDb21wb25lbnRcclxuICAgICAqIEBwYXJhbSB2aWV3Q29udGFpbmVyIHRoZSByZWZlcmVuY2UgdG8gdGhpcyBlbGVtZW50cyB2aWV3IGNvbnRhaW5lclxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcih2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgc3VwZXIodmlld0NvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLnZpZXcgfHwgIXRoaXMudmlldy5jb250ZXh0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLmhvc3REYXRhTmFtZSB8fCBjaGFuZ2VzLmhvc3REYXRhKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwbHlIb3N0RGF0YSh0aGlzLnZpZXcuY29udGV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyB0aGUgY29udGV4dCBmb3Igb3VyIGVtYmVkZGVkIHZpZXdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRleHQoKTogVGVtcGxhdGVDb250ZXh0PGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwcGx5SG9zdERhdGEoeyAkaW1wbGljaXQ6IHRoaXMuZGF0YSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFwcGxpZXMgdGhlIGhvc3REYXRhIHByb3BlcnR5IHRvIGEgZ2l2ZW4gY29udGV4dCBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgYXBwbHlIb3N0RGF0YShjb250ZXh0OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IGhvc3REYXRhTmFtZSA9IHRoaXMuaG9zdERhdGFOYW1lIHx8ICdob3N0RGF0YSc7XHJcbiAgICAgICAgY29udGV4dFtob3N0RGF0YU5hbWVdID0gdGhpcy5ob3N0RGF0YTtcclxuICAgICAgICByZXR1cm4gY29udGV4dDtcclxuICAgIH1cclxufVxyXG4iXX0=