UNPKG

survey-angular-ui

Version:

A free MIT-licensed Angular UI component that renders dynamic, interactive JSON-based forms and surveys. You can use it to collect responses from users and send them to your own database.

64 lines 6.83 kB
import { Component, HostBinding, Input } from "@angular/core"; import * as Survey from "survey-core"; import * as i0 from "@angular/core"; export class SvgIconComponent { constructor(viewContaierRef) { this.viewContaierRef = viewContaierRef; } createSvg() { if (!!this.iconName) { Survey.createSvg(this.size, this.width, this.height, this.iconName, this.viewContaierRef.element.nativeElement, this.title); } } get rootClass() { let className = "sv-svg-icon"; if (!this.css && !!this.partCss) { className += " " + this.partCss; } else if (!!this.css) { className = this.css; } return className; } get rootRole() { return "presentation"; } ngOnChanges() { if (typeof document !== "undefined") { const el = this.viewContaierRef.element.nativeElement; el.innerHTML = ""; el.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "use")); this.createSvg(); } } } SvgIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SvgIconComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); SvgIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: { size: "size", width: "width", height: "height", iconName: "iconName", partCss: "partCss", css: "css", title: "title" }, host: { properties: { "class": "this.rootClass", "attr.role": "this.rootRole" } }, usesOnChanges: true, ngImport: i0, template: "", isInline: true }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SvgIconComponent, decorators: [{ type: Component, args: [{ selector: "'[sv-ng-svg-icon]'", template: "" }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { size: [{ type: Input }], width: [{ type: Input }], height: [{ type: Input }], iconName: [{ type: Input }], partCss: [{ type: Input }], css: [{ type: Input }], title: [{ type: Input }], rootClass: [{ type: HostBinding, args: ["class"] }], rootRole: [{ type: HostBinding, args: ["attr.role"] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3ZnLWljb24vc3ZnLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7O0FBT3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsWUFBb0IsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO0lBQ3JELENBQUM7SUFDTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFjLENBQUMsU0FBUyxDQUN2QixJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0QsSUFBMEIsU0FBUztRQUNqQyxJQUFJLFNBQVMsR0FBRyxhQUFhLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDL0IsU0FBUyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2pDO2FBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUN0QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUE4QixRQUFRO1FBQ3BDLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3RELEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7OzhHQXpDVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixvU0FGakIsRUFBRTs0RkFFRCxnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7dUdBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFlb0IsU0FBUztzQkFBbEMsV0FBVzt1QkFBQyxPQUFPO2dCQVNVLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0ICogYXMgU3VydmV5IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIidbc3Ytbmctc3ZnLWljb25dJ1wiLFxuICB0ZW1wbGF0ZTogXCJcIlxufSlcbmV4cG9ydCBjbGFzcyBTdmdJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2l6ZT86IG51bWJlciB8IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlcjtcbiAgQElucHV0KCkgaWNvbk5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhcnRDc3M/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNzcz86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaWVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVTdmcoKSB7XG4gICAgaWYgKCEhdGhpcy5pY29uTmFtZSkge1xuICAgICAgKFN1cnZleSBhcyBhbnkpLmNyZWF0ZVN2ZyhcbiAgICAgICAgdGhpcy5zaXplLFxuICAgICAgICB0aGlzLndpZHRoLFxuICAgICAgICB0aGlzLmhlaWdodCxcbiAgICAgICAgdGhpcy5pY29uTmFtZSxcbiAgICAgICAgdGhpcy52aWV3Q29udGFpZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICB0aGlzLnRpdGxlXG4gICAgICApO1xuICAgIH1cbiAgfVxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKSBnZXQgcm9vdENsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGNsYXNzTmFtZSA9IFwic3Ytc3ZnLWljb25cIjtcbiAgICBpZiAoIXRoaXMuY3NzICYmICEhdGhpcy5wYXJ0Q3NzKSB7XG4gICAgICBjbGFzc05hbWUgKz0gXCIgXCIgKyB0aGlzLnBhcnRDc3M7XG4gICAgfSBlbHNlIGlmICghIXRoaXMuY3NzKSB7XG4gICAgICBjbGFzc05hbWUgPSB0aGlzLmNzcztcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuICBASG9zdEJpbmRpbmcoXCJhdHRyLnJvbGVcIikgZ2V0IHJvb3RSb2xlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwicHJlc2VudGF0aW9uXCI7XG4gIH1cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgY29uc3QgZWwgPSB0aGlzLnZpZXdDb250YWllclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBlbC5pbm5lckhUTUwgPSBcIlwiO1xuICAgICAgZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiwgXCJ1c2VcIikpO1xuICAgICAgdGhpcy5jcmVhdGVTdmcoKTtcbiAgICB9XG4gIH1cbn0iXX0=