UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

76 lines 8.21 kB
import { Directive, ElementRef, Input } from '@angular/core'; import { 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvc3ZnL3N2Zy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUVqRTs7R0FFRztBQUVILE1BQU0sT0FBTyxZQUFZO0lBQ3JCOzs7OztPQUtHO0lBQ0gsWUFBb0IsVUFBc0IsRUFBVSxlQUFnQztRQUFoRSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3BGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBYSxNQUFNLENBQUMsRUFBVTtRQUMxQixJQUFJLEVBQUUsRUFBRTtZQUNKLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQVMsZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRixJQUFJLFNBQVMsRUFBRTtnQkFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzFEO1NBQ0o7SUFDTCxDQUFDOzsyRkF2QlEsWUFBWTs4RkFBWixZQUFZO3VGQUFaLFlBQVk7Y0FEeEIsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTsyRkFnQmxCLE1BQU07a0JBQWxCLEtBQUs7O0FBV1Y7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCOzs7OztPQUtHO0lBQ0gsWUFBb0IsYUFBK0IsRUFBVSxlQUFnQztRQUF6RSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDN0YsQ0FBQztJQUVELElBQWEsWUFBWSxDQUFDLEVBQVU7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLEVBQUUsRUFBRTtZQUNKLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQVMsZUFBZSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRixJQUFJLE9BQU8sRUFBRTtnQkFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQzthQUNoRTtTQUNIO0lBQ04sQ0FBQzs7dUdBbkJRLGtCQUFrQjtvR0FBbEIsa0JBQWtCO3VGQUFsQixrQkFBa0I7Y0FEOUIsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO2lHQVd4QixZQUFZO2tCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvcmVzb3VyY2Uuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogU1ZHIGltYWdlIGRpcmVjdGl2ZSB0byBwbGFjZSBTVkcgaW1hZ2UgYXQgYmFja2dyb3VuZC1pbWFnZSBieSBDU1Mgc3R5bGUgY2xhc3MuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc21lU3ZnXScgfSlcclxuZXhwb3J0IGNsYXNzIFN2Z0RpcmVjdGl2ZSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBTdmdEaXJlY3RpdmUgY2xhc3MuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgdGhlIGVsZW1lbnQgcmVmZXJlbmNlLlxyXG4gICAgICogQHBhcmFtIHJlc291cmNlU2VydmljZSB0aGUgcmVzb3VyY2Ugc2VydmljZS5cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlKSB7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgXCJzbWVTdmdcIiBpbnB1dCBhcyBpZCBzdHJpbmcgb2YgU1ZHIHJlc291cmNlLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBpZCBUaGUgaWRlbnRpZmljYXRpb24gb2YgU1ZHIHJlc291cmNlLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzZXQgc21lU3ZnKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoaWQpIHtcclxuICAgICAgICAgICAgaWQgPSBpZC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLnJlc291cmNlU2VydmljZS5maW5kPHN0cmluZz4oUmVzb3VyY2VTZXJ2aWNlLnN2Z1R5cGUsIGlkKTtcclxuICAgICAgICAgICAgaWYgKGNsYXNzTmFtZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogU1ZHIGltYWdlIGRpcmVjdGl2ZSB0byBwbGFjZSBTVkcgaW1hZ2UgYXMgaW5saW5lIGludG8gdGhlIGVsZW1lbnQuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc21lU3ZnSW5saW5lXScgfSlcclxuZXhwb3J0IGNsYXNzIFN2Z0lubGluZURpcmVjdGl2ZSB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBTdmdJbmxpbmVEaXJlY3RpdmUgY2xhc3MuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHZpZXdDb250YWluZXIgdGhlIHZpZXcgY29udGFpbmVyIHJlZmVyZW5jZS5cclxuICAgICAqIEBwYXJhbSByZXNvdXJjZVNlcnZpY2UgdGhlIHJlc291cmNlIHNlcnZpY2UuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIHNldCBzbWVTdmdJbmxpbmUoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIGlmIChpZCkge1xyXG4gICAgICAgICAgICBpZCA9IGlkLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnJlc291cmNlU2VydmljZS5maW5kPHN0cmluZz4oUmVzb3VyY2VTZXJ2aWNlLnN2Z0lubGluZVR5cGUsIGlkKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19