@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
48 lines • 6.06 kB
JavaScript
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=