survey-angular-ui
Version:
survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.
64 lines • 6.74 kB
JavaScript
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc3ZnLWljb24vc3ZnLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7O0FBTXRDLE1BQU0sT0FBTyxnQkFBZ0I7SUFRM0IsWUFBb0IsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO0lBQ3JELENBQUM7SUFDTyxTQUFTO1FBQ2YsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixNQUFjLENBQUMsU0FBUyxDQUN2QixJQUFJLENBQUMsSUFBSSxFQUNULElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBQ0QsSUFBMEIsU0FBUztRQUNqQyxJQUFJLFNBQVMsR0FBRyxhQUFhLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDL0IsU0FBUyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2pDO2FBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUN0QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUE4QixRQUFRO1FBQ3BDLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7WUFDbkMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3RELEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7OzhHQXpDVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixvU0FGakIsRUFBRTs0RkFFRCxnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7dUdBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFlb0IsU0FBUztzQkFBbEMsV0FBVzt1QkFBQyxPQUFPO2dCQVNVLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0ICogYXMgU3VydmV5IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiJ1tzdi1uZy1zdmctaWNvbl0nXCIsXG4gIHRlbXBsYXRlOiBcIlwiXG59KVxuZXhwb3J0IGNsYXNzIFN2Z0ljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBzaXplPzogbnVtYmVyIHwgc3RyaW5nO1xuICBASW5wdXQoKSB3aWR0aD86IG51bWJlcjtcbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyO1xuICBASW5wdXQoKSBpY29uTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgcGFydENzcz86IHN0cmluZztcbiAgQElucHV0KCkgY3NzPzogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZVN2ZygpIHtcbiAgICBpZiAoISF0aGlzLmljb25OYW1lKSB7XG4gICAgICAoU3VydmV5IGFzIGFueSkuY3JlYXRlU3ZnKFxuICAgICAgICB0aGlzLnNpemUsXG4gICAgICAgIHRoaXMud2lkdGgsXG4gICAgICAgIHRoaXMuaGVpZ2h0LFxuICAgICAgICB0aGlzLmljb25OYW1lLFxuICAgICAgICB0aGlzLnZpZXdDb250YWllclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMudGl0bGVcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIGdldCByb290Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBsZXQgY2xhc3NOYW1lID0gXCJzdi1zdmctaWNvblwiO1xuICAgIGlmICghdGhpcy5jc3MgJiYgISF0aGlzLnBhcnRDc3MpIHtcbiAgICAgIGNsYXNzTmFtZSArPSBcIiBcIiArIHRoaXMucGFydENzcztcbiAgICB9IGVsc2UgaWYgKCEhdGhpcy5jc3MpIHtcbiAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY3NzO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG4gIEBIb3N0QmluZGluZyhcImF0dHIucm9sZVwiKSBnZXQgcm9vdFJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJwcmVzZW50YXRpb25cIjtcbiAgfVxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBjb25zdCBlbCA9IHRoaXMudmlld0NvbnRhaWVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgIGVsLmlubmVySFRNTCA9IFwiXCI7XG4gICAgICBlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLCBcInVzZVwiKSk7XG4gICAgICB0aGlzLmNyZWF0ZVN2ZygpO1xuICAgIH1cbiAgfVxufSJdfQ==