UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

75 lines 8.09 kB
import { Directive, ElementRef, Input, ViewContainerRef } from '@angular/core'; import { ResourceService } from '../../service/resource.service'; import * as i0 from "@angular/core"; import * as i1 from "../../service/resource.service"; /** * SVG image directive to place SVG image at background-image by CSS style class. */ export class SvgDirective { /** * Initializes a new instance of the SvgDirective class. * * @param elementRef the element reference. * @param resourceService the resource service. */ constructor(elementRef, resourceService) { this.elementRef = elementRef; this.resourceService = resourceService; } /** * Set "smeSvg" input as id string of SVG resource. * * @param id The identification of SVG resource. */ set smeSvg(id) { if (id) { id = id.toLowerCase(); const className = this.resourceService.find(ResourceService.svgType, id); if (className) { this.elementRef.nativeElement.classList.add(className); } } } } /** @nocollapse */ SvgDirective.ɵfac = function SvgDirective_Factory(t) { return new (t || SvgDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.ResourceService)); }; /** @nocollapse */ SvgDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: SvgDirective, selectors: [["", "smeSvg", ""]], inputs: { smeSvg: "smeSvg" } }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SvgDirective, [{ type: Directive, args: [{ selector: '[smeSvg]' }] }], function () { return [{ type: i0.ElementRef }, { type: i1.ResourceService }]; }, { smeSvg: [{ type: Input }] }); })(); /** * SVG image directive to place SVG image as inline into the element. */ export class SvgInlineDirective { /** * Initializes a new instance of the SvgInlineDirective class. * * @param viewContainer the view container reference. * @param resourceService the resource service. */ constructor(viewContainer, resourceService) { this.viewContainer = viewContainer; this.resourceService = resourceService; } set smeSvgInline(id) { this.viewContainer.clear(); if (id) { id = id.toLowerCase(); const content = this.resourceService.find(ResourceService.svgInlineType, id); if (content) { this.viewContainer.element.nativeElement.innerHTML = content; } } } } /** @nocollapse */ SvgInlineDirective.ɵfac = function SvgInlineDirective_Factory(t) { return new (t || SvgInlineDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1.ResourceService)); }; /** @nocollapse */ SvgInlineDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: SvgInlineDirective, selectors: [["", "smeSvgInline", ""]], inputs: { smeSvgInline: "smeSvgInline" } }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SvgInlineDirective, [{ type: Directive, args: [{ selector: '[smeSvgInline]' }] }], function () { return [{ type: i0.ViewContainerRef }, { type: i1.ResourceService }]; }, { smeSvgInline: [{ type: Input }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvc3ZnL3N2Zy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRWpFOztHQUVHO0FBRUgsTUFBTSxPQUFPLFlBQVk7SUFDckI7Ozs7O09BS0c7SUFDSCxZQUFvQixVQUFzQixFQUFVLGVBQWdDO1FBQWhFLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDcEYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFhLE1BQU0sQ0FBQyxFQUFVO1FBQzFCLElBQUksRUFBRSxFQUFFO1lBQ0osRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBUyxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pGLElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUQ7U0FDSjtJQUNMLENBQUM7OzJGQXZCUSxZQUFZOzhGQUFaLFlBQVk7dUZBQVosWUFBWTtjQUR4QixTQUFTO2VBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFOzJGQWdCbEIsTUFBTTtrQkFBbEIsS0FBSzs7QUFXVjs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxZQUFvQixhQUErQixFQUFVLGVBQWdDO1FBQXpFLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUM3RixDQUFDO0lBRUQsSUFBYSxZQUFZLENBQUMsRUFBVTtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksRUFBRSxFQUFFO1lBQ0osRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBUyxlQUFlLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JGLElBQUksT0FBTyxFQUFFO2dCQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO2FBQ2hFO1NBQ0g7SUFDTixDQUFDOzt1R0FuQlEsa0JBQWtCO29HQUFsQixrQkFBa0I7dUZBQWxCLGtCQUFrQjtjQUQ5QixTQUFTO2VBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7aUdBV3hCLFlBQVk7a0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvcmVzb3VyY2Uuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogU1ZHIGltYWdlIGRpcmVjdGl2ZSB0byBwbGFjZSBTVkcgaW1hZ2UgYXQgYmFja2dyb3VuZC1pbWFnZSBieSBDU1Mgc3R5bGUgY2xhc3MuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc21lU3ZnXScgfSlcclxuZXhwb3J0IGNsYXNzIFN2Z0RpcmVjdGl2ZSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBTdmdEaXJlY3RpdmUgY2xhc3MuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgdGhlIGVsZW1lbnQgcmVmZXJlbmNlLlxyXG4gICAgICogQHBhcmFtIHJlc291cmNlU2VydmljZSB0aGUgcmVzb3VyY2Ugc2VydmljZS5cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgXCJzbWVTdmdcIiBpbnB1dCBhcyBpZCBzdHJpbmcgb2YgU1ZHIHJlc291cmNlLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpZCBUaGUgaWRlbnRpZmljYXRpb24gb2YgU1ZHIHJlc291cmNlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzZXQgc21lU3ZnKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoaWQpIHtcclxuICAgICAgICAgICAgaWQgPSBpZC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLnJlc291cmNlU2VydmljZS5maW5kPHN0cmluZz4oUmVzb3VyY2VTZXJ2aWNlLnN2Z1R5cGUsIGlkKTtcclxuICAgICAgICAgICAgaWYgKGNsYXNzTmFtZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogU1ZHIGltYWdlIGRpcmVjdGl2ZSB0byBwbGFjZSBTVkcgaW1hZ2UgYXMgaW5saW5lIGludG8gdGhlIGVsZW1lbnQuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc21lU3ZnSW5saW5lXScgfSlcclxuZXhwb3J0IGNsYXNzIFN2Z0lubGluZURpcmVjdGl2ZSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBTdmdJbmxpbmVEaXJlY3RpdmUgY2xhc3MuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHZpZXdDb250YWluZXIgdGhlIHZpZXcgY29udGFpbmVyIHJlZmVyZW5jZS5cclxuICAgICAqIEBwYXJhbSByZXNvdXJjZVNlcnZpY2UgdGhlIHJlc291cmNlIHNlcnZpY2UuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIHNldCBzbWVTdmdJbmxpbmUoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIGlmIChpZCkge1xyXG4gICAgICAgICAgICBpZCA9IGlkLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnJlc291cmNlU2VydmljZS5maW5kPHN0cmluZz4oUmVzb3VyY2VTZXJ2aWNlLnN2Z0lubGluZVR5cGUsIGlkKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19