survey-creator-angular
Version:
Use SurveyJS Creator to create or edit JSON for SurveyJS Form Library.
64 lines • 10.2 kB
JavaScript
import { Component, Input } from "@angular/core";
import { AngularComponentFactory } from "survey-angular-ui";
import { MatrixCellWrapperViewModel } from "survey-creator-core";
import { CreatorModelComponent } from "../creator-model.component";
import * as i0 from "@angular/core";
import * as i1 from "survey-angular-ui";
import * as i2 from "@angular/common";
export class MatrixCellComponent extends CreatorModelComponent {
get creator() {
return this.componentData.creator;
}
get question() {
return this.componentData.question;
}
get isSupportCellEditor() {
return this.adorner.isSupportCellEditor;
}
get column() {
return this.componentData.column;
}
get element() {
return this.componentData.element;
}
selectContext(event) {
this.adorner.selectContext(this.adorner, event);
}
get row() {
return this.componentData.row;
}
createModel() {
var _a;
if (this.componentData) {
this.adorner = new MatrixCellWrapperViewModel(this.creator, this.element, this.question, this.row, this.column || ((_a = this.element.cell) === null || _a === void 0 ? void 0 : _a.column));
}
}
getPropertiesToTrack() {
return ["creator", "row", "column", "question"];
}
getModel() {
return this.adorner;
}
ngOnDestroy() {
super.ngOnDestroy();
this.adorner.dispose();
}
}
MatrixCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixCellComponent, selector: "svc-matrix-cell", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div tabindex=\"-1\" class=\"svc-matrix-cell\" (click)=\"selectContext($event)\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\"\n (mouseleave)=\"adorner.hover($event, $event.currentTarget)\">\n <div class=\"svc-matrix-cell--selected\" [class.svc-visible]=\"adorner.isSelected\"></div>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div *ngIf=\"isSupportCellEditor\" class=\"svc-matrix-cell__question-controls\">\n <span class=\"svc-matrix-cell__question-controls-button svc-context-button\"\n (click)=\"adorner.editQuestion(adorner, $event)\" [key2click]>\n <svg [iconName]=\"'icon-edit'\" [size]=\"'auto'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixCellComponent, decorators: [{
type: Component,
args: [{
selector: "svc-matrix-cell",
templateUrl: "./matrix-cell.component.html",
styles: [":host { display: none; }"]
}]
}], propDecorators: { componentName: [{
type: Input
}], componentData: [{
type: Input
}], contentTempl: [{
type: Input
}] } });
AngularComponentFactory.Instance.registerComponent("svc-matrix-cell", MatrixCellComponent);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fkb3JuZXJzL21hdHJpeC1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9hZG9ybmVycy9tYXRyaXgtY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSx1QkFBdUIsRUFBNkMsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RyxPQUFPLEVBQWlELDBCQUEwQixFQUE0QixNQUFNLHFCQUFxQixDQUFDO0FBQzFJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBT25FLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxxQkFBaUQ7SUFLeEYsSUFBWSxPQUFPO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQ3BDLENBQUM7SUFDTSxhQUFhLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztJQUNoQyxDQUFDO0lBQ1MsV0FBVzs7UUFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEtBQUksTUFBQSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksMENBQUUsTUFBTSxDQUFBLENBQUMsQ0FBQztTQUM5STtJQUNILENBQUM7SUFDUyxvQkFBb0I7UUFDNUIsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ1EsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDOztpSEF6Q1UsbUJBQW1CO3FHQUFuQixtQkFBbUIsd0xDWGhDLGl5QkFhYzs0RkRGRCxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3JDOzhCQUVVLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLOztBQXlDUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSwgQmFzZUFuZ3VsYXIsIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwic3VydmV5LWFuZ3VsYXItdWlcIjtcbmltcG9ydCB7IEl0ZW1WYWx1ZSwgUGFnZU1vZGVsLCBQYW5lbE1vZGVsLCBRdWVzdGlvbiwgUXVlc3Rpb25TZWxlY3RCYXNlLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgU3VydmV5Q3JlYXRvck1vZGVsLCBJdGVtVmFsdWVXcmFwcGVyVmlld01vZGVsLCBNYXRyaXhDZWxsV3JhcHBlclZpZXdNb2RlbCwgUXVlc3Rpb25BZG9ybmVyVmlld01vZGVsIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcbmltcG9ydCB7IENyZWF0b3JNb2RlbENvbXBvbmVudCB9IGZyb20gXCIuLi9jcmVhdG9yLW1vZGVsLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3ZjLW1hdHJpeC1jZWxsXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4LWNlbGwuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4Q2VsbENvbXBvbmVudCBleHRlbmRzIENyZWF0b3JNb2RlbENvbXBvbmVudDxNYXRyaXhDZWxsV3JhcHBlclZpZXdNb2RlbD4ge1xuICBASW5wdXQoKSBjb21wb25lbnROYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBjb21wb25lbnREYXRhITogYW55O1xuICBASW5wdXQoKSBjb250ZW50VGVtcGwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwdWJsaWMgYWRvcm5lciE6IE1hdHJpeENlbGxXcmFwcGVyVmlld01vZGVsO1xuICBwcml2YXRlIGdldCBjcmVhdG9yKCk6IFN1cnZleUNyZWF0b3JNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5jcmVhdG9yO1xuICB9XG4gIHB1YmxpYyBnZXQgcXVlc3Rpb24oKTogUXVlc3Rpb25TZWxlY3RCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnREYXRhLnF1ZXN0aW9uO1xuICB9XG4gIHB1YmxpYyBnZXQgaXNTdXBwb3J0Q2VsbEVkaXRvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hZG9ybmVyLmlzU3VwcG9ydENlbGxFZGl0b3I7XG4gIH1cbiAgcHVibGljIGdldCBjb2x1bW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5jb2x1bW47XG4gIH1cbiAgcHVibGljIGdldCBlbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudERhdGEuZWxlbWVudDtcbiAgfVxuICBwdWJsaWMgc2VsZWN0Q29udGV4dChldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuYWRvcm5lci5zZWxlY3RDb250ZXh0KHRoaXMuYWRvcm5lciwgZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGdldCByb3coKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50RGF0YS5yb3c7XG4gIH1cbiAgcHJvdGVjdGVkIGNyZWF0ZU1vZGVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudERhdGEpIHtcbiAgICAgIHRoaXMuYWRvcm5lciA9IG5ldyBNYXRyaXhDZWxsV3JhcHBlclZpZXdNb2RlbCh0aGlzLmNyZWF0b3IsIHRoaXMuZWxlbWVudCwgdGhpcy5xdWVzdGlvbiwgdGhpcy5yb3csIHRoaXMuY29sdW1uIHx8IHRoaXMuZWxlbWVudC5jZWxsPy5jb2x1bW4pO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgZ2V0UHJvcGVydGllc1RvVHJhY2soKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXCJjcmVhdG9yXCIsIFwicm93XCIsIFwiY29sdW1uXCIsIFwicXVlc3Rpb25cIl07XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IE1hdHJpeENlbGxXcmFwcGVyVmlld01vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5hZG9ybmVyO1xuICB9XG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5hZG9ybmVyLmRpc3Bvc2UoKTtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2Yy1tYXRyaXgtY2VsbFwiLCBNYXRyaXhDZWxsQ29tcG9uZW50KTtcbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwic3ZjLW1hdHJpeC1jZWxsXCIgKGNsaWNrKT1cInNlbGVjdENvbnRleHQoJGV2ZW50KVwiXG4gICAgKG1vdXNlb3Zlcik9XCJhZG9ybmVyLmhvdmVyKCRldmVudCwgJGV2ZW50LmN1cnJlbnRUYXJnZXQpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJhZG9ybmVyLmhvdmVyKCRldmVudCwgJGV2ZW50LmN1cnJlbnRUYXJnZXQpXCI+XG4gICAgPGRpdiBjbGFzcz1cInN2Yy1tYXRyaXgtY2VsbC0tc2VsZWN0ZWRcIiBbY2xhc3Muc3ZjLXZpc2libGVdPVwiYWRvcm5lci5pc1NlbGVjdGVkXCI+PC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJpc1N1cHBvcnRDZWxsRWRpdG9yXCIgY2xhc3M9XCJzdmMtbWF0cml4LWNlbGxfX3F1ZXN0aW9uLWNvbnRyb2xzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInN2Yy1tYXRyaXgtY2VsbF9fcXVlc3Rpb24tY29udHJvbHMtYnV0dG9uIHN2Yy1jb250ZXh0LWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJhZG9ybmVyLmVkaXRRdWVzdGlvbihhZG9ybmVyLCAkZXZlbnQpXCIgW2tleTJjbGlja10+XG4gICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIidpY29uLWVkaXQnXCIgW3NpemVdPVwiJ2F1dG8nXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=