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