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.
54 lines • 7.73 kB
JavaScript
import { Component, ElementRef, Input, ViewChild } from "@angular/core";
import { BaseAngular } from "../base-angular";
import * as i0 from "@angular/core";
import * as i1 from "./matrixdropdowncell.component";
import * as i2 from "@angular/common";
export class MatrixRowComponent extends BaseAngular {
getModel() {
return this.model;
}
get row() {
return this.model.row;
}
trackCellBy(_, cell) {
return cell.id;
}
onModelChanged() {
var _a;
super.onModelChanged();
if (this.previousModel) {
this.previousModel.setRootElement(undefined);
}
if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.setRootElement(this.container.nativeElement);
}
}
ngAfterViewInit() {
var _a;
if (this.model && ((_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
this.model.setRootElement(this.container.nativeElement);
}
}
ngOnDestroy() {
super.ngOnDestroy();
this.model.setRootElement(undefined);
}
}
MatrixRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
MatrixRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: { model: "model", question: "question" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <tr *ngIf=\"model.visible\" [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\"\n [attr.data-sv-drop-target-matrix-row]=\"row && row.id\" #container>\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"></sv-ng-matrixdropdown-cell>\n </tr>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixRowComponent, decorators: [{
type: Component,
args: [{
selector: "sv-ng-matrix-row",
templateUrl: "./matrix-row.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { model: [{
type: Input
}], question: [{
type: Input
}], container: [{
type: ViewChild,
args: ["container", { static: false, read: ElementRef }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL21hdHJpeC1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9tYXRyaXgtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBWTlDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUE4QztJQUkxRSxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBQ00sV0FBVyxDQUFDLENBQVMsRUFBRSxJQUFTO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ2tCLGNBQWM7O1FBQy9CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsU0FBZ0IsQ0FBQyxDQUFBO1NBQ3BEO1FBQ0QsSUFBRyxJQUFJLENBQUMsS0FBSyxLQUFJLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsYUFBYSxDQUFBLEVBQUU7WUFDOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFDTSxlQUFlOztRQUNwQixJQUFHLElBQUksQ0FBQyxLQUFLLEtBQUksTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxhQUFhLENBQUEsRUFBRTtZQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1NBQ3hEO0lBQ0gsQ0FBQztJQUNlLFdBQVc7UUFDekIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQWdCLENBQUMsQ0FBQztJQUM5QyxDQUFDOztnSEE5QlUsa0JBQWtCO29HQUFsQixrQkFBa0IsNkxBR2tCLFVBQVUsb0RDaEIzRCxpWkFNYzs0RkRPRCxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3JDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUN1RCxTQUFTO3NCQUFyRSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7XG4gIE1hdHJpeERyb3Bkb3duUm93TW9kZWxCYXNlLFxuICBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlLFxuICBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRSb3dcbn0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1tYXRyaXgtcm93XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4LXJvdy5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRyaXhSb3dDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRSb3c+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRSb3c7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogUXVlc3Rpb25NYXRyaXhEcm9wZG93bk1vZGVsQmFzZTtcbiAgQFZpZXdDaGlsZChcImNvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgY29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MVGFibGVSb3dFbGVtZW50PjtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFJvdyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHVibGljIGdldCByb3coKTogTWF0cml4RHJvcGRvd25Sb3dNb2RlbEJhc2Uge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLnJvdztcbiAgfVxuICBwdWJsaWMgdHJhY2tDZWxsQnkoXzogbnVtYmVyLCBjZWxsOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZWxsLmlkO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbk1vZGVsQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBzdXBlci5vbk1vZGVsQ2hhbmdlZCgpO1xuICAgIGlmKHRoaXMucHJldmlvdXNNb2RlbCkge1xuICAgICAgdGhpcy5wcmV2aW91c01vZGVsLnNldFJvb3RFbGVtZW50KHVuZGVmaW5lZCBhcyBhbnkpXG4gICAgfVxuICAgIGlmKHRoaXMubW9kZWwgJiYgdGhpcy5jb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuc2V0Um9vdEVsZW1lbnQodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5tb2RlbCAmJiB0aGlzLmNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5tb2RlbC5zZXRSb290RWxlbWVudCh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KVxuICAgIH1cbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLm1vZGVsLnNldFJvb3RFbGVtZW50KHVuZGVmaW5lZCBhcyBhbnkpO1xuICB9XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPHRyICpuZ0lmPVwibW9kZWwudmlzaWJsZVwiIFtjbGFzc109XCJtb2RlbC5jbGFzc05hbWVcIiAocG9pbnRlcmRvd24pPVwicXVlc3Rpb24ub25Qb2ludGVyRG93bigkZXZlbnQsIHJvdylcIlxuICAgIFthdHRyLmRhdGEtc3YtZHJvcC10YXJnZXQtbWF0cml4LXJvd109XCJyb3cgJiYgcm93LmlkXCIgI2NvbnRhaW5lcj5cbiAgICA8c3YtbmctbWF0cml4ZHJvcGRvd24tY2VsbCBbY2VsbF09XCJjZWxsXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCJcbiAgICAgICpuZ0Zvcj1cImxldCBjZWxsIG9mIG1vZGVsLmNlbGxzOyB0cmFja0J5OiB0cmFja0NlbGxCeVwiPjwvc3YtbmctbWF0cml4ZHJvcGRvd24tY2VsbD5cbiAgPC90cj5cbjwvbmctdGVtcGxhdGU+Il19