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.
46 lines • 8.63 kB
JavaScript
import { Component, ElementRef, Input, ViewChild } from "@angular/core";
import { BaseAngular } from "./base-angular";
import { AngularComponentFactory } from "./component-factory";
import * as i0 from "@angular/core";
import * as i1 from "./errors.component";
import * as i2 from "./components/element-header/element-header.component";
import * as i3 from "./row.component";
import * as i4 from "./components/action-bar/action-bar.component";
import * as i5 from "@angular/common";
import * as i6 from "./utils/dynamic.directive";
export class PanelComponent extends BaseAngular {
constructor() {
super(...arguments);
this.trackRowBy = (_, row) => {
return row.id;
};
}
getModel() {
return this.model;
}
ngAfterViewInit() {
var _a;
if (!!((_a = this.panelContainerRef) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.afterRender(this.panelContainerRef.nativeElement);
}
}
get canRender() {
return this.model && this.model.survey && this.model.getIsContentVisible();
}
}
PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"canRender\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <div *ngIf=\"!model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.renderedIsExpanded\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.visibleRows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i2.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i4.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, decorators: [{
type: Component,
args: [{
selector: "sv-ng-panel, '[sv-ng-panel]'",
templateUrl: "./panel.component.html",
}]
}], propDecorators: { model: [{
type: Input
}], panelContainerRef: [{
type: ViewChild,
args: ["panelContainer", { static: false, read: ElementRef }]
}] } });
AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBSzlELE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBdUI7SUFKM0Q7O1FBZUUsZUFBVSxHQUFHLENBQUMsQ0FBTSxFQUFFLEdBQVEsRUFBRSxFQUFFO1lBQ2hDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUE7S0FJRjtJQWRXLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxlQUFlOztRQUNiLElBQUksQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7SUFJRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3RSxDQUFDOzs0R0FoQlUsY0FBYztnR0FBZCxjQUFjLGdNQUUyQixVQUFVLG9EQ1ZoRSwrbUNBY2M7NEZETkQsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxXQUFXLEVBQUUsd0JBQXdCO2lCQUN0Qzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQzRELGlCQUFpQjtzQkFBbEYsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTs7QUFnQmxFLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUGFuZWxNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wYW5lbCwgJ1tzdi1uZy1wYW5lbF0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGFuZWwuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgUGFuZWxDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYW5lbE1vZGVsPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBtb2RlbCE6IFBhbmVsTW9kZWw7XG4gIEBWaWV3Q2hpbGQoXCJwYW5lbENvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgcGFuZWxDb250YWluZXJSZWYhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFBhbmVsTW9kZWwge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLnBhbmVsQ29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm1vZGVsLmFmdGVyUmVuZGVyKHRoaXMucGFuZWxDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIHRyYWNrUm93QnkgPSAoXzogYW55LCByb3c6IGFueSkgPT4ge1xuICAgIHJldHVybiByb3cuaWQ7XG4gIH1cbiAgcHVibGljIGdldCBjYW5SZW5kZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5zdXJ2ZXkgJiYgdGhpcy5tb2RlbC5nZXRJc0NvbnRlbnRWaXNpYmxlKCk7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwicGFuZWxcIiwgUGFuZWxDb21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKm5nSWY9XCJjYW5SZW5kZXJcIiBbYXR0ci5pZF09XCJtb2RlbC5pZFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250YWluZXJDc3MoKVwiIChmb2N1c2luKT1cIm1vZGVsLmZvY3VzSW4oKVwiICNwYW5lbENvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuc2hvd0Vycm9yc0Fib3ZlUGFuZWwgJiYgbW9kZWwuaGFzVmlzaWJsZUVycm9yc1wiIFtlbGVtZW50XT1cIm1vZGVsXCIgc3YtbmctZXJyb3JzPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5oYXNEZXNjcmlwdGlvbiB8fCBtb2RlbC5oYXNUaXRsZVwiIFtlbGVtZW50XT1cIm1vZGVsXCIgc3YtbmctZWxlbWVudC1oZWFkZXI+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFtb2RlbC5zaG93RXJyb3JzQWJvdmVQYW5lbCAmJiBtb2RlbC5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwibW9kZWxcIiBzdi1uZy1lcnJvcnM+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLnJlbmRlcmVkSXNFeHBhbmRlZFwiIFtzdHlsZS5wYWRkaW5nTGVmdF09XCJtb2RlbC5pbm5lclBhZGRpbmdMZWZ0XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucGFuZWwuY29udGVudFwiIFthdHRyLmlkXT1cIm1vZGVsLmNvbnRlbnRJZFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIG1vZGVsLnZpc2libGVSb3dzOyB0cmFja0J5OiB0cmFja1Jvd0J5XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnROYW1lKHJvdyksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnREYXRhKHJvdykgfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXJvdyBbcm93XT1cInJvd1wiPjwvc3Ytbmctcm93PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3YtbmctYWN0aW9uLWJhciBbbW9kZWxdPVwibW9kZWwuZ2V0Rm9vdGVyVG9vbGJhcigpXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19