survey-angular-ui 1.9.48 → 1.9.49
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/angular-ui.d.ts +3 -0
- package/angular-ui.module.d.ts +86 -82
- package/base-angular.d.ts +2 -1
- package/components/action-bar/action.component.d.ts +0 -1
- package/components/dropdown/dropdown.component.d.ts +9 -4
- package/components/list/list.component.d.ts +1 -0
- package/components/tagbox/tagbox-filter.component.d.ts +10 -0
- package/components/tagbox/tagbox.component.d.ts +3 -2
- package/element.component.d.ts +2 -0
- package/esm2020/angular-ui.mjs +4 -1
- package/esm2020/angular-ui.module.mjs +16 -12
- package/esm2020/base-angular.mjs +4 -1
- package/esm2020/components/action-bar/action.component.mjs +3 -6
- package/esm2020/components/dropdown/dropdown.component.mjs +33 -10
- package/esm2020/components/list/list.component.mjs +6 -3
- package/esm2020/components/renderAs/boolean-checkbox/boolean-checkbox.component.mjs +3 -3
- package/esm2020/components/renderAs/boolean-radio/boolean-radio-item.component.mjs +3 -3
- package/esm2020/components/tagbox/tagbox-filter.component.mjs +22 -0
- package/esm2020/components/tagbox/tagbox-item.component.mjs +3 -3
- package/esm2020/components/tagbox/tagbox.component.mjs +12 -8
- package/esm2020/element.component.mjs +20 -3
- package/esm2020/questions/button-group/button-group-item.component.mjs +29 -0
- package/esm2020/questions/button-group/button-group.component.mjs +14 -0
- package/esm2020/questions/matrixtable.component.mjs +3 -3
- package/esm2020/template-renderer.component.mjs +26 -0
- package/esm2020/utils/dynamic.directive.mjs +6 -2
- package/fesm2015/survey-angular-ui.mjs +158 -42
- package/fesm2015/survey-angular-ui.mjs.map +1 -1
- package/fesm2020/survey-angular-ui.mjs +157 -42
- package/fesm2020/survey-angular-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/questions/button-group/button-group-item.component.d.ts +14 -0
- package/questions/button-group/button-group.component.d.ts +7 -0
- package/template-renderer.component.d.ts +11 -0
|
@@ -8,10 +8,10 @@ export class BooleanRadioItemComponent {
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
BooleanRadioItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: BooleanRadioItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
-
BooleanRadioItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: BooleanRadioItemComponent, selector: "sv-ng-boolean-radio-item", inputs: { question: "question", value: "value", locText: "locText" }, ngImport: i0, template: "<div role=\"presentation\" [class]=\"question.getRadioItemClass(question.cssClasses, value)\">\n <label [class]=\"question.cssClasses.radioLabel\">\n <input\n type=\"radio\"\n [attr.name]=\"question.name\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [value]=\"value\" [(ngModel)]=\"question.value\"\n [disabled]=\"question.isInputReadOnly\" [class]=\"question.cssClasses.
|
|
11
|
+
BooleanRadioItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: BooleanRadioItemComponent, selector: "sv-ng-boolean-radio-item", inputs: { question: "question", value: "value", locText: "locText" }, ngImport: i0, template: "<div role=\"presentation\" [class]=\"question.getRadioItemClass(question.cssClasses, value)\">\n <label [class]=\"question.cssClasses.radioLabel\">\n <input\n type=\"radio\"\n [attr.name]=\"question.name\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [value]=\"value\" [(ngModel)]=\"question.value\"\n [disabled]=\"question.isInputReadOnly\" [class]=\"question.cssClasses.itemRadioControl || ''\"\n />\n <span *ngIf=\"question.cssClasses.materialRadioDecorator\" [class]=\"question.cssClasses.materialRadioDecorator\"></span>\n <span [class]=\"question.cssClasses.radioControlLabel\" [model]=\"locText\" sv-ng-string>\n </span>\n </label>\n</div>\n", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
12
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: BooleanRadioItemComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
|
-
args: [{ selector: "sv-ng-boolean-radio-item", template: "<div role=\"presentation\" [class]=\"question.getRadioItemClass(question.cssClasses, value)\">\n <label [class]=\"question.cssClasses.radioLabel\">\n <input\n type=\"radio\"\n [attr.name]=\"question.name\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [value]=\"value\" [(ngModel)]=\"question.value\"\n [disabled]=\"question.isInputReadOnly\" [class]=\"question.cssClasses.
|
|
14
|
+
args: [{ selector: "sv-ng-boolean-radio-item", template: "<div role=\"presentation\" [class]=\"question.getRadioItemClass(question.cssClasses, value)\">\n <label [class]=\"question.cssClasses.radioLabel\">\n <input\n type=\"radio\"\n [attr.name]=\"question.name\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [value]=\"value\" [(ngModel)]=\"question.value\"\n [disabled]=\"question.isInputReadOnly\" [class]=\"question.cssClasses.itemRadioControl || ''\"\n />\n <span *ngIf=\"question.cssClasses.materialRadioDecorator\" [class]=\"question.cssClasses.materialRadioDecorator\"></span>\n <span [class]=\"question.cssClasses.radioControlLabel\" [model]=\"locText\" sv-ng-string>\n </span>\n </label>\n</div>\n" }]
|
|
15
15
|
}], ctorParameters: function () { return []; }, propDecorators: { question: [{
|
|
16
16
|
type: Input
|
|
17
17
|
}], value: [{
|
|
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
19
19
|
}], locText: [{
|
|
20
20
|
type: Input
|
|
21
21
|
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1yYWRpby1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL3JlbmRlckFzL2Jvb2xlYW4tcmFkaW8vYm9vbGVhbi1yYWRpby1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL3JlbmRlckFzL2Jvb2xlYW4tcmFkaW8vYm9vbGVhbi1yYWRpby1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU1qRCxNQUFNLE9BQU8seUJBQXlCO0lBSXBDO0lBRUEsQ0FBQzs7c0hBTlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsc0lDTnRDLGtyQkFZQTsyRkROYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0UsMEJBQTBCOzBFQUkzQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsaXphYmxlU3RyaW5nLCBRdWVzdGlvbkJvb2xlYW5Nb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWJvb2xlYW4tcmFkaW8taXRlbVwiLFxuICB0ZW1wbGF0ZVVybDogXCJib29sZWFuLXJhZGlvLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgQm9vbGVhblJhZGlvSXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogUXVlc3Rpb25Cb29sZWFuTW9kZWw7XG4gIEBJbnB1dCgpIHZhbHVlITogYm9vbGVhbjtcbiAgQElucHV0KCkgbG9jVGV4dCE6IExvY2FsaXphYmxlU3RyaW5nO1xuICBjb25zdHJ1Y3RvcigpIHtcblxuICB9XG59XG4iLCI8ZGl2IHJvbGU9XCJwcmVzZW50YXRpb25cIiBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0UmFkaW9JdGVtQ2xhc3MocXVlc3Rpb24uY3NzQ2xhc3NlcywgdmFsdWUpXCI+XG4gIDxsYWJlbCBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5yYWRpb0xhYmVsXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgW2F0dHIubmFtZV09XCJxdWVzdGlvbi5uYW1lXCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJxdWVzdGlvbi5hcmlhRGVzY3JpYmVkQnlcIiBbdmFsdWVdPVwidmFsdWVcIiBbKG5nTW9kZWwpXT1cInF1ZXN0aW9uLnZhbHVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJxdWVzdGlvbi5pc0lucHV0UmVhZE9ubHlcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtUmFkaW9Db250cm9sIHx8ICcnXCJcbiAgICAvPlxuICAgIDxzcGFuICpuZ0lmPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5tYXRlcmlhbFJhZGlvRGVjb3JhdG9yXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMubWF0ZXJpYWxSYWRpb0RlY29yYXRvclwiPjwvc3Bhbj5cbiAgICA8c3BhbiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5yYWRpb0NvbnRyb2xMYWJlbFwiIFttb2RlbF09XCJsb2NUZXh0XCIgc3Ytbmctc3RyaW5nPlxuICAgIDwvc3Bhbj5cbiAgPC9sYWJlbD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "../../base-angular";
|
|
3
|
+
import { AngularComponentFactory } from "../../component-factory";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
export class TagboxFilterComponent extends BaseAngular {
|
|
7
|
+
getModel() {
|
|
8
|
+
return this.model;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
TagboxFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
TagboxFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TagboxFilterComponent, selector: "sv-tagbox-filter", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <input type=\"text\" autocomplete=\"off\" [(ngModel)]=\"model.filterString\" [attr.id]=\"question.getInputId()\"\n [class]=\"question.cssClasses.filterStringInput\" [attr.readonly]=\"!model.searchEnabled ? true : null\"\n [attr.disabled]=\"question.isInputReadOnly ? true : null\"\n [attr.size]=\"!model.filterString ? 1 : null\"\n [attr.placeholder]=\"model.filterStringPlaceholder\" (keyup)=\"model.inputKeyUpHandler($event)\"\n (blur)=\"model.onBlur($event)\" />\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxFilterComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{ selector: "sv-tagbox-filter", template: "<ng-template #template>\n <input type=\"text\" autocomplete=\"off\" [(ngModel)]=\"model.filterString\" [attr.id]=\"question.getInputId()\"\n [class]=\"question.cssClasses.filterStringInput\" [attr.readonly]=\"!model.searchEnabled ? true : null\"\n [attr.disabled]=\"question.isInputReadOnly ? true : null\"\n [attr.size]=\"!model.filterString ? 1 : null\"\n [attr.placeholder]=\"model.filterStringPlaceholder\" (keyup)=\"model.inputKeyUpHandler($event)\"\n (blur)=\"model.onBlur($event)\" />\n</ng-template>", styles: [":host{display:none}\n"] }]
|
|
16
|
+
}], propDecorators: { model: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], question: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
AngularComponentFactory.Instance.registerComponent("sv-tagbox-filter", TagboxFilterComponent);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tcG9uZW50cy90YWdib3gvdGFnYm94LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tcG9uZW50cy90YWdib3gvdGFnYm94LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU9sRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBVztJQUlwRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O2tIQU5VLHFCQUFxQjtzR0FBckIscUJBQXFCLGlJQ1ZsQyxtaUJBT2M7MkZER0QscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjs4QkFLbkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7O0FBT1IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwsIFF1ZXN0aW9uVGFnYm94TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LXRhZ2JveC1maWx0ZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3gtZmlsdGVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGFnYm94RmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIge1xuICBASW5wdXQoKSBtb2RlbCE6IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWw7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogUXVlc3Rpb25UYWdib3hNb2RlbDtcblxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LXRhZ2JveC1maWx0ZXJcIiwgVGFnYm94RmlsdGVyQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwibW9kZWwuZmlsdGVyU3RyaW5nXCIgW2F0dHIuaWRdPVwicXVlc3Rpb24uZ2V0SW5wdXRJZCgpXCJcbiAgICAgICAgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuZmlsdGVyU3RyaW5nSW5wdXRcIiBbYXR0ci5yZWFkb25seV09XCIhbW9kZWwuc2VhcmNoRW5hYmxlZCA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwicXVlc3Rpb24uaXNJbnB1dFJlYWRPbmx5ID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICBbYXR0ci5zaXplXT1cIiFtb2RlbC5maWx0ZXJTdHJpbmcgPyAxIDogbnVsbFwiXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIm1vZGVsLmZpbHRlclN0cmluZ1BsYWNlaG9sZGVyXCIgKGtleXVwKT1cIm1vZGVsLmlucHV0S2V5VXBIYW5kbGVyKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJtb2RlbC5vbkJsdXIoJGV2ZW50KVwiIC8+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -14,14 +14,14 @@ export class TagboxItemComponent extends BaseAngular {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
TagboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
TagboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: { item: "item", question: "question" }, usesInheritance: true, ngImport: i0, template: "<
|
|
17
|
+
TagboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: { item: "item", question: "question" }, usesInheritance: true, ngImport: i0, template: "<div class=\"sv-tagbox__item\">\n <div class=\"sv-tagbox__item-text\" [model]=\"item.locText\" sv-ng-string></div> \n <div [class]=\"question.cssClasses.cleanItemButton\" (click)=\"removeItem($event)\">\n <svg [iconName]=\"question.cssClasses.cleanItemButtonIconId\" [partCss]=\"question.cssClasses.cleanItemButtonSvg\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }] });
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxItemComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", template: "<
|
|
20
|
+
args: [{ selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", template: "<div class=\"sv-tagbox__item\">\n <div class=\"sv-tagbox__item-text\" [model]=\"item.locText\" sv-ng-string></div> \n <div [class]=\"question.cssClasses.cleanItemButton\" (click)=\"removeItem($event)\">\n <svg [iconName]=\"question.cssClasses.cleanItemButtonIconId\" [partCss]=\"question.cssClasses.cleanItemButtonSvg\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n</div>" }]
|
|
21
21
|
}], propDecorators: { item: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}], question: [{
|
|
24
24
|
type: Input
|
|
25
25
|
}] } });
|
|
26
26
|
AngularComponentFactory.Instance.registerComponent("sv-tagbox-item", TagboxItemComponent);
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3gtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFNbEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQVc7SUFJbEQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7Z0hBWFUsbUJBQW1CO29HQUFuQixtQkFBbUIsdUpDVGhDLDZYQUtNOzJGRElPLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDRSwwQ0FBMEM7OEJBSTNDLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLOztBQVlSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJdGVtVmFsdWUsIFF1ZXN0aW9uVGFnYm94TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLXRhZ2JveC1pdGVtLCAnW3N2LW5nLXRhZ2JveC1pdGVtXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWdib3gtaXRlbS5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBUYWdib3hJdGVtQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIge1xuICBASW5wdXQoKSBpdGVtITogSXRlbVZhbHVlO1xuICBASW5wdXQoKSBxdWVzdGlvbiE6IFF1ZXN0aW9uVGFnYm94TW9kZWw7XG5cbiAgcmVtb3ZlSXRlbShldmVudDogYW55KSB7XG4gICAgdGhpcy5xdWVzdGlvbi5kcm9wZG93bkxpc3RNb2RlbC5kZXNlbGVjdEl0ZW0odGhpcy5pdGVtLnZhbHVlKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGdldE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLml0ZW07XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi10YWdib3gtaXRlbVwiLCBUYWdib3hJdGVtQ29tcG9uZW50KTsiLCI8ZGl2IGNsYXNzPVwic3YtdGFnYm94X19pdGVtXCI+XG4gIDxkaXYgY2xhc3M9XCJzdi10YWdib3hfX2l0ZW0tdGV4dFwiIFttb2RlbF09XCJpdGVtLmxvY1RleHRcIiBzdi1uZy1zdHJpbmc+PC9kaXY+ICBcbiAgPGRpdiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jbGVhbkl0ZW1CdXR0b25cIiAoY2xpY2spPVwicmVtb3ZlSXRlbSgkZXZlbnQpXCI+XG4gICAgPHN2ZyBbaWNvbk5hbWVdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jbGVhbkl0ZW1CdXR0b25JY29uSWRcIiBbcGFydENzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNsZWFuSXRlbUJ1dHRvblN2Z1wiIFtzaXplXT1cIjE2XCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { Component, Input } from "@angular/core";
|
|
2
|
-
import {
|
|
2
|
+
import { DropdownMultiSelectListModel } from "survey-core";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "./tagbox-item.component";
|
|
5
5
|
import * as i2 from "../svg-icon/svg-icon.component";
|
|
6
6
|
import * as i3 from "../popup/popup.component";
|
|
7
7
|
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "../../utils/
|
|
8
|
+
import * as i5 from "../../utils/dynamic.directive";
|
|
9
|
+
import * as i6 from "../../utils/ng-show.directive";
|
|
9
10
|
export class TagboxComponent {
|
|
10
|
-
get
|
|
11
|
-
return this.dropdownListModel
|
|
11
|
+
get dropdownModel() {
|
|
12
|
+
return this.dropdownListModel;
|
|
13
|
+
}
|
|
14
|
+
getModel() {
|
|
15
|
+
return this.model;
|
|
12
16
|
}
|
|
13
17
|
ngOnInit() {
|
|
14
|
-
this.dropdownListModel = this.model.dropdownListModel || new
|
|
18
|
+
this.dropdownListModel = this.model.dropdownListModel || new DropdownMultiSelectListModel(this.model);
|
|
15
19
|
}
|
|
16
20
|
ngOnDestroy() {
|
|
17
21
|
this.dropdownListModel?.dispose();
|
|
@@ -30,11 +34,11 @@ export class TagboxComponent {
|
|
|
30
34
|
}
|
|
31
35
|
}
|
|
32
36
|
TagboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
TagboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [tabindex]=\"model.isInputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keyup)=\"keyup($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div
|
|
37
|
+
TagboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TagboxComponent, selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"(model.isInputReadOnly || dropdownModel.searchEnabled) ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keyup)=\"keyup($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedItems\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n</div>", components: [{ type: i1.TagboxItemComponent, selector: "sv-ng-tagbox-item, '[sv-ng-tagbox-item]'", inputs: ["item", "question"] }, { type: i2.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i3.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i6.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
|
|
34
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TagboxComponent, decorators: [{
|
|
35
39
|
type: Component,
|
|
36
|
-
args: [{ selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [tabindex]=\"model.isInputReadOnly ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keyup)=\"keyup($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div
|
|
40
|
+
args: [{ selector: "sv-ng-tagbox, '[sv-ng-tagbox]'", template: "<div [class]=\"model.cssClasses.selectWrapper\">\n <div *ngIf=\"!model.isReadOnly\" [attr.tabindex]=\"(model.isInputReadOnly || dropdownModel.searchEnabled) ? null : 0\" [class]=\"model.getControlClass()\"\n [attr.disabled]=\"model.isInputReadOnly ? true : null\" (click)=\"click($event)\" (blur)=\"blur($event)\"\n (keyup)=\"keyup($event)\" [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.role]=\"model.ariaRole\">\n <div [class]=\"model.cssClasses.controlValue\">\n <ng-container *ngIf=\"!model.isEmpty()\">\n <sv-ng-tagbox-item *ngFor=\"let item of model.selectedItems\" [item]=\"item\" [question]=\"model\">\n </sv-ng-tagbox-item>\n </ng-container>\n <ng-template [component]=\"{ name: 'sv-tagbox-filter', data: { model: dropdownModel, question: model } }\"></ng-template>\n </div>\n <div *ngIf=\"(model.allowClear && model.cssClasses.cleanButtonIconId)\" [class]=\"model.cssClasses.cleanButton\"\n (click)=\"clear($event)\" [visible]=\"!model.isEmpty()\">\n <!-- ko component: { name: 'sv-svg-icon', params: { css: model.cssClasses.cleanButtonSvg, iconName: model.cssClasses.cleanButtonIconId, size: 'auto' } } -->\n <!-- /ko -->\n <svg [iconName]=\"model.cssClasses.cleanButtonIconId\" [partCss]=\"model.cssClasses.cleanButtonSvg\" [title]=\"model.cleanButtonCaption\"\n [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup *ngIf=\"!model.isReadOnly\" [popupModel]=\"model.popupModel\"></sv-ng-popup>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n</div>" }]
|
|
37
41
|
}], propDecorators: { model: [{
|
|
38
42
|
type: Input
|
|
39
43
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL3RhZ2JveC90YWdib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvdGFnYm94L3RhZ2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU0zRCxNQUFNLE9BQU8sZUFBZTtJQUl4QixJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBVTtRQUNiLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7NEdBL0JRLGVBQWU7Z0dBQWYsZUFBZSxrR0NQNUIsdzREQXVCTTsyRkRoQk8sZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxnQ0FBZ0M7OEJBSS9CLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLXRhZ2JveCwgJ1tzdi1uZy10YWdib3hdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhZ2JveC5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIFRhZ2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xuICAgIHByaXZhdGUgZHJvcGRvd25MaXN0TW9kZWwhOiBEcm9wZG93bk11bHRpU2VsZWN0TGlzdE1vZGVsO1xuXG4gICAgZ2V0IGRyb3Bkb3duTW9kZWwoKTogRHJvcGRvd25NdWx0aVNlbGVjdExpc3RNb2RlbCB7XG4gICAgICByZXR1cm4gdGhpcy5kcm9wZG93bkxpc3RNb2RlbDtcbiAgICB9XG5cbiAgICBnZXRNb2RlbCgpIHtcbiAgICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbCA9IHRoaXMubW9kZWwuZHJvcGRvd25MaXN0TW9kZWwgfHwgbmV3IERyb3Bkb3duTXVsdGlTZWxlY3RMaXN0TW9kZWwodGhpcy5tb2RlbCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5kaXNwb3NlKCk7XG4gICAgfVxuXG4gICAgY2xpY2soZXZlbnQ6IGFueSkge1xuICAgICAgdGhpcy5kcm9wZG93bkxpc3RNb2RlbD8ub25DbGljayhldmVudCk7XG4gICAgfVxuICAgIGNsZWFyKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0TW9kZWw/Lm9uQ2xlYXIoZXZlbnQpO1xuICAgIH1cbiAgICBrZXl1cChldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbktleVVwKGV2ZW50KTtcbiAgICB9XG4gICAgYmx1cihldmVudDogYW55KSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdE1vZGVsPy5vbkJsdXIoZXZlbnQpO1xuICAgIH1cbn0iLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNlbGVjdFdyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHlcIiBbYXR0ci50YWJpbmRleF09XCIobW9kZWwuaXNJbnB1dFJlYWRPbmx5IHx8IGRyb3Bkb3duTW9kZWwuc2VhcmNoRW5hYmxlZCkgPyBudWxsIDogMFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250cm9sQ2xhc3MoKVwiXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seSA/IHRydWUgOiBudWxsXCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoYmx1cik9XCJibHVyKCRldmVudClcIlxuICAgICAgICAoa2V5dXApPVwia2V5dXAoJGV2ZW50KVwiIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIiBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cIm1vZGVsLmFyaWFSZXF1aXJlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYXJpYUxhYmVsXCIgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1vZGVsLmFyaWFJbnZhbGlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJtb2RlbC5hcmlhRGVzY3JpYmVkQnlcIiBbYXR0ci5yb2xlXT1cIm1vZGVsLmFyaWFSb2xlXCI+XG4gICAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY29udHJvbFZhbHVlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1vZGVsLmlzRW1wdHkoKVwiPlxuICAgICAgICAgICAgICAgIDxzdi1uZy10YWdib3gtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb2RlbC5zZWxlY3RlZEl0ZW1zXCIgW2l0ZW1dPVwiaXRlbVwiIFtxdWVzdGlvbl09XCJtb2RlbFwiPlxuICAgICAgICAgICAgICAgIDwvc3YtbmctdGFnYm94LWl0ZW0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJ3N2LXRhZ2JveC1maWx0ZXInLCBkYXRhOiB7IG1vZGVsOiBkcm9wZG93bk1vZGVsLCBxdWVzdGlvbjogbW9kZWwgfSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIobW9kZWwuYWxsb3dDbGVhciAmJiBtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uSWNvbklkKVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhcigkZXZlbnQpXCIgW3Zpc2libGVdPVwiIW1vZGVsLmlzRW1wdHkoKVwiPlxuICAgICAgICAgICAgPCEtLSBrbyBjb21wb25lbnQ6IHsgbmFtZTogJ3N2LXN2Zy1pY29uJywgcGFyYW1zOiB7IGNzczogbW9kZWwuY3NzQ2xhc3Nlcy5jbGVhbkJ1dHRvblN2ZywgaWNvbk5hbWU6IG1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWQsIHNpemU6ICdhdXRvJyB9IH0gLS0+XG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2xlYW5CdXR0b25JY29uSWRcIiBbcGFydENzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNsZWFuQnV0dG9uU3ZnXCIgW3RpdGxlXT1cIm1vZGVsLmNsZWFuQnV0dG9uQ2FwdGlvblwiXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxzdi1uZy1wb3B1cCAqbmdJZj1cIiFtb2RlbC5pc1JlYWRPbmx5XCIgW3BvcHVwTW9kZWxdPVwibW9kZWwucG9wdXBNb2RlbFwiPjwvc3YtbmctcG9wdXA+XG4gICAgPGRpdiBkaXNhYmxlZCAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCI+e3sgbW9kZWwucmVhZE9ubHlUZXh0IH19PC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -6,13 +6,30 @@ export class ElementComponent extends BaseAngular {
|
|
|
6
6
|
getModel() {
|
|
7
7
|
return this.model;
|
|
8
8
|
}
|
|
9
|
+
get componentName() {
|
|
10
|
+
const survey = this.surveyModel;
|
|
11
|
+
if (!!survey) {
|
|
12
|
+
return survey.getElementWrapperComponentName(this.model);
|
|
13
|
+
}
|
|
14
|
+
return this.model.isPanel ? "panel" : "question";
|
|
15
|
+
}
|
|
16
|
+
get componentData() {
|
|
17
|
+
const survey = this.surveyModel;
|
|
18
|
+
if (!!survey) {
|
|
19
|
+
return {
|
|
20
|
+
model: this.model,
|
|
21
|
+
componentData: survey.getElementWrapperComponentData(this.model)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return { model: this.model };
|
|
25
|
+
}
|
|
9
26
|
}
|
|
10
27
|
ElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
-
ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n
|
|
28
|
+
ElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ElementComponent, selector: "sv-ng-element", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.questionWrapper\" [style]=\"model.rootStyle\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>", directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
12
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ElementComponent, decorators: [{
|
|
13
30
|
type: Component,
|
|
14
|
-
args: [{ selector: "sv-ng-element", template: "<ng-template #template>\n
|
|
31
|
+
args: [{ selector: "sv-ng-element", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.questionWrapper\" [style]=\"model.rootStyle\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n</ng-template>" }]
|
|
15
32
|
}], propDecorators: { model: [{
|
|
16
33
|
type: Input
|
|
17
34
|
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvZWxlbWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTdDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFrQztJQUU1RCxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUEwQixDQUFDO1FBQy9DLElBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sTUFBTSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFXLGFBQWE7UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7UUFDL0MsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTztnQkFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLGFBQWEsRUFBRSxNQUFNLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNqRSxDQUFDO1NBQ0g7UUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs2R0FyQlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isd0dDUjdCLDJPQUljOzJGRElELGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxlQUFlOzhCQUloQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cEl0ZW1Nb2RlbCwgUGFuZWxNb2RlbCwgUXVlc3Rpb24sIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctZWxlbWVudFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2VsZW1lbnQuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFuZWxNb2RlbCB8IFF1ZXN0aW9uPiB7XG4gIEBJbnB1dCgpIG1vZGVsITogUGFuZWxNb2RlbCB8IFF1ZXN0aW9uO1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFuZWxNb2RlbCB8IFF1ZXN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdXJ2ZXkgPSB0aGlzLnN1cnZleU1vZGVsIGFzIFN1cnZleU1vZGVsO1xuICAgIGlmKCEhc3VydmV5KSB7XG4gICAgICByZXR1cm4gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50TmFtZSh0aGlzLm1vZGVsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaXNQYW5lbCA/IFwicGFuZWxcIjogXCJxdWVzdGlvblwiO1xuICB9XG4gIHB1YmxpYyBnZXQgY29tcG9uZW50RGF0YSgpOiBhbnkge1xuICAgIGNvbnN0IHN1cnZleSA9IHRoaXMuc3VydmV5TW9kZWwgYXMgU3VydmV5TW9kZWw7XG4gICAgaWYoISFzdXJ2ZXkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGVsOiB0aGlzLm1vZGVsLFxuICAgICAgICBjb21wb25lbnREYXRhOiBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnREYXRhKHRoaXMubW9kZWwpXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4geyBtb2RlbDogdGhpcy5tb2RlbCB9O1xuICB9XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnF1ZXN0aW9uV3JhcHBlclwiIFtzdHlsZV09XCJtb2RlbC5yb290U3R5bGVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBjb21wb25lbnROYW1lLCBkYXRhOiBjb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseAngular } from "../../base-angular";
|
|
3
|
+
import { ButtonGroupItemModel } from "survey-core";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../components/svg-icon/svg-icon.component";
|
|
6
|
+
import * as i2 from "../../survey-string.component";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
export class ButtonGroupItemComponent extends BaseAngular {
|
|
10
|
+
ngOnChanges() {
|
|
11
|
+
this.model = new ButtonGroupItemModel(this.question, this.item, this.index);
|
|
12
|
+
}
|
|
13
|
+
getModel() {
|
|
14
|
+
return this.item;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ButtonGroupItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ButtonGroupItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
ButtonGroupItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ButtonGroupItemComponent, selector: "sv-button-group-item", inputs: { item: "item", question: "question", index: "index" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #template>\n <label role=\"radio\" [class]=\"model.css.label\" [attr.title]=\"model.caption.renderedHtml\">\n <input type=\"radio\"\n [attr.name]=\"model.name\" [attr.id]=\"model.id\" [attr.aria-required]=\"model.isRequired\" [attr.aria-label]=\"model.caption.renderedHtml\" role=\"radio\" [attr.aria-invalid]=\"model.hasErrors\" [attr.aria-describedby]=\"model.describedBy\" [disabled]=\"model.readOnly\" [class]=\"model.css.control\" [(ngModel)]=\"question.renderedValue\" [attr.value]=\"model.value\" [value]=\"model.value\"/>\n <div data-bind=\"css: model.css.decorator\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [class]=\"model.css.icon\" sv-ng-svg-icon></svg>\n <span [class]=\"model.css.caption\" *ngIf=\"model.showCaption\" [attr.title]=\"model.caption.renderedHtml\" sv-ng-string [model]=\"model.caption\">\n </span>\n </div>\n </label>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ButtonGroupItemComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: "sv-button-group-item", template: "<ng-template #template>\n <label role=\"radio\" [class]=\"model.css.label\" [attr.title]=\"model.caption.renderedHtml\">\n <input type=\"radio\"\n [attr.name]=\"model.name\" [attr.id]=\"model.id\" [attr.aria-required]=\"model.isRequired\" [attr.aria-label]=\"model.caption.renderedHtml\" role=\"radio\" [attr.aria-invalid]=\"model.hasErrors\" [attr.aria-describedby]=\"model.describedBy\" [disabled]=\"model.readOnly\" [class]=\"model.css.control\" [(ngModel)]=\"question.renderedValue\" [attr.value]=\"model.value\" [value]=\"model.value\"/>\n <div data-bind=\"css: model.css.decorator\">\n <svg *ngIf=\"model.iconName\" [iconName]=\"model.iconName\" [size]=\"model.iconSize\" [class]=\"model.css.icon\" sv-ng-svg-icon></svg>\n <span [class]=\"model.css.caption\" *ngIf=\"model.showCaption\" [attr.title]=\"model.caption.renderedHtml\" sv-ng-string [model]=\"model.caption\">\n </span>\n </div>\n </label>\n</ng-template>", styles: [":host{display:none}\n"] }]
|
|
22
|
+
}], propDecorators: { item: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], question: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], index: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}] } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBdUMsTUFBTSxhQUFhLENBQUM7Ozs7OztBQU94RixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsV0FBc0I7SUFLM0QsV0FBVztRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs7cUhBVlUsd0JBQXdCO3lHQUF4Qix3QkFBd0Isd0tDVHJDLDI3QkFVYzsyRkRERCx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cEl0ZW1Nb2RlbCwgSXRlbVZhbHVlLCBRdWVzdGlvbkJ1dHRvbkdyb3VwTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LWJ1dHRvbi1ncm91cC1pdGVtXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYnV0dG9uLWdyb3VwLWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Hcm91cEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxJdGVtVmFsdWU+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgaXRlbSE6IEl0ZW1WYWx1ZTtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbkJ1dHRvbkdyb3VwTW9kZWw7XG4gIEBJbnB1dCgpIGluZGV4ITogbnVtYmVyO1xuICBwdWJsaWMgbW9kZWwhOiBCdXR0b25Hcm91cEl0ZW1Nb2RlbDtcbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwgPSBuZXcgQnV0dG9uR3JvdXBJdGVtTW9kZWwodGhpcy5xdWVzdGlvbiwgdGhpcy5pdGVtLCB0aGlzLmluZGV4KTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogSXRlbVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtO1xuICB9XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGxhYmVsIHJvbGU9XCJyYWRpb1wiIFtjbGFzc109XCJtb2RlbC5jc3MubGFiZWxcIiBbYXR0ci50aXRsZV09XCJtb2RlbC5jYXB0aW9uLnJlbmRlcmVkSHRtbFwiPlxuICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIlxuICAgICAgW2F0dHIubmFtZV09XCJtb2RlbC5uYW1lXCIgW2F0dHIuaWRdPVwibW9kZWwuaWRcIiBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cIm1vZGVsLmlzUmVxdWlyZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmNhcHRpb24ucmVuZGVyZWRIdG1sXCIgcm9sZT1cInJhZGlvXCIgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1vZGVsLmhhc0Vycm9yc1wiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuZGVzY3JpYmVkQnlcIiBbZGlzYWJsZWRdPVwibW9kZWwucmVhZE9ubHlcIiBbY2xhc3NdPVwibW9kZWwuY3NzLmNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInF1ZXN0aW9uLnJlbmRlcmVkVmFsdWVcIiBbYXR0ci52YWx1ZV09XCJtb2RlbC52YWx1ZVwiIFt2YWx1ZV09XCJtb2RlbC52YWx1ZVwiLz5cbiAgICA8ZGl2IGRhdGEtYmluZD1cImNzczogbW9kZWwuY3NzLmRlY29yYXRvclwiPlxuICAgICAgPHN2ZyAqbmdJZj1cIm1vZGVsLmljb25OYW1lXCIgW2ljb25OYW1lXT1cIm1vZGVsLmljb25OYW1lXCIgW3NpemVdPVwibW9kZWwuaWNvblNpemVcIiBbY2xhc3NdPVwibW9kZWwuY3NzLmljb25cIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgIDxzcGFuIFtjbGFzc109XCJtb2RlbC5jc3MuY2FwdGlvblwiICpuZ0lmPVwibW9kZWwuc2hvd0NhcHRpb25cIiBbYXR0ci50aXRsZV09XCJtb2RlbC5jYXB0aW9uLnJlbmRlcmVkSHRtbFwiIHN2LW5nLXN0cmluZyBbbW9kZWxdPVwibW9kZWwuY2FwdGlvblwiPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { QuestionAngular } from "../../question";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./button-group-item.component";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
export class ButtonGroupQuestionComponent extends QuestionAngular {
|
|
7
|
+
}
|
|
8
|
+
ButtonGroupQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ButtonGroupQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
ButtonGroupQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ButtonGroupQuestionComponent, selector: "sv-ng-buttongroup-question", usesInheritance: true, ngImport: i0, template: "<div role=\"group\" [class]=\"model.cssClasses.root\">\n <sv-button-group-item *ngFor=\"let item of model.visibleChoices; index as index\" [question]=\"model\" [item]=\"item\" [index]=\"index\" ></sv-button-group-item>\n</div>\n", components: [{ type: i1.ButtonGroupItemComponent, selector: "sv-button-group-item", inputs: ["item", "question", "index"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ButtonGroupQuestionComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: "sv-ng-buttongroup-question", template: "<div role=\"group\" [class]=\"model.cssClasses.root\">\n <sv-button-group-item *ngFor=\"let item of model.visibleChoices; index as index\" [question]=\"model\" [item]=\"item\" [index]=\"index\" ></sv-button-group-item>\n</div>\n" }]
|
|
13
|
+
}] });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9xdWVzdGlvbnMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGVBQXlDOzt5SEFBOUUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIseUZDVHpDLHVPQUdBOzJGRE1hLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDRSw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IFF1ZXN0aW9uQnV0dG9uR3JvdXBNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctYnV0dG9uZ3JvdXAtcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9idXR0b24tZ3JvdXAuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Hcm91cFF1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25Bbmd1bGFyPFF1ZXN0aW9uQnV0dG9uR3JvdXBNb2RlbD4ge1xufSIsIjxkaXYgcm9sZT1cImdyb3VwXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucm9vdFwiPlxuICA8c3YtYnV0dG9uLWdyb3VwLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwudmlzaWJsZUNob2ljZXM7IGluZGV4IGFzIGluZGV4XCIgW3F1ZXN0aW9uXT1cIm1vZGVsXCIgW2l0ZW1dPVwiaXRlbVwiIFtpbmRleF09XCJpbmRleFwiID48L3N2LWJ1dHRvbi1ncm91cC1pdGVtPlxuPC9kaXY+XG4iXX0=
|
|
@@ -17,13 +17,13 @@ export class MatrixTableComponent extends BaseAngular {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
MatrixTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
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 <
|
|
20
|
+
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 <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\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 <tr *ngFor=\"let row of table.rows; trackBy: trackRowBy\" [class]=\"row.className\">\n <sv-ng-matrix-cell\n [cell]=\"cell\"\n [question]=\"question\"\n *ngFor=\"let cell of row.cells; trackBy: trackCellBy\"\n ></sv-ng-matrix-cell>\n </tr>\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.MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: ["question", "cell"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixTableComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
|
-
args: [{ selector: "sv-ng-matrix-table", template: "<table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <
|
|
23
|
+
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 <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\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 <tr *ngFor=\"let row of table.rows; trackBy: trackRowBy\" [class]=\"row.className\">\n <sv-ng-matrix-cell\n [cell]=\"cell\"\n [question]=\"question\"\n *ngFor=\"let cell of row.cells; trackBy: trackCellBy\"\n ></sv-ng-matrix-cell>\n </tr>\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>" }]
|
|
24
24
|
}], propDecorators: { question: [{
|
|
25
25
|
type: Input
|
|
26
26
|
}], table: [{
|
|
27
27
|
type: Input
|
|
28
28
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4dGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9tYXRyaXh0YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL21hdHJpeHRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBTzlDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUFnRDtJQUc5RSxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ00sV0FBVyxDQUFDLENBQVMsRUFBRSxJQUFTO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ00sVUFBVSxDQUFDLEtBQWEsRUFBRSxHQUFRO1FBQ3ZDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNoQixDQUFDOztpSEFYVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixtSUNSakMsb3lDQStCUTsyRkR2Qkssb0JBQW9CO2tCQUpoQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFJckIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhEcm9wZG93bk1vZGVsQmFzZSwgUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkVGFibGUgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC10YWJsZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdHJpeHRhYmxlLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4VGFibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRUYWJsZT4ge1xuICBASW5wdXQoKSBxdWVzdGlvbiE6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25Nb2RlbEJhc2U7XG4gIEBJbnB1dCgpIHRhYmxlITogUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkVGFibGU7XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRUYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGU7XG4gIH1cbiAgcHVibGljIHRyYWNrQ2VsbEJ5KF86IG51bWJlciwgY2VsbDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2VsbC5pZDtcbiAgfVxuICBwdWJsaWMgdHJhY2tSb3dCeShpbmRleDogbnVtYmVyLCByb3c6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdy5pZDtcbiAgfVxufVxuIiwiPHRhYmxlIFtjbGFzc109XCJxdWVzdGlvbi5nZXRUYWJsZUNzcygpXCI+XG4gIDx0aGVhZCAqbmdJZj1cInRhYmxlLnNob3dIZWFkZXJcIj5cbiAgICA8dHI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjZWxsIG9mIHRhYmxlLmhlYWRlclJvdy5jZWxsczsgdHJhY2tCeTogdHJhY2tDZWxsQnlcIlxuICAgICAgPlxuICAgICAgICAgICAgPHRoICpuZ0lmPVwiY2VsbC5oYXNUaXRsZVwiIFtjbGFzc109XCJjZWxsLmNsYXNzTmFtZVwiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBjZWxsLm1pbldpZHRoLCB3aWR0aDogY2VsbC53aWR0aCB9XCI+XG4gICAgICAgICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cImNlbGwubG9jVGl0bGVcIj48L3N2LW5nLXN0cmluZz5cbiAgICAgICAgICAgICAgPHN2LW5nLW1hdHJpeGhlYWRlcnJlcXVpcmVkICpuZ0lmPVwiISFjZWxsLmNvbHVtblwiIFtjb2x1bW5dPVwiY2VsbC5jb2x1bW5cIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIj5cbiAgICAgICAgICAgICAgPC9zdi1uZy1tYXRyaXhoZWFkZXJyZXF1aXJlZD5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cIiFjZWxsLmhhc1RpdGxlXCIgW2NsYXNzXT1cImNlbGwuY2xhc3NOYW1lXCIgW3N0eWxlXT1cInsgbWluV2lkdGg6IGNlbGwubWluV2lkdGgsIHdpZHRoOiBjZWxsLndpZHRoIH1cIj48L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIHRhYmxlLnJvd3M7IHRyYWNrQnk6IHRyYWNrUm93QnlcIiBbY2xhc3NdPVwicm93LmNsYXNzTmFtZVwiPlxuICAgICAgPHN2LW5nLW1hdHJpeC1jZWxsXG4gICAgICAgIFtjZWxsXT1cImNlbGxcIlxuICAgICAgICBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIlxuICAgICAgICAqbmdGb3I9XCJsZXQgY2VsbCBvZiByb3cuY2VsbHM7IHRyYWNrQnk6IHRyYWNrQ2VsbEJ5XCJcbiAgICAgID48L3N2LW5nLW1hdHJpeC1jZWxsPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG4gIDx0Zm9vdCAqbmdJZj1cInRhYmxlLnNob3dGb290ZXJcIj5cbiAgICA8dHI+XG4gICAgICA8c3YtbmctbWF0cml4LWNlbGwgW2NlbGxdPVwiY2VsbFwiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiICpuZ0Zvcj1cImxldCBjZWxsIG9mIHRhYmxlLmZvb3RlclJvdy5jZWxsczsgdHJhY2tCeTogdHJhY2tDZWxsQnlcIj5cbiAgICAgIDwvc3YtbmctbWF0cml4LWNlbGw+XG4gICAgPC90cj5cbiAgPC90Zm9vdD5cbjwvdGFibGU+Il19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { SurveyModel } from "survey-core";
|
|
3
|
+
import { BaseAngular } from "./base-angular";
|
|
4
|
+
import { AngularComponentFactory } from "./component-factory";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./utils/dynamic.directive";
|
|
7
|
+
export class TemplateRendererComponent extends BaseAngular {
|
|
8
|
+
getModel() {
|
|
9
|
+
return this.model;
|
|
10
|
+
}
|
|
11
|
+
get componentName() {
|
|
12
|
+
return this.model.isPanel ? "panel" : "question";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
TemplateRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TemplateRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
TemplateRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TemplateRendererComponent, selector: "sv-template-renderer", inputs: { model: "model", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-template [component]=\"{ name: componentName, data: { model: this.model } }\"></ng-template>\n</ng-template>", directives: [{ type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TemplateRendererComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: "sv-template-renderer", template: "<ng-template #template>\n <ng-template [component]=\"{ name: componentName, data: { model: this.model } }\"></ng-template>\n</ng-template>" }]
|
|
20
|
+
}], propDecorators: { model: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], componentData: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}] } });
|
|
25
|
+
AngularComponentFactory.Instance.registerComponent(SurveyModel.TemplateRendererComponentName, TemplateRendererComponent);
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3RlbXBsYXRlLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy90ZW1wbGF0ZS1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBOEMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBTTlELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxXQUFrQztJQUdyRSxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2xELENBQUM7O3NIQVJVLHlCQUF5QjswR0FBekIseUJBQXlCLCtJQ1R0Qyw2SUFFYzsyRkRPRCx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUl2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSzs7QUFRUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLDZCQUE2QixFQUFFLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCdXR0b25Hcm91cEl0ZW1Nb2RlbCwgUGFuZWxNb2RlbCwgUXVlc3Rpb24sIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtdGVtcGxhdGUtcmVuZGVyZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90ZW1wbGF0ZS1yZW5kZXJlci5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlUmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYW5lbE1vZGVsIHwgUXVlc3Rpb24+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsIHwgUXVlc3Rpb247XG4gIEBJbnB1dCgpIGNvbXBvbmVudERhdGE/OiBhbnk7XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYW5lbE1vZGVsIHwgUXVlc3Rpb24ge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG4gIHB1YmxpYyBnZXQgY29tcG9uZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLmlzUGFuZWwgPyBcInBhbmVsXCI6IFwicXVlc3Rpb25cIjtcbiAgfVxufVxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoU3VydmV5TW9kZWwuVGVtcGxhdGVSZW5kZXJlckNvbXBvbmVudE5hbWUsIFRlbXBsYXRlUmVuZGVyZXJDb21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogY29tcG9uZW50TmFtZSwgZGF0YTogeyBtb2RlbDogdGhpcy5tb2RlbCB9IH1cIj48L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -7,7 +7,8 @@ export class DynamicComponentDirective {
|
|
|
7
7
|
}
|
|
8
8
|
ngOnChanges(changes) {
|
|
9
9
|
const componentChanges = changes["component"];
|
|
10
|
-
if (componentChanges.currentValue.name !== componentChanges.previousValue?.name
|
|
10
|
+
if (componentChanges.currentValue.name !== componentChanges.previousValue?.name ||
|
|
11
|
+
(componentChanges.currentValue.name === undefined && componentChanges.previousValue === undefined && !this.componentInstance)) {
|
|
11
12
|
this.createComponent();
|
|
12
13
|
}
|
|
13
14
|
else {
|
|
@@ -22,6 +23,9 @@ export class DynamicComponentDirective {
|
|
|
22
23
|
else if (this.component.default) {
|
|
23
24
|
this.componentInstance = AngularComponentFactory.Instance.create(this.containerRef, this.component.default).instance;
|
|
24
25
|
}
|
|
26
|
+
if (!this.componentInstance) {
|
|
27
|
+
throw new Error(`Can't create component with name: ${this.component.name} and default: ${this.component.default}`);
|
|
28
|
+
}
|
|
25
29
|
this.updateComponentData();
|
|
26
30
|
}
|
|
27
31
|
updateComponentData() {
|
|
@@ -43,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
43
47
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { component: [{
|
|
44
48
|
type: Input
|
|
45
49
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvdXRpbHMvZHluYW1pYy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQThDLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVkvRCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQW9CLFlBQThCO1FBQTlCLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtJQUFJLENBQUM7SUFHdkQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLElBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsSUFBSTtZQUM1RSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLGdCQUFnQixDQUFDLGFBQWEsS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMvSCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUNuSDthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUU7WUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUN0SDtRQUNELElBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGlCQUFpQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDcEg7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsbUJBQW1CO1FBQ2pCLElBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTztRQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSEEvQlUseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7dUdBSVUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5pbnRlcmZhY2UgSUR5bmFtaWNDb21wb25lbnQge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG4gIGRlZmF1bHQ/OiBzdHJpbmc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbY29tcG9uZW50XVwiXG59KVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7IH1cbiAgQElucHV0KCkgY29tcG9uZW50ITogSUR5bmFtaWNDb21wb25lbnQ7XG4gIHByaXZhdGUgY29tcG9uZW50SW5zdGFuY2U6IGFueTtcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBvbmVudENoYW5nZXMgPSBjaGFuZ2VzW1wiY29tcG9uZW50XCJdO1xuICAgIGlmKGNvbXBvbmVudENoYW5nZXMuY3VycmVudFZhbHVlLm5hbWUgIT09IGNvbXBvbmVudENoYW5nZXMucHJldmlvdXNWYWx1ZT8ubmFtZSB8fFxuICAgICAgKGNvbXBvbmVudENoYW5nZXMuY3VycmVudFZhbHVlLm5hbWUgPT09IHVuZGVmaW5lZCAmJiBjb21wb25lbnRDaGFuZ2VzLnByZXZpb3VzVmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhdGhpcy5jb21wb25lbnRJbnN0YW5jZSkpIHtcbiAgICAgIHRoaXMuY3JlYXRlQ29tcG9uZW50KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlQ29tcG9uZW50RGF0YSgpO1xuICAgIH1cbiAgfVxuICBjcmVhdGVDb21wb25lbnQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICBpZihBbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5pc0NvbXBvbmVudFJlZ2lzdGVyZWQodGhpcy5jb21wb25lbnQubmFtZSkpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5jcmVhdGUodGhpcy5jb250YWluZXJSZWYsIHRoaXMuY29tcG9uZW50Lm5hbWUpLmluc3RhbmNlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb21wb25lbnQuZGVmYXVsdCkge1xuICAgICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLmNyZWF0ZSh0aGlzLmNvbnRhaW5lclJlZiwgdGhpcy5jb21wb25lbnQuZGVmYXVsdCkuaW5zdGFuY2U7XG4gICAgfVxuICAgIGlmKCF0aGlzLmNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGNyZWF0ZSBjb21wb25lbnQgd2l0aCBuYW1lOiAke3RoaXMuY29tcG9uZW50Lm5hbWV9IGFuZCBkZWZhdWx0OiAke3RoaXMuY29tcG9uZW50LmRlZmF1bHR9YCk7XG4gICAgfVxuICAgIHRoaXMudXBkYXRlQ29tcG9uZW50RGF0YSgpO1xuICB9XG4gIHVwZGF0ZUNvbXBvbmVudERhdGEoKTogdm9pZCB7XG4gICAgaWYoIXRoaXMuY29tcG9uZW50SW5zdGFuY2UpIHJldHVybjtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5jb21wb25lbnQuZGF0YTtcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2Vba2V5XSA9IGRhdGFba2V5XTtcbiAgICB9KTtcbiAgfVxufSJdfQ==
|