survey-angular-ui 1.9.50 → 1.9.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/comment.component.mjs +3 -3
- package/esm2020/components/dropdown/dropdown.component.mjs +9 -8
- package/esm2020/components/tagbox/tagbox.component.mjs +3 -3
- package/esm2020/element.component.mjs +3 -3
- package/esm2020/page.component.mjs +7 -6
- package/esm2020/panel.component.mjs +4 -3
- package/esm2020/questions/image.component.mjs +11 -1
- package/esm2020/questions/matrix.component.mjs +4 -3
- package/esm2020/questions/matrixcell.component.mjs +35 -10
- package/esm2020/questions/matrixtable.component.mjs +4 -3
- package/esm2020/survey-content.component.mjs +3 -3
- package/esm2020/template-renderer.component.mjs +7 -4
- package/esm2020/utils/dynamic.directive.mjs +8 -6
- package/fesm2015/survey-angular-ui.mjs +70 -31
- package/fesm2015/survey-angular-ui.mjs.map +1 -1
- package/fesm2020/survey-angular-ui.mjs +70 -30
- package/fesm2020/survey-angular-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/page.component.d.ts +3 -3
- package/questions/image.component.d.ts +2 -0
- package/questions/matrixcell.component.d.ts +4 -2
- package/template-renderer.component.d.ts +3 -1
- package/utils/dynamic.directive.d.ts +3 -2
|
@@ -3,14 +3,13 @@ import { BaseAngular } from "../base-angular";
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../components/matrix-actions/drag-drop-icon/drag-drop-icon";
|
|
5
5
|
import * as i2 from "../components/action-bar/action-bar.component";
|
|
6
|
-
import * as i3 from "../
|
|
7
|
-
import * as i4 from "
|
|
8
|
-
import * as i5 from "
|
|
9
|
-
import * as i6 from "../
|
|
10
|
-
import * as i7 from "
|
|
11
|
-
import * as i8 from "
|
|
6
|
+
import * as i3 from "../errors.component";
|
|
7
|
+
import * as i4 from "./selectbase-item";
|
|
8
|
+
import * as i5 from "../comment.component";
|
|
9
|
+
import * as i6 from "../survey-string.component";
|
|
10
|
+
import * as i7 from "@angular/common";
|
|
11
|
+
import * as i8 from "../utils/dynamic.directive";
|
|
12
12
|
import * as i9 from "../utils/ng-show.directive";
|
|
13
|
-
import * as i10 from "../utils/dynamic.directive";
|
|
14
13
|
export class MatrixCellComponent extends BaseAngular {
|
|
15
14
|
constructor() {
|
|
16
15
|
super(...arguments);
|
|
@@ -22,6 +21,32 @@ export class MatrixCellComponent extends BaseAngular {
|
|
|
22
21
|
get row() {
|
|
23
22
|
return this.cell.row;
|
|
24
23
|
}
|
|
24
|
+
get panelComponentName() {
|
|
25
|
+
const panel = this.cell.panel;
|
|
26
|
+
const survey = panel.survey;
|
|
27
|
+
if (!!survey) {
|
|
28
|
+
const name = survey.getElementWrapperComponentName(panel);
|
|
29
|
+
if (!!name) {
|
|
30
|
+
return name;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return "panel";
|
|
34
|
+
}
|
|
35
|
+
get panelComponentData() {
|
|
36
|
+
const panel = this.cell.panel;
|
|
37
|
+
const survey = panel.survey;
|
|
38
|
+
let data;
|
|
39
|
+
if (!!survey) {
|
|
40
|
+
data = survey.getElementWrapperComponentData(panel);
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
componentName: "panel",
|
|
44
|
+
componentData: {
|
|
45
|
+
model: panel,
|
|
46
|
+
data: data
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
25
50
|
getComponentName(element) {
|
|
26
51
|
if (element.customWidget) {
|
|
27
52
|
return "survey-customwidget";
|
|
@@ -50,10 +75,10 @@ export class MatrixCellComponent extends BaseAngular {
|
|
|
50
75
|
}
|
|
51
76
|
}
|
|
52
77
|
MatrixCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <td [class]=\"cell.className\" [attr.data-responsive-title]=\"getHeaders()\" [title]=\"cell.getTitle()\" [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\" [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <
|
|
78
|
+
MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <td [class]=\"cell.className\" [attr.data-responsive-title]=\"getHeaders()\" [title]=\"cell.getTitle()\" [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\" [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"question.cssClasses.cellQuestionWrapper\" [visible]=\"cell.question.isVisible\">\n <div *ngIf=\"cell.showErrorOnTop && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'top'\" sv-ng-errors></div>\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\" [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <sv-ng-selebase-item\n *ngIf=\"cell.isItemChoice\"\n [showLabel]=\"false\"\n [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\"\n [question]=\"cell.question\"\n [model]=\"cell.item\"\n ></sv-ng-selebase-item>\n <div *ngIf=\"cell.isOtherChoice\" class=\"form-group\" [question]=\"cell.question\" sv-ng-comment></div>\n <div *ngIf=\"cell.showErrorOnBottom && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'top'\" sv-ng-errors></div>\n <div *ngIf=\"cell.question.isErrorsModeTooltip && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'tooltip'\" sv-ng-errors></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"!!cell.requiredText\" [class]=\"question.cssClasses.cellRequiredText\">{{ cell.requiredText }}</span> \n </ng-template>\n </ng-container>\n</td>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: i2.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i3.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i4.SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel"] }, { type: i5.SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: ["question"] }, { type: i6.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i9.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
|
|
54
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, decorators: [{
|
|
55
80
|
type: Component,
|
|
56
|
-
args: [{ selector: "sv-ng-matrix-cell", styles: [":host { display: none; }"], template: "<ng-template #template>\n <td [class]=\"cell.className\" [attr.data-responsive-title]=\"getHeaders()\" [title]=\"cell.getTitle()\" [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\" [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <
|
|
81
|
+
args: [{ selector: "sv-ng-matrix-cell", styles: [":host { display: none; }"], template: "<ng-template #template>\n <td [class]=\"cell.className\" [attr.data-responsive-title]=\"getHeaders()\" [title]=\"cell.getTitle()\" [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\" [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"question.cssClasses.cellQuestionWrapper\" [visible]=\"cell.question.isVisible\">\n <div *ngIf=\"cell.showErrorOnTop && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'top'\" sv-ng-errors></div>\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\" [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <sv-ng-selebase-item\n *ngIf=\"cell.isItemChoice\"\n [showLabel]=\"false\"\n [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\"\n [question]=\"cell.question\"\n [model]=\"cell.item\"\n ></sv-ng-selebase-item>\n <div *ngIf=\"cell.isOtherChoice\" class=\"form-group\" [question]=\"cell.question\" sv-ng-comment></div>\n <div *ngIf=\"cell.showErrorOnBottom && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'top'\" sv-ng-errors></div>\n <div *ngIf=\"cell.question.isErrorsModeTooltip && cell.question.hasVisibleErrors\" [element]=\"cell.question\" [location]=\"'tooltip'\" sv-ng-errors></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"!!cell.requiredText\" [class]=\"question.cssClasses.cellRequiredText\">{{ cell.requiredText }}</span> \n </ng-template>\n </ng-container>\n</td>\n</ng-template>" }]
|
|
57
82
|
}], propDecorators: { question: [{
|
|
58
83
|
type: Input
|
|
59
84
|
}], cell: [{
|
|
@@ -62,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
62
87
|
type: ViewChild,
|
|
63
88
|
args: ["cellContainer"]
|
|
64
89
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4Y2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL21hdHJpeGNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9tYXRyaXhjZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0FBYTlDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFxQjtJQUw5RDs7UUFXRSxjQUFTLEdBQVksS0FBSyxDQUFDO0tBNEQ1QjtJQTFEQyxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBVyxrQkFBa0I7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQWdCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFELElBQUcsQ0FBQyxDQUFDLElBQUksRUFBRTtnQkFDVCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBVyxrQkFBa0I7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQWdCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxJQUFTLENBQUM7UUFDZCxJQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsT0FBTztZQUNMLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLGFBQWEsRUFBRTtnQkFDYixLQUFLLEVBQUUsS0FBSztnQkFDWixJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFpQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsT0FBTyxxQkFBcUIsQ0FBQztTQUM5QjtRQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFDLFdBQVcsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQzlFLElBQUksT0FBTyxHQUFHO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUNwQixZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7WUFDN0MsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtTQUM5QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDOztnSEFqRVUsbUJBQW1CO29HQUFuQixtQkFBbUIsZ1BDZGhDLGdyRkFrQ2M7MkZEcEJELG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxtQkFBbUIsVUFFckIsQ0FBQywwQkFBMEIsQ0FBQzs4QkFHM0IsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRXNCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7XG4gIFF1ZXN0aW9uLFxuICBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlLFxuICBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRDZWxsLFxuICBTdXJ2ZXlNb2RlbFxufSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC1jZWxsXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4Y2VsbC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRyaXhDZWxsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UXVlc3Rpb24+IHtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlO1xuICBASW5wdXQoKSBjZWxsITogUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkQ2VsbDtcblxuICBAVmlld0NoaWxkKFwiY2VsbENvbnRhaW5lclwiKSBjZWxsQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgaXNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0TW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbC5xdWVzdGlvbjtcbiAgfVxuICBwdWJsaWMgZ2V0IHJvdygpIHtcbiAgICByZXR1cm4gdGhpcy5jZWxsLnJvdztcbiAgfVxuICBwdWJsaWMgZ2V0IHBhbmVsQ29tcG9uZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhbmVsID0gdGhpcy5jZWxsLnBhbmVsO1xuICAgIGNvbnN0IHN1cnZleSA9IDxTdXJ2ZXlNb2RlbD5wYW5lbC5zdXJ2ZXk7XG4gICAgaWYoISFzdXJ2ZXkpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnROYW1lKHBhbmVsKTtcbiAgICAgIGlmKCEhbmFtZSkge1xuICAgICAgICByZXR1cm4gbmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFwicGFuZWxcIjtcbiAgfVxuICBwdWJsaWMgZ2V0IHBhbmVsQ29tcG9uZW50RGF0YSgpOiBhbnkge1xuICAgIGNvbnN0IHBhbmVsID0gdGhpcy5jZWxsLnBhbmVsO1xuICAgIGNvbnN0IHN1cnZleSA9IDxTdXJ2ZXlNb2RlbD5wYW5lbC5zdXJ2ZXk7XG4gICAgbGV0IGRhdGE6IGFueTtcbiAgICBpZighIXN1cnZleSkge1xuICAgICAgZGF0YSA9IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudERhdGEocGFuZWwpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50TmFtZTogXCJwYW5lbFwiLFxuICAgICAgY29tcG9uZW50RGF0YToge1xuICAgICAgICBtb2RlbDogcGFuZWwsXG4gICAgICAgIGRhdGE6IGRhdGFcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZ2V0Q29tcG9uZW50TmFtZShlbGVtZW50OiBRdWVzdGlvbikge1xuICAgIGlmIChlbGVtZW50LmN1c3RvbVdpZGdldCkge1xuICAgICAgcmV0dXJuIFwic3VydmV5LWN1c3RvbXdpZGdldFwiO1xuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudC5nZXRUeXBlKCkrXCItcXVlc3Rpb25cIjtcbiAgfVxuICBnZXRIZWFkZXJzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbC5oZWFkZXJzO1xuICB9XG4gIGdldENlbGxTdHlsZSgpIHtcbiAgICBpZiAoISF0aGlzLmNlbGwud2lkdGggfHwgISF0aGlzLmNlbGwubWluV2lkdGgpXG4gICAgICByZXR1cm4geyB3aWR0aDogdGhpcy5jZWxsLndpZHRoLCBtaW5XaWR0aDogdGhpcy5jZWxsLm1pbldpZHRoIH07XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICghdGhpcy5jZWxsLmhhc1F1ZXN0aW9uIHx8ICF0aGlzLnF1ZXN0aW9uIHx8ICF0aGlzLnF1ZXN0aW9uLnN1cnZleSkgcmV0dXJuO1xuICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgY2VsbDogdGhpcy5jZWxsLmNlbGwsXG4gICAgICBjZWxsUXVlc3Rpb246IHRoaXMuY2VsbC5xdWVzdGlvbixcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmNlbGxDb250YWluZXIubmF0aXZlRWxlbWVudCxcbiAgICAgIHJvdzogdGhpcy5jZWxsLnJvdyxcbiAgICAgIGNvbHVtbjogdGhpcy5jZWxsLmNlbGwuY29sdW1uLFxuICAgIH07XG4gICAgdGhpcy5xdWVzdGlvbi5zdXJ2ZXkubWF0cml4QWZ0ZXJDZWxsUmVuZGVyKHRoaXMucXVlc3Rpb24sIG9wdGlvbnMpO1xuICB9XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPHRkIFtjbGFzc109XCJjZWxsLmNsYXNzTmFtZVwiIFthdHRyLmRhdGEtcmVzcG9uc2l2ZS10aXRsZV09XCJnZXRIZWFkZXJzKClcIiBbdGl0bGVdPVwiY2VsbC5nZXRUaXRsZSgpXCIgW3N0eWxlXT1cImdldENlbGxTdHlsZSgpXCIgW2F0dHIuY29sc3Bhbl09XCJjZWxsLmNvbFNwYW5zXCIgI2NlbGxDb250YWluZXI+XG4gICAgPHN2LW5nLW1hdHJpeC1kcmFnLWRyb3AtaWNvbiAqbmdJZj1cImNlbGwuaXNEcmFnSGFuZGxlckNlbGxcIiBbbW9kZWxdPVwiJGFueSh7IGRhdGE6IHsgcm93OiByb3csIHF1ZXN0aW9uOiBxdWVzdGlvbiB9IH0pXCI+PC9zdi1uZy1tYXRyaXgtZHJhZy1kcm9wLWljb24+XG4gICAgPHN2LWFjdGlvbi1iYXIgKm5nSWY9XCJjZWxsLmlzQWN0aW9uc0NlbGxcIiBbbW9kZWxdPVwiY2VsbC5pdGVtLmdldERhdGEoKVwiIFtoYW5kbGVDbGlja109XCJmYWxzZVwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5oYXNQYW5lbFwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBwYW5lbENvbXBvbmVudE5hbWUsIGRhdGE6IHBhbmVsQ29tcG9uZW50RGF0YSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwiY2VsbC5oYXNRdWVzdGlvblwiIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNlbGxRdWVzdGlvbldyYXBwZXJcIiBbdmlzaWJsZV09XCJjZWxsLnF1ZXN0aW9uLmlzVmlzaWJsZVwiPlxuICAgICAgPGRpdiAqbmdJZj1cImNlbGwuc2hvd0Vycm9yT25Ub3AgJiYgY2VsbC5xdWVzdGlvbi5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwiY2VsbC5xdWVzdGlvblwiIFtsb2NhdGlvbl09XCIndG9wJ1wiIHN2LW5nLWVycm9ycz48L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY2VsbC5pc0Nob2ljZSAmJiBjZWxsLnF1ZXN0aW9uLmlzRGVmYXVsdFJlbmRlcmluZygpXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBxdWVzdGlvbi5nZXRDZWxsV3JhcHBlckNvbXBvbmVudE5hbWUoY2VsbC5jZWxsKSwgZGF0YTogeyBjb21wb25lbnREYXRhOiBxdWVzdGlvbi5nZXRDZWxsV3JhcHBlckNvbXBvbmVudERhdGEoY2VsbC5jZWxsKX0gfVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICBbY29tcG9uZW50XT1cInsgbmFtZTogZ2V0Q29tcG9uZW50TmFtZShjZWxsLnF1ZXN0aW9uKSwgZGF0YTogeyBtb2RlbDogY2VsbC5xdWVzdGlvbiB9IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIiFjZWxsLmlzQ2hvaWNlICYmICFjZWxsLnF1ZXN0aW9uLmlzRGVmYXVsdFJlbmRlcmluZygpXCIgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGNlbGwucXVlc3Rpb24uZ2V0Q29tcG9uZW50TmFtZSgpLCBkYXRhOiB7IG1vZGVsOiBjZWxsLnF1ZXN0aW9uIH0gfVwiPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxzdi1uZy1zZWxlYmFzZS1pdGVtXG4gICAgICAgICpuZ0lmPVwiY2VsbC5pc0l0ZW1DaG9pY2VcIlxuICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgW2lucHV0VHlwZV09XCJjZWxsLmlzQ2hlY2tib3ggPyAnY2hlY2tib3gnOiAncmFkaW8nXCJcbiAgICAgICAgW3F1ZXN0aW9uXT1cImNlbGwucXVlc3Rpb25cIlxuICAgICAgICBbbW9kZWxdPVwiY2VsbC5pdGVtXCJcbiAgICAgID48L3N2LW5nLXNlbGViYXNlLWl0ZW0+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY2VsbC5pc090aGVyQ2hvaWNlXCIgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW3F1ZXN0aW9uXT1cImNlbGwucXVlc3Rpb25cIiBzdi1uZy1jb21tZW50PjwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImNlbGwuc2hvd0Vycm9yT25Cb3R0b20gJiYgY2VsbC5xdWVzdGlvbi5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwiY2VsbC5xdWVzdGlvblwiIFtsb2NhdGlvbl09XCIndG9wJ1wiIHN2LW5nLWVycm9ycz48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjZWxsLnF1ZXN0aW9uLmlzRXJyb3JzTW9kZVRvb2x0aXAgJiYgY2VsbC5xdWVzdGlvbi5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwiY2VsbC5xdWVzdGlvblwiIFtsb2NhdGlvbl09XCIndG9vbHRpcCdcIiBzdi1uZy1lcnJvcnM+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGwuaGFzVGl0bGVcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogcXVlc3Rpb24uZ2V0Q2VsbFdyYXBwZXJDb21wb25lbnROYW1lKCRhbnkoY2VsbCkpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50RGF0YSgkYW55KGNlbGwpKX0gfVwiPlxuICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJjZWxsLmxvY1RpdGxlXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiISFjZWxsLnJlcXVpcmVkVGV4dFwiIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNlbGxSZXF1aXJlZFRleHRcIj57eyBjZWxsLnJlcXVpcmVkVGV4dCB9fTwvc3Bhbj4gIFxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdGQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -6,6 +6,7 @@ import * as i2 from "./matrixrequiredheader.component";
|
|
|
6
6
|
import * as i3 from "./matrix-row.component";
|
|
7
7
|
import * as i4 from "./matrixcell.component";
|
|
8
8
|
import * as i5 from "@angular/common";
|
|
9
|
+
import * as i6 from "../utils/dynamic.directive";
|
|
9
10
|
export class MatrixTableComponent extends BaseAngular {
|
|
10
11
|
getModel() {
|
|
11
12
|
return this.table;
|
|
@@ -18,13 +19,13 @@ export class MatrixTableComponent extends BaseAngular {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
MatrixTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
MatrixTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0, template: "<table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container\n *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\"\n >\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n
|
|
22
|
+
MatrixTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0, template: "<table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container\n *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\"\n >\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n \n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\"></td>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of table.rows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr>\n <sv-ng-matrix-cell [cell]=\"cell\" [question]=\"question\" *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrix-cell>\n </tr>\n </tfoot>\n</table>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: i3.MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: i4.MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: ["question", "cell"] }], 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"] }] });
|
|
22
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixTableComponent, decorators: [{
|
|
23
24
|
type: Component,
|
|
24
|
-
args: [{ selector: "sv-ng-matrix-table", template: "<table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container\n *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\"\n >\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n
|
|
25
|
+
args: [{ selector: "sv-ng-matrix-table", template: "<table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container\n *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\"\n >\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n \n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\"></td>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of table.rows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr>\n <sv-ng-matrix-cell [cell]=\"cell\" [question]=\"question\" *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrix-cell>\n </tr>\n </tfoot>\n</table>" }]
|
|
25
26
|
}], propDecorators: { question: [{
|
|
26
27
|
type: Input
|
|
27
28
|
}], table: [{
|
|
28
29
|
type: Input
|
|
29
30
|
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4dGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9tYXRyaXh0YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL21hdHJpeHRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFPOUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQWdEO0lBRzlFLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDTSxXQUFXLENBQUMsQ0FBUyxFQUFFLElBQVM7UUFDckMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDTSxVQUFVLENBQUMsS0FBYSxFQUFFLEdBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7O2lIQVhVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLG1JQ1JqQyx5NkNBNkJROzJGRHJCSyxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0Usb0JBQW9COzhCQUlyQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlLCBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRUYWJsZSB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctbWF0cml4LXRhYmxlXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4dGFibGUuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBNYXRyaXhUYWJsZUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFRhYmxlPiB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogUXVlc3Rpb25NYXRyaXhEcm9wZG93bk1vZGVsQmFzZTtcbiAgQElucHV0KCkgdGFibGUhOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRUYWJsZTtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFRhYmxlIHtcbiAgICByZXR1cm4gdGhpcy50YWJsZTtcbiAgfVxuICBwdWJsaWMgdHJhY2tDZWxsQnkoXzogbnVtYmVyLCBjZWxsOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZWxsLmlkO1xuICB9XG4gIHB1YmxpYyB0cmFja1Jvd0J5KGluZGV4OiBudW1iZXIsIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcm93LmlkO1xuICB9XG59XG4iLCI8dGFibGUgW2NsYXNzXT1cInF1ZXN0aW9uLmdldFRhYmxlQ3NzKClcIj5cbiAgPHRoZWFkICpuZ0lmPVwidGFibGUuc2hvd0hlYWRlclwiPlxuICAgIDx0cj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNlbGwgb2YgdGFibGUuaGVhZGVyUm93LmNlbGxzOyB0cmFja0J5OiB0cmFja0NlbGxCeVwiXG4gICAgICA+XG4gICAgICAgICAgICA8dGggKm5nSWY9XCJjZWxsLmhhc1RpdGxlXCIgW2NsYXNzXT1cImNlbGwuY2xhc3NOYW1lXCIgW3N0eWxlXT1cInsgbWluV2lkdGg6IGNlbGwubWluV2lkdGgsIHdpZHRoOiBjZWxsLndpZHRoIH1cIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBxdWVzdGlvbi5nZXRDb2x1bW5IZWFkZXJXcmFwcGVyQ29tcG9uZW50TmFtZSgkYW55KGNlbGwpKSwgZGF0YTogeyBjb21wb25lbnREYXRhOiBxdWVzdGlvbi5nZXRDb2x1bW5IZWFkZXJXcmFwcGVyQ29tcG9uZW50RGF0YSgkYW55KGNlbGwpKSB9IH1cIj5cbiAgICAgICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJjZWxsLmxvY1RpdGxlXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgICAgPHN2LW5nLW1hdHJpeGhlYWRlcnJlcXVpcmVkICpuZ0lmPVwiISFjZWxsLmNvbHVtblwiIFtjb2x1bW5dPVwiY2VsbC5jb2x1bW5cIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8L3N2LW5nLW1hdHJpeGhlYWRlcnJlcXVpcmVkPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiIWNlbGwuaGFzVGl0bGVcIiBbY2xhc3NdPVwiY2VsbC5jbGFzc05hbWVcIiBbc3R5bGVdPVwieyBtaW5XaWR0aDogY2VsbC5taW5XaWR0aCwgd2lkdGg6IGNlbGwud2lkdGggfVwiPjwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIHRhYmxlLnJvd3M7IHRyYWNrQnk6IHRyYWNrUm93QnlcIj5cbiAgICAgIDxzdi1uZy1tYXRyaXgtcm93IFttb2RlbF09XCJyb3dcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIj48L3N2LW5nLW1hdHJpeC1yb3c+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdGJvZHk+XG4gIDx0Zm9vdCAqbmdJZj1cInRhYmxlLnNob3dGb290ZXJcIj5cbiAgICA8dHI+XG4gICAgICA8c3YtbmctbWF0cml4LWNlbGwgW2NlbGxdPVwiY2VsbFwiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICpuZ0Zvcj1cImxldCBjZWxsIG9mIHRhYmxlLmZvb3RlclJvdy5jZWxsczsgdHJhY2tCeTogdHJhY2tDZWxsQnlcIj5cbiAgICAgIDwvc3YtbmctbWF0cml4LWNlbGw+XG4gICAgPC90cj5cbiAgPC90Zm9vdD5cbjwvdGFibGU+Il19
|
|
@@ -34,10 +34,10 @@ export class SurveyContentComponent extends BaseAngular {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
SurveyContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
SurveyContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SurveyContentComponent, selector: "survey-content", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["surveyContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\"
|
|
37
|
+
SurveyContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SurveyContentComponent, selector: "survey-content", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["surveyContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\">\n <form onsubmit=\"return false;\">\n <div class=\"sv_custom_header\" [hidden]=\"model.hasLogo\"></div>\n <div [class]=\"model.css.container\">\n <div *ngIf=\"model.renderedHasHeader\" [class]=\"model.css.header\" [survey]=\"model\" sv-ng-survey-header></div>\n <ng-container *ngIf=\"model.isShowProgressBarOnTop && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyCss\" [style.width]=\"model.renderedWidth\" [style.maxWidth]=\"model.renderedWidth\">\n <!-- ko if: isTimerPanelShowingOnTop && !isShowStartingPage -->\n <!-- ko template: { name: 'survey-timerpanel' } -->\n <!-- /ko -->\n <!-- /ko -->\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnTop\" [model]=\"model.navigationBar\"></sv-action-bar>\n <!-- ko if: activePage -->\n <ng-container *ngIf=\"model.activePage\">\n <div [id]=\"model.activePage.id\">\n <page [model]=\"model.activePage\" [survey]=\"model\"></page>\n </div>\n </ng-container>\n <!-- ko if: activePage.rows.length == 0 && $data.emptyPageTemplate -->\n <!-- ko template: { name: emptyPageTemplate, data: $data.emptyPageTemplateData || $data } -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- ko if: isTimerPanelShowingOnBottom && !isShowStartingPage -->\n <!-- ko template: { name: 'survey-timerpanel' } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"model.isShowProgressBarOnBottom && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnBottom\" [model]=\"model.navigationBar\"></sv-action-bar>\n </div>\n <div *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [class]=\"model.completedCss\"\n [innerHtml]=\"model.processedCompletedHtml\"></div>\n <div [hidden]=\"model.completedState === ''\" [class]=\"model.css.saveData.root\">\n <div [class]=\"model.completedStateCss\">\n <span>{{model.completedStateText}}</span>\n <input type=\"button\" [hidden]=\"model.completedState != 'error'\"\n [value]=\"model.getLocString('saveAgainButton')\" (click)=\"model.doComplete()\"\n [class]=\"model.css.saveData.saveAgainButton\">\n </div>\n </div>\n <div *ngIf=\"model.state === 'completedbefore'\" [class]=\"model.css.body\"\n [innerHtml]=\"model.processedCompletedBeforeHtml\"></div>\n <div *ngIf=\"model.state === 'loading'\" [class]=\"model.css.body\" [innerHtml]=\"model.processedLoadingHtml\"></div>\n <div *ngIf=\"model.state === 'empty'\" [class]=\"model.css.bodyEmpty\">{{model.emptySurveyText}}</div>\n </div>\n </form>\n <sv-brand-info *ngIf=\"model.showBrandInfo\"></sv-brand-info>\n </div>\n</ng-template>", components: [{ type: i1.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: i2.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i3.PageComponent, selector: "page", inputs: ["model", "survey"] }, { type: i4.BrandInfoComponent, selector: "sv-brand-info" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SurveyContentComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
|
-
args: [{ selector: "survey-content", template: "<ng-template #template>\n <div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\"
|
|
40
|
+
args: [{ selector: "survey-content", template: "<ng-template #template>\n <div #surveyContainer *ngIf=\"!!model\" [class]=\"model.getRootCss()\">\n <form onsubmit=\"return false;\">\n <div class=\"sv_custom_header\" [hidden]=\"model.hasLogo\"></div>\n <div [class]=\"model.css.container\">\n <div *ngIf=\"model.renderedHasHeader\" [class]=\"model.css.header\" [survey]=\"model\" sv-ng-survey-header></div>\n <ng-container *ngIf=\"model.isShowProgressBarOnTop && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <div *ngIf=\"model.isShowingPage\" [class]=\"model.bodyCss\" [style.width]=\"model.renderedWidth\" [style.maxWidth]=\"model.renderedWidth\">\n <!-- ko if: isTimerPanelShowingOnTop && !isShowStartingPage -->\n <!-- ko template: { name: 'survey-timerpanel' } -->\n <!-- /ko -->\n <!-- /ko -->\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnTop\" [model]=\"model.navigationBar\"></sv-action-bar>\n <!-- ko if: activePage -->\n <ng-container *ngIf=\"model.activePage\">\n <div [id]=\"model.activePage.id\">\n <page [model]=\"model.activePage\" [survey]=\"model\"></page>\n </div>\n </ng-container>\n <!-- ko if: activePage.rows.length == 0 && $data.emptyPageTemplate -->\n <!-- ko template: { name: emptyPageTemplate, data: $data.emptyPageTemplateData || $data } -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- /ko -->\n <!-- ko if: isTimerPanelShowingOnBottom && !isShowStartingPage -->\n <!-- ko template: { name: 'survey-timerpanel' } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"model.isShowProgressBarOnBottom && !model.isShowStartingPage\">\n <ng-template [component]='{ name: \"sv-progress-\" + this.model.progressBarType, data: { model } }'></ng-template>\n </ng-container>\n <sv-action-bar *ngIf=\"model.isNavigationButtonsShowingOnBottom\" [model]=\"model.navigationBar\"></sv-action-bar>\n </div>\n <div *ngIf=\"model.state === 'completed' && model.showCompletedPage\" [class]=\"model.completedCss\"\n [innerHtml]=\"model.processedCompletedHtml\"></div>\n <div [hidden]=\"model.completedState === ''\" [class]=\"model.css.saveData.root\">\n <div [class]=\"model.completedStateCss\">\n <span>{{model.completedStateText}}</span>\n <input type=\"button\" [hidden]=\"model.completedState != 'error'\"\n [value]=\"model.getLocString('saveAgainButton')\" (click)=\"model.doComplete()\"\n [class]=\"model.css.saveData.saveAgainButton\">\n </div>\n </div>\n <div *ngIf=\"model.state === 'completedbefore'\" [class]=\"model.css.body\"\n [innerHtml]=\"model.processedCompletedBeforeHtml\"></div>\n <div *ngIf=\"model.state === 'loading'\" [class]=\"model.css.body\" [innerHtml]=\"model.processedLoadingHtml\"></div>\n <div *ngIf=\"model.state === 'empty'\" [class]=\"model.css.bodyEmpty\">{{model.emptySurveyText}}</div>\n </div>\n </form>\n <sv-brand-info *ngIf=\"model.showBrandInfo\"></sv-brand-info>\n </div>\n</ng-template>" }]
|
|
41
41
|
}], propDecorators: { model: [{
|
|
42
42
|
type: Input
|
|
43
43
|
}], rootEl: [{
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
45
45
|
args: ["surveyContainer", { static: false }]
|
|
46
46
|
}] } });
|
|
47
47
|
AngularComponentFactory.Instance.registerComponent("survey", SurveyContentComponent);
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3N1cnZleS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9zdXJ2ZXktY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBZSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7QUFLOUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQXdCO0lBR3hELFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDa0IsY0FBYztRQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFDUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ2hDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFDUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBUSxTQUFTLENBQUM7SUFDN0MsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7bUhBdkJVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9OQ1RuQyxxeUdBcURjOzJGRDVDRCxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQUlqQixLQUFLO3NCQUFiLEtBQUs7Z0JBQzJDLE1BQU07c0JBQXRELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztBQXdCakQsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdXJ2ZXlNb2RlbCwgU3ZnUmVnaXN0cnkgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3VydmV5LWNvbnRlbnRcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdXJ2ZXktY29udGVudC5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIFN1cnZleUNvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxTdXJ2ZXlNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBtb2RlbCE6IFN1cnZleU1vZGVsO1xuICBAVmlld0NoaWxkKFwic3VydmV5Q29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSByb290RWwhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFN1cnZleU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5yZW5kZXJDYWxsYmFjayA9ICgpID0+IHtcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG4gIH1cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZih0aGlzLm1vZGVsW1wibmVlZFJlbmRlckljb25zXCJdKSB7XG4gICAgICBTdmdSZWdpc3RyeS5yZW5kZXJJY29ucygpO1xuICAgIH1cbiAgfVxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMubW9kZWwucmVuZGVyQ2FsbGJhY2sgPSA8YW55PnVuZGVmaW5lZDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5hZnRlclJlbmRlclN1cnZleSh0aGlzLnJvb3RFbC5uYXRpdmVFbGVtZW50KTtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN1cnZleVwiLCBTdXJ2ZXlDb250ZW50Q29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2ICNzdXJ2ZXlDb250YWluZXIgKm5nSWY9XCIhIW1vZGVsXCIgW2NsYXNzXT1cIm1vZGVsLmdldFJvb3RDc3MoKVwiPlxuICAgIDxmb3JtIG9uc3VibWl0PVwicmV0dXJuIGZhbHNlO1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInN2X2N1c3RvbV9oZWFkZXJcIiBbaGlkZGVuXT1cIm1vZGVsLmhhc0xvZ29cIj48L2Rpdj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzcy5jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnJlbmRlcmVkSGFzSGVhZGVyXCIgW2NsYXNzXT1cIm1vZGVsLmNzcy5oZWFkZXJcIiBbc3VydmV5XT1cIm1vZGVsXCIgc3Ytbmctc3VydmV5LWhlYWRlcj48L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLmlzU2hvd1Byb2dyZXNzQmFyT25Ub3AgJiYgIW1vZGVsLmlzU2hvd1N0YXJ0aW5nUGFnZVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT0neyBuYW1lOiBcInN2LXByb2dyZXNzLVwiICsgdGhpcy5tb2RlbC5wcm9ncmVzc0JhclR5cGUsIGRhdGE6IHsgbW9kZWwgfSB9Jz48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLmlzU2hvd2luZ1BhZ2VcIiBbY2xhc3NdPVwibW9kZWwuYm9keUNzc1wiIFtzdHlsZS53aWR0aF09XCJtb2RlbC5yZW5kZXJlZFdpZHRoXCIgW3N0eWxlLm1heFdpZHRoXT1cIm1vZGVsLnJlbmRlcmVkV2lkdGhcIj5cbiAgICAgICAgICA8IS0tIGtvIGlmOiBpc1RpbWVyUGFuZWxTaG93aW5nT25Ub3AgJiYgIWlzU2hvd1N0YXJ0aW5nUGFnZSAtLT5cbiAgICAgICAgICA8IS0tIGtvIHRlbXBsYXRlOiB7IG5hbWU6ICdzdXJ2ZXktdGltZXJwYW5lbCcgfSAtLT5cbiAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICA8c3YtYWN0aW9uLWJhciAqbmdJZj1cIm1vZGVsLmlzTmF2aWdhdGlvbkJ1dHRvbnNTaG93aW5nT25Ub3BcIiBbbW9kZWxdPVwibW9kZWwubmF2aWdhdGlvbkJhclwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgICAgICA8IS0tIGtvIGlmOiBhY3RpdmVQYWdlIC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLmFjdGl2ZVBhZ2VcIj5cbiAgICAgICAgICAgICAgPGRpdiBbaWRdPVwibW9kZWwuYWN0aXZlUGFnZS5pZFwiPlxuICAgICAgICAgICAgICAgIDxwYWdlIFttb2RlbF09XCJtb2RlbC5hY3RpdmVQYWdlXCIgW3N1cnZleV09XCJtb2RlbFwiPjwvcGFnZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwhLS0ga28gaWY6IGFjdGl2ZVBhZ2Uucm93cy5sZW5ndGggPT0gMCAmJiAkZGF0YS5lbXB0eVBhZ2VUZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgIDwhLS0ga28gdGVtcGxhdGU6IHsgbmFtZTogZW1wdHlQYWdlVGVtcGxhdGUsIGRhdGE6ICRkYXRhLmVtcHR5UGFnZVRlbXBsYXRlRGF0YSB8fCAkZGF0YSB9IC0tPlxuICAgICAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICA8IS0tIGtvIGlmOiBpc1RpbWVyUGFuZWxTaG93aW5nT25Cb3R0b20gJiYgIWlzU2hvd1N0YXJ0aW5nUGFnZSAtLT5cbiAgICAgICAgICA8IS0tIGtvIHRlbXBsYXRlOiB7IG5hbWU6ICdzdXJ2ZXktdGltZXJwYW5lbCcgfSAtLT5cbiAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuaXNTaG93UHJvZ3Jlc3NCYXJPbkJvdHRvbSAmJiAhbW9kZWwuaXNTaG93U3RhcnRpbmdQYWdlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09J3sgbmFtZTogXCJzdi1wcm9ncmVzcy1cIiArIHRoaXMubW9kZWwucHJvZ3Jlc3NCYXJUeXBlLCBkYXRhOiB7IG1vZGVsIH0gfSc+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8c3YtYWN0aW9uLWJhciAqbmdJZj1cIm1vZGVsLmlzTmF2aWdhdGlvbkJ1dHRvbnNTaG93aW5nT25Cb3R0b21cIiBbbW9kZWxdPVwibW9kZWwubmF2aWdhdGlvbkJhclwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5zdGF0ZSA9PT0gJ2NvbXBsZXRlZCcgJiYgbW9kZWwuc2hvd0NvbXBsZXRlZFBhZ2VcIiBbY2xhc3NdPVwibW9kZWwuY29tcGxldGVkQ3NzXCJcbiAgICAgICAgICBbaW5uZXJIdG1sXT1cIm1vZGVsLnByb2Nlc3NlZENvbXBsZXRlZEh0bWxcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBbaGlkZGVuXT1cIm1vZGVsLmNvbXBsZXRlZFN0YXRlID09PSAnJ1wiIFtjbGFzc109XCJtb2RlbC5jc3Muc2F2ZURhdGEucm9vdFwiPlxuICAgICAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNvbXBsZXRlZFN0YXRlQ3NzXCI+XG4gICAgICAgICAgICA8c3Bhbj57e21vZGVsLmNvbXBsZXRlZFN0YXRlVGV4dH19PC9zcGFuPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJidXR0b25cIiBbaGlkZGVuXT1cIm1vZGVsLmNvbXBsZXRlZFN0YXRlICE9ICdlcnJvcidcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwibW9kZWwuZ2V0TG9jU3RyaW5nKCdzYXZlQWdhaW5CdXR0b24nKVwiIChjbGljayk9XCJtb2RlbC5kb0NvbXBsZXRlKClcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzLnNhdmVEYXRhLnNhdmVBZ2FpbkJ1dHRvblwiPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnN0YXRlID09PSAnY29tcGxldGVkYmVmb3JlJ1wiIFtjbGFzc109XCJtb2RlbC5jc3MuYm9keVwiXG4gICAgICAgICAgW2lubmVySHRtbF09XCJtb2RlbC5wcm9jZXNzZWRDb21wbGV0ZWRCZWZvcmVIdG1sXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5zdGF0ZSA9PT0gJ2xvYWRpbmcnXCIgW2NsYXNzXT1cIm1vZGVsLmNzcy5ib2R5XCIgW2lubmVySHRtbF09XCJtb2RlbC5wcm9jZXNzZWRMb2FkaW5nSHRtbFwiPjwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuc3RhdGUgPT09ICdlbXB0eSdcIiBbY2xhc3NdPVwibW9kZWwuY3NzLmJvZHlFbXB0eVwiPnt7bW9kZWwuZW1wdHlTdXJ2ZXlUZXh0fX08L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgICA8c3YtYnJhbmQtaW5mbyAqbmdJZj1cIm1vZGVsLnNob3dCcmFuZEluZm9cIj48L3N2LWJyYW5kLWluZm8+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -3,18 +3,21 @@ import { SurveyModel } from "survey-core";
|
|
|
3
3
|
import { AngularComponentFactory } from "./component-factory";
|
|
4
4
|
import { EmbeddedViewContentComponent } from "./embedded-view-content.component";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "./utils/dynamic.directive";
|
|
7
8
|
export class TemplateRendererComponent extends EmbeddedViewContentComponent {
|
|
8
9
|
}
|
|
9
10
|
TemplateRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TemplateRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
TemplateRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TemplateRendererComponent, selector: "sv-template-renderer", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
11
|
+
TemplateRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TemplateRendererComponent, selector: "sv-template-renderer", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!!componentName\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"!componentName && contentTempl\">\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n </ng-container>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
11
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TemplateRendererComponent, decorators: [{
|
|
12
13
|
type: Component,
|
|
13
|
-
args: [{ selector: "sv-template-renderer", template: "<ng-template #template>\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n</ng-template>", styles: [":host{display:none}\n"] }]
|
|
14
|
+
args: [{ selector: "sv-template-renderer", template: "<ng-template #template>\n <ng-container *ngIf=\"!!componentName\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"!componentName && contentTempl\">\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n </ng-container>\n</ng-template>", styles: [":host{display:none}\n"] }]
|
|
14
15
|
}], propDecorators: { componentName: [{
|
|
15
16
|
type: Input
|
|
16
17
|
}], componentData: [{
|
|
17
18
|
type: Input
|
|
19
|
+
}], contentTempl: [{
|
|
20
|
+
type: Input
|
|
18
21
|
}] } });
|
|
19
22
|
AngularComponentFactory.Instance.registerComponent(SurveyModel.TemplateRendererComponentName, TemplateRendererComponent);
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3RlbXBsYXRlLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy90ZW1wbGF0ZS1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBOEMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBT2pGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSw0QkFBNEI7O3NIQUE5RCx5QkFBeUI7MEdBQXpCLHlCQUF5Qiw2TENYdEMsMFZBT2M7MkZESUQseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLdkIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7O0FBRVIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJ1dHRvbkdyb3VwSXRlbU1vZGVsLCBQYW5lbE1vZGVsLCBRdWVzdGlvbiwgU3VydmV5TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IH0gZnJvbSBcIi4vZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtdGVtcGxhdGUtcmVuZGVyZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90ZW1wbGF0ZS1yZW5kZXJlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVSZW5kZXJlckNvbXBvbmVudCBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQge1xuICBASW5wdXQoKSBjb21wb25lbnROYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBjb21wb25lbnREYXRhITogYW55O1xuICBASW5wdXQoKSBjb250ZW50VGVtcGw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFN1cnZleU1vZGVsLlRlbXBsYXRlUmVuZGVyZXJDb21wb25lbnROYW1lLCBUZW1wbGF0ZVJlbmRlcmVyQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFjb21wb25lbnROYW1lXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb21wb25lbnROYW1lICYmIGNvbnRlbnRUZW1wbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -2,8 +2,9 @@ import { Directive, Input } from "@angular/core";
|
|
|
2
2
|
import { AngularComponentFactory } from "../component-factory";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class DynamicComponentDirective {
|
|
5
|
-
constructor(containerRef) {
|
|
5
|
+
constructor(containerRef, templateRef) {
|
|
6
6
|
this.containerRef = containerRef;
|
|
7
|
+
this.templateRef = templateRef;
|
|
7
8
|
}
|
|
8
9
|
ngOnChanges(changes) {
|
|
9
10
|
const componentChanges = changes["component"];
|
|
@@ -26,25 +27,26 @@ export class DynamicComponentDirective {
|
|
|
26
27
|
if (!this.componentInstance) {
|
|
27
28
|
throw new Error(`Can't create component with name: ${this.component.name} and default: ${this.component.default}`);
|
|
28
29
|
}
|
|
30
|
+
else {
|
|
31
|
+
this.componentInstance.contentTempl = this.templateRef;
|
|
32
|
+
}
|
|
29
33
|
this.updateComponentData();
|
|
30
34
|
}
|
|
31
35
|
updateComponentData() {
|
|
32
|
-
if (!this.componentInstance)
|
|
33
|
-
return;
|
|
34
36
|
const data = this.component.data;
|
|
35
37
|
Object.keys(data).forEach((key) => {
|
|
36
38
|
this.componentInstance[key] = data[key];
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
41
|
}
|
|
40
|
-
DynamicComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DynamicComponentDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
|
+
DynamicComponentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DynamicComponentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
41
43
|
DynamicComponentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: DynamicComponentDirective, selector: "[component]", inputs: { component: "component" }, usesOnChanges: true, ngImport: i0 });
|
|
42
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DynamicComponentDirective, decorators: [{
|
|
43
45
|
type: Directive,
|
|
44
46
|
args: [{
|
|
45
47
|
selector: "[component]"
|
|
46
48
|
}]
|
|
47
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { component: [{
|
|
49
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { component: [{
|
|
48
50
|
type: Input
|
|
49
51
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvdXRpbHMvZHluYW1pYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQTJELE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVkvRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQW9CLFlBQThCLEVBQVUsV0FBaUM7UUFBekUsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUksQ0FBQztJQUdsRyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsSUFBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxJQUFJO1lBQzVFLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksZ0JBQWdCLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQy9ILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ25IO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ3RIO1FBQ0QsSUFBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksaUJBQWlCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNwSDthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNELG1CQUFtQjtRQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSEFoQ1UseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7aUlBSVUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuaW50ZXJmYWNlIElEeW5hbWljQ29tcG9uZW50IHtcbiAgbmFtZTogc3RyaW5nO1xuICBkYXRhPzogYW55O1xuICBkZWZhdWx0Pzogc3RyaW5nO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW2NvbXBvbmVudF1cIlxufSlcblxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4pIHsgfVxuICBASW5wdXQoKSBjb21wb25lbnQhOiBJRHluYW1pY0NvbXBvbmVudDtcbiAgcHJpdmF0ZSBjb21wb25lbnRJbnN0YW5jZTogYW55O1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9uZW50Q2hhbmdlcyA9IGNoYW5nZXNbXCJjb21wb25lbnRcIl07XG4gICAgaWYoY29tcG9uZW50Q2hhbmdlcy5jdXJyZW50VmFsdWUubmFtZSAhPT0gY29tcG9uZW50Q2hhbmdlcy5wcmV2aW91c1ZhbHVlPy5uYW1lIHx8XG4gICAgICAoY29tcG9uZW50Q2hhbmdlcy5jdXJyZW50VmFsdWUubmFtZSA9PT0gdW5kZWZpbmVkICYmIGNvbXBvbmVudENoYW5nZXMucHJldmlvdXNWYWx1ZSA9PT0gdW5kZWZpbmVkICYmICF0aGlzLmNvbXBvbmVudEluc3RhbmNlKSkge1xuICAgICAgdGhpcy5jcmVhdGVDb21wb25lbnQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVDb21wb25lbnREYXRhKCk7XG4gICAgfVxuICB9XG4gIGNyZWF0ZUNvbXBvbmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIGlmKEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLmlzQ29tcG9uZW50UmVnaXN0ZXJlZCh0aGlzLmNvbXBvbmVudC5uYW1lKSkge1xuICAgICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLmNyZWF0ZSh0aGlzLmNvbnRhaW5lclJlZiwgdGhpcy5jb21wb25lbnQubmFtZSkuaW5zdGFuY2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBvbmVudC5kZWZhdWx0KSB7XG4gICAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UuY3JlYXRlKHRoaXMuY29udGFpbmVyUmVmLCB0aGlzLmNvbXBvbmVudC5kZWZhdWx0KS5pbnN0YW5jZTtcbiAgICB9XG4gICAgaWYoIXRoaXMuY29tcG9uZW50SW5zdGFuY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgY3JlYXRlIGNvbXBvbmVudCB3aXRoIG5hbWU6ICR7dGhpcy5jb21wb25lbnQubmFtZX0gYW5kIGRlZmF1bHQ6ICR7dGhpcy5jb21wb25lbnQuZGVmYXVsdH1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZS5jb250ZW50VGVtcGwgPSB0aGlzLnRlbXBsYXRlUmVmO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudERhdGEoKTtcbiAgfVxuICB1cGRhdGVDb21wb25lbnREYXRhKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNvbXBvbmVudC5kYXRhO1xuICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZVtrZXldID0gZGF0YVtrZXldO1xuICAgIH0pO1xuICB9XG59Il19
|