UNPKG

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.

44 lines 6.66 kB
import { Component, Input } from "@angular/core"; import { LocalizableString } from "survey-core"; import { AngularComponentFactory } from "./component-factory"; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "./utils/safe-html.pipe"; export class StringViewerComponent { constructor(changeDetectorRef) { this.changeDetectorRef = changeDetectorRef; this.className = ""; } ngDoCheck() { if (this.model !== this.previousModel) { this.className = this.model.allowLineBreaks ? "sv-string-viewer sv-string-viewer--multiline" : "sv-string-viewer"; if (!!this.previousModel) { this.clearOnChanged(this.previousModel); } if (!!this.model) { this.model.onChanged = () => { this.changeDetectorRef.detectChanges(); }; } this.previousModel = this.model; } } clearOnChanged(model) { model.onChanged = () => { }; } ngOnDestroy() { !!this.model && this.clearOnChanged(this.model); } } StringViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StringViewerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); StringViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringViewerComponent, selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", inputs: { model: "model" }, ngImport: i0, template: "<span *ngIf=\"!model.hasHtml\" [class]=\"className\">{{model.renderedHtml}}</span>\n<span *ngIf=\"model.hasHtml\" [class]=\"className\" [innerHtml]=\"model.renderedHtml | safeHtml\"></span>", styles: [""], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeHtml": i2.SafeHtmlPipe } }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StringViewerComponent, decorators: [{ type: Component, args: [{ selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", templateUrl: "./string-viewer.component.html", styleUrls: ["./string-viewer.component.scss"] }] }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{ type: Input }] } }); AngularComponentFactory.Instance.registerComponent(LocalizableString.defaultRenderer, StringViewerComponent); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyaW5nLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvc3RyaW5nLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVyxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU85RCxNQUFNLE9BQU8scUJBQXFCO0lBSWhDLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRnhELGNBQVMsR0FBVyxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUM1RCxTQUFTO1FBQ1AsSUFBRyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1lBQ2xILElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUU7WUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBQ0QsY0FBYyxDQUFDLEtBQXdCO1FBQ3JDLEtBQUssQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxXQUFXO1FBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7bUhBdEJVLHFCQUFxQjt1R0FBckIscUJBQXFCLCtIQ1RsQywrTEFDbUc7NEZEUXRGLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkRBQTZEO29CQUN2RSxXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDOUM7d0dBRVUsS0FBSztzQkFBYixLQUFLOztBQXVCUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBEb0NoZWNrLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTG9jYWxpemFibGVTdHJpbmcgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLXN0cmluZy12aWV3ZXIsIHN0cmluZy12aWV3ZXIsICdbc3Ytbmctc3RyaW5nLXZpZXdlcl0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3RyaW5nLXZpZXdlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vc3RyaW5nLXZpZXdlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBTdHJpbmdWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgQElucHV0KCkgbW9kZWwhOiBMb2NhbGl6YWJsZVN0cmluZztcbiAgY2xhc3NOYW1lOiBzdHJpbmcgPSBcIlwiO1xuICBwcml2YXRlIHByZXZpb3VzTW9kZWw6IExvY2FsaXphYmxlU3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmKHRoaXMubW9kZWwgIT09IHRoaXMucHJldmlvdXNNb2RlbCkge1xuICAgICAgdGhpcy5jbGFzc05hbWUgPSB0aGlzLm1vZGVsLmFsbG93TGluZUJyZWFrcyA/IFwic3Ytc3RyaW5nLXZpZXdlciBzdi1zdHJpbmctdmlld2VyLS1tdWx0aWxpbmVcIiA6IFwic3Ytc3RyaW5nLXZpZXdlclwiO1xuICAgICAgaWYoISF0aGlzLnByZXZpb3VzTW9kZWwpIHtcbiAgICAgICAgdGhpcy5jbGVhck9uQ2hhbmdlZCh0aGlzLnByZXZpb3VzTW9kZWwpO1xuICAgICAgfVxuICAgICAgaWYoISF0aGlzLm1vZGVsKSB7XG4gICAgICAgIHRoaXMubW9kZWwub25DaGFuZ2VkID0gKCkgPT4geyB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTsgfTtcbiAgICAgIH1cbiAgICAgIHRoaXMucHJldmlvdXNNb2RlbCA9IHRoaXMubW9kZWw7XG4gICAgfVxuICB9XG4gIGNsZWFyT25DaGFuZ2VkKG1vZGVsOiBMb2NhbGl6YWJsZVN0cmluZykge1xuICAgIG1vZGVsLm9uQ2hhbmdlZCA9ICgpID0+IHt9O1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICEhdGhpcy5tb2RlbCAmJiB0aGlzLmNsZWFyT25DaGFuZ2VkKHRoaXMubW9kZWwpO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChMb2NhbGl6YWJsZVN0cmluZy5kZWZhdWx0UmVuZGVyZXIsIFN0cmluZ1ZpZXdlckNvbXBvbmVudCk7IiwiPHNwYW4gKm5nSWY9XCIhbW9kZWwuaGFzSHRtbFwiIFtjbGFzc109XCJjbGFzc05hbWVcIj57e21vZGVsLnJlbmRlcmVkSHRtbH19PC9zcGFuPlxuPHNwYW4gKm5nSWY9XCJtb2RlbC5oYXNIdG1sXCIgW2NsYXNzXT1cImNsYXNzTmFtZVwiIFtpbm5lckh0bWxdPVwibW9kZWwucmVuZGVyZWRIdG1sIHwgc2FmZUh0bWxcIj48L3NwYW4+Il19