survey-angular-ui 1.9.72 → 1.9.75

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.
Files changed (232) hide show
  1. package/README.md +23 -192
  2. package/angular-ui.d.ts +2 -0
  3. package/angular-ui.module.d.ts +82 -80
  4. package/bundles/survey-angular-ui.umd.js +4338 -0
  5. package/bundles/survey-angular-ui.umd.js.map +1 -0
  6. package/component-factory.d.ts +2 -2
  7. package/components/character-counter/character-counter.component.d.ts +10 -0
  8. package/components/rating/rating-item.component.d.ts +13 -0
  9. package/esm2015/angular-ui.js +105 -0
  10. package/esm2015/angular-ui.module.js +188 -0
  11. package/esm2015/base-angular.js +128 -0
  12. package/esm2015/comment-other.component.js +35 -0
  13. package/esm2015/comment.component.js +24 -0
  14. package/esm2015/component-factory.js +26 -0
  15. package/esm2015/components/action-bar/action-bar-item-dropdown.component.js +36 -0
  16. package/esm2015/components/action-bar/action-bar-item.component.js +26 -0
  17. package/esm2015/components/action-bar/action-bar.component.js +47 -0
  18. package/esm2015/components/action-bar/action.component.js +31 -0
  19. package/esm2015/components/brand-info/brand-info.component.js +16 -0
  20. package/esm2015/components/character-counter/character-counter.component.js +25 -0
  21. package/esm2015/components/dropdown/dropdown.component.js +76 -0
  22. package/esm2015/components/element-header/element-header.component.js +35 -0
  23. package/esm2015/components/element-title/dynamic-head.component.js +24 -0
  24. package/esm2015/components/element-title/element-title.component.js +21 -0
  25. package/esm2015/components/element-title/title-actions.component.js +21 -0
  26. package/esm2015/components/list/list-item.component.js +52 -0
  27. package/esm2015/components/list/list.component.js +55 -0
  28. package/esm2015/components/matrix-actions/detail-button/detail-button.component.js +28 -0
  29. package/esm2015/components/matrix-actions/drag-drop-icon/drag-drop-icon.js +24 -0
  30. package/esm2015/components/matrix-actions/remove-button/remove-button.component.js +28 -0
  31. package/esm2015/components/notifier/notifier.component.js +26 -0
  32. package/esm2015/components/paneldynamic-actions/paneldynamic-add-btn.component.js +38 -0
  33. package/esm2015/components/paneldynamic-actions/paneldynamic-next-btn.component.js +21 -0
  34. package/esm2015/components/paneldynamic-actions/paneldynamic-prev-btn.component.js +21 -0
  35. package/esm2015/components/paneldynamic-actions/paneldynamic-progress-text.component.js +17 -0
  36. package/esm2015/components/paneldynamic-actions/paneldynamic-remove-btn.component.js +20 -0
  37. package/esm2015/components/popup/modal-container.component.js +46 -0
  38. package/esm2015/components/popup/popup-container.component.js +59 -0
  39. package/esm2015/components/popup/popup-pointer.component.js +25 -0
  40. package/esm2015/components/popup/popup.component.js +45 -0
  41. package/esm2015/components/popup/popup.service.js +26 -0
  42. package/esm2015/components/progress/buttons/progress.component.js +71 -0
  43. package/esm2015/components/progress/default/progress.component.js +30 -0
  44. package/esm2015/components/rating/rating-item.component.js +34 -0
  45. package/esm2015/components/renderAs/boolean-checkbox/boolean-checkbox.component.js +24 -0
  46. package/esm2015/components/renderAs/boolean-radio/boolean-radio-item.component.js +25 -0
  47. package/esm2015/components/renderAs/boolean-radio/boolean-radio.component.js +21 -0
  48. package/esm2015/components/renderAs/dropdown-select/dropdown-option-item.component.js +23 -0
  49. package/esm2015/components/renderAs/dropdown-select/dropdown-select.component.js +41 -0
  50. package/esm2015/components/renderAs/rating-dropdown/rating-dropdown.component.js +21 -0
  51. package/esm2015/components/skeleton/skeleton.component.js +20 -0
  52. package/esm2015/components/skeleton.component.js +19 -0
  53. package/esm2015/components/survey-actions/survey-nav-btn.component.js +26 -0
  54. package/esm2015/components/survey-header/logo-image.component.js +24 -0
  55. package/esm2015/components/survey-header/survey-header.component.js +33 -0
  56. package/esm2015/components/svg-icon/svg-icon.component.js +68 -0
  57. package/esm2015/components/tagbox/tagbox-filter.component.js +26 -0
  58. package/esm2015/components/tagbox/tagbox-item.component.js +30 -0
  59. package/esm2015/components/tagbox/tagbox.component.js +52 -0
  60. package/esm2015/components/timer-panel/timer-panel.component.js +35 -0
  61. package/esm2015/element.component.js +59 -0
  62. package/esm2015/embedded-view-content.component.js +25 -0
  63. package/esm2015/errors.component.js +61 -0
  64. package/esm2015/page.component.js +40 -0
  65. package/esm2015/panel.component.js +42 -0
  66. package/esm2015/popup.survey.component.js +49 -0
  67. package/esm2015/question.component.js +58 -0
  68. package/esm2015/question.js +35 -0
  69. package/esm2015/questions/boolean.component.js +23 -0
  70. package/esm2015/questions/button-group/button-group-item.component.js +33 -0
  71. package/esm2015/questions/button-group/button-group.component.js +17 -0
  72. package/esm2015/questions/checkbox-item.component.js +28 -0
  73. package/esm2015/questions/checkbox.component.js +20 -0
  74. package/esm2015/questions/comment.component.js +22 -0
  75. package/esm2015/questions/composite.component.js +21 -0
  76. package/esm2015/questions/custom.component.js +27 -0
  77. package/esm2015/questions/customwidget.component.js +54 -0
  78. package/esm2015/questions/dropdown.component.js +20 -0
  79. package/esm2015/questions/expression.component.js +17 -0
  80. package/esm2015/questions/file.component.js +29 -0
  81. package/esm2015/questions/html.component.js +29 -0
  82. package/esm2015/questions/image.component.js +29 -0
  83. package/esm2015/questions/imagepicker-item.component.js +52 -0
  84. package/esm2015/questions/imagepicker.component.js +32 -0
  85. package/esm2015/questions/matrix-row.component.js +31 -0
  86. package/esm2015/questions/matrix.component.js +40 -0
  87. package/esm2015/questions/matrixcell.component.js +94 -0
  88. package/esm2015/questions/matrixdropdown.component.js +19 -0
  89. package/esm2015/questions/matrixdynamic.component.js +20 -0
  90. package/esm2015/questions/matrixrequiredheader.component.js +24 -0
  91. package/esm2015/questions/matrixtable.component.js +34 -0
  92. package/esm2015/questions/multipletext.component.js +28 -0
  93. package/esm2015/questions/multipletextitem.component.js +26 -0
  94. package/esm2015/questions/paneldynamic.component.js +82 -0
  95. package/esm2015/questions/radiogroup-item.component.js +22 -0
  96. package/esm2015/questions/radiogroup.component.js +25 -0
  97. package/esm2015/questions/ranking-item.component.js +27 -0
  98. package/esm2015/questions/ranking.component.js +34 -0
  99. package/esm2015/questions/rating.component.js +27 -0
  100. package/esm2015/questions/selectbase-item.js +37 -0
  101. package/esm2015/questions/selectbase.component.js +53 -0
  102. package/esm2015/questions/signature.component.js +20 -0
  103. package/esm2015/questions/tagbox.component.js +20 -0
  104. package/esm2015/questions/text.component.js +21 -0
  105. package/esm2015/row.component.js +63 -0
  106. package/esm2015/string-editor.component.js +29 -0
  107. package/esm2015/string-viewer.component.js +41 -0
  108. package/esm2015/survey-angular-ui.js +5 -0
  109. package/esm2015/survey-content.component.js +72 -0
  110. package/esm2015/survey-string.component.js +17 -0
  111. package/esm2015/survey.component.js +32 -0
  112. package/esm2015/template-renderer.component.js +27 -0
  113. package/esm2015/utils/dynamic.directive.js +54 -0
  114. package/esm2015/utils/ng-key2click.directive.js +69 -0
  115. package/esm2015/utils/ng-show.directive.js +27 -0
  116. package/esm2015/utils/safe-html.pipe.js +18 -0
  117. package/esm2015/utils/safe-url.pipe.js +33 -0
  118. package/esm2020/angular-ui.mjs +103 -103
  119. package/esm2020/angular-ui.module.mjs +184 -184
  120. package/esm2020/base-angular.mjs +128 -128
  121. package/esm2020/comment-other.component.mjs +32 -32
  122. package/esm2020/comment.component.mjs +21 -21
  123. package/esm2020/component-factory.mjs +26 -26
  124. package/esm2020/components/action-bar/action-bar-item-dropdown.component.mjs +32 -32
  125. package/esm2020/components/action-bar/action-bar-item.component.mjs +22 -22
  126. package/esm2020/components/action-bar/action-bar.component.mjs +43 -43
  127. package/esm2020/components/action-bar/action.component.mjs +27 -27
  128. package/esm2020/components/brand-info/brand-info.component.mjs +13 -13
  129. package/esm2020/components/dropdown/dropdown.component.mjs +66 -66
  130. package/esm2020/components/element-header/element-header.component.mjs +32 -32
  131. package/esm2020/components/element-title/dynamic-head.component.mjs +20 -20
  132. package/esm2020/components/element-title/element-title.component.mjs +17 -17
  133. package/esm2020/components/element-title/title-actions.component.mjs +17 -17
  134. package/esm2020/components/list/list-item.component.mjs +48 -48
  135. package/esm2020/components/list/list.component.mjs +50 -50
  136. package/esm2020/components/matrix-actions/detail-button/detail-button.component.mjs +25 -25
  137. package/esm2020/components/matrix-actions/drag-drop-icon/drag-drop-icon.mjs +20 -20
  138. package/esm2020/components/matrix-actions/remove-button/remove-button.component.mjs +25 -25
  139. package/esm2020/components/notifier/notifier.component.mjs +22 -22
  140. package/esm2020/components/paneldynamic-actions/paneldynamic-add-btn.component.mjs +35 -35
  141. package/esm2020/components/paneldynamic-actions/paneldynamic-next-btn.component.mjs +18 -18
  142. package/esm2020/components/paneldynamic-actions/paneldynamic-prev-btn.component.mjs +18 -18
  143. package/esm2020/components/paneldynamic-actions/paneldynamic-progress-text.component.mjs +14 -14
  144. package/esm2020/components/paneldynamic-actions/paneldynamic-remove-btn.component.mjs +17 -17
  145. package/esm2020/components/popup/modal-container.component.mjs +42 -42
  146. package/esm2020/components/popup/popup-container.component.mjs +56 -56
  147. package/esm2020/components/popup/popup-pointer.component.mjs +22 -22
  148. package/esm2020/components/popup/popup.component.mjs +43 -43
  149. package/esm2020/components/popup/popup.service.mjs +26 -26
  150. package/esm2020/components/progress/buttons/progress.component.mjs +67 -67
  151. package/esm2020/components/progress/default/progress.component.mjs +27 -27
  152. package/esm2020/components/renderAs/boolean-checkbox/boolean-checkbox.component.mjs +21 -21
  153. package/esm2020/components/renderAs/boolean-radio/boolean-radio-item.component.mjs +22 -22
  154. package/esm2020/components/renderAs/boolean-radio/boolean-radio.component.mjs +18 -18
  155. package/esm2020/components/renderAs/dropdown-select/dropdown-option-item.component.mjs +23 -23
  156. package/esm2020/components/renderAs/dropdown-select/dropdown-select.component.mjs +38 -38
  157. package/esm2020/components/renderAs/rating-dropdown/rating-dropdown.component.mjs +18 -18
  158. package/esm2020/components/skeleton/skeleton.component.mjs +16 -16
  159. package/esm2020/components/skeleton.component.mjs +15 -15
  160. package/esm2020/components/survey-actions/survey-nav-btn.component.mjs +22 -22
  161. package/esm2020/components/survey-header/logo-image.component.mjs +20 -20
  162. package/esm2020/components/survey-header/survey-header.component.mjs +30 -30
  163. package/esm2020/components/svg-icon/svg-icon.component.mjs +68 -68
  164. package/esm2020/components/tagbox/tagbox-filter.component.mjs +22 -22
  165. package/esm2020/components/tagbox/tagbox-item.component.mjs +27 -27
  166. package/esm2020/components/tagbox/tagbox.component.mjs +44 -44
  167. package/esm2020/components/timer-panel/timer-panel.component.mjs +32 -32
  168. package/esm2020/element.component.mjs +55 -55
  169. package/esm2020/embedded-view-content.component.mjs +24 -24
  170. package/esm2020/errors.component.mjs +58 -58
  171. package/esm2020/page.component.mjs +35 -35
  172. package/esm2020/panel.component.mjs +38 -38
  173. package/esm2020/popup.survey.component.mjs +44 -44
  174. package/esm2020/question.component.mjs +54 -54
  175. package/esm2020/question.mjs +33 -33
  176. package/esm2020/questions/boolean.component.mjs +20 -20
  177. package/esm2020/questions/button-group/button-group-item.component.mjs +29 -29
  178. package/esm2020/questions/button-group/button-group.component.mjs +14 -14
  179. package/esm2020/questions/checkbox-item.component.mjs +24 -36
  180. package/esm2020/questions/checkbox.component.mjs +17 -17
  181. package/esm2020/questions/comment.component.mjs +18 -18
  182. package/esm2020/questions/composite.component.mjs +21 -21
  183. package/esm2020/questions/custom.component.mjs +27 -27
  184. package/esm2020/questions/customwidget.component.mjs +51 -51
  185. package/esm2020/questions/dropdown.component.mjs +17 -17
  186. package/esm2020/questions/expression.component.mjs +17 -17
  187. package/esm2020/questions/file.component.mjs +25 -25
  188. package/esm2020/questions/html.component.mjs +25 -25
  189. package/esm2020/questions/image.component.mjs +26 -26
  190. package/esm2020/questions/imagepicker-item.component.mjs +48 -48
  191. package/esm2020/questions/imagepicker.component.mjs +29 -29
  192. package/esm2020/questions/matrix-row.component.mjs +27 -27
  193. package/esm2020/questions/matrix.component.mjs +36 -36
  194. package/esm2020/questions/matrixcell.component.mjs +90 -90
  195. package/esm2020/questions/matrixdropdown.component.mjs +16 -16
  196. package/esm2020/questions/matrixdynamic.component.mjs +17 -17
  197. package/esm2020/questions/matrixrequiredheader.component.mjs +24 -24
  198. package/esm2020/questions/matrixtable.component.mjs +31 -31
  199. package/esm2020/questions/multipletext.component.mjs +25 -25
  200. package/esm2020/questions/multipletextitem.component.mjs +23 -23
  201. package/esm2020/questions/paneldynamic.component.mjs +79 -79
  202. package/esm2020/questions/radiogroup-item.component.mjs +18 -18
  203. package/esm2020/questions/radiogroup.component.mjs +22 -22
  204. package/esm2020/questions/ranking-item.component.mjs +24 -24
  205. package/esm2020/questions/ranking.component.mjs +31 -31
  206. package/esm2020/questions/rating.component.mjs +23 -23
  207. package/esm2020/questions/selectbase-item.mjs +33 -33
  208. package/esm2020/questions/selectbase.component.mjs +50 -47
  209. package/esm2020/questions/signature.component.mjs +17 -17
  210. package/esm2020/questions/tagbox.component.mjs +17 -17
  211. package/esm2020/questions/text.component.mjs +16 -16
  212. package/esm2020/row.component.mjs +58 -58
  213. package/esm2020/string-editor.component.mjs +26 -26
  214. package/esm2020/string-viewer.component.mjs +37 -37
  215. package/esm2020/survey-angular-ui.mjs +5 -5
  216. package/esm2020/survey-content.component.mjs +69 -69
  217. package/esm2020/survey-string.component.mjs +17 -17
  218. package/esm2020/survey.component.mjs +32 -32
  219. package/esm2020/template-renderer.component.mjs +23 -23
  220. package/esm2020/utils/dynamic.directive.mjs +52 -52
  221. package/esm2020/utils/ng-key2click.directive.mjs +69 -69
  222. package/esm2020/utils/ng-show.directive.mjs +27 -27
  223. package/esm2020/utils/safe-html.pipe.mjs +18 -18
  224. package/esm2020/utils/safe-url.pipe.mjs +33 -33
  225. package/fesm2015/survey-angular-ui.js +3206 -0
  226. package/fesm2015/survey-angular-ui.js.map +1 -0
  227. package/fesm2015/survey-angular-ui.mjs +2864 -2873
  228. package/fesm2015/survey-angular-ui.mjs.map +1 -1
  229. package/fesm2020/survey-angular-ui.mjs +2839 -2848
  230. package/fesm2020/survey-angular-ui.mjs.map +1 -1
  231. package/package.json +6 -19
  232. package/utils/dynamic.directive.d.ts +3 -2
@@ -1,48 +1,48 @@
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 "../components/svg-icon/svg-icon.component";
6
- import * as i2 from "../survey-string.component";
7
- import * as i3 from "@angular/common";
8
- export class ImagePickerItemComponent extends BaseAngular {
9
- getModel() {
10
- return this.model;
11
- }
12
- onChange(event) {
13
- if (this.question.multiSelect) {
14
- if (event.target.checked) {
15
- this.question.value = this.question.value.concat(event.target.value);
16
- }
17
- else {
18
- var currValue = this.question.value;
19
- currValue.splice(this.question.value.indexOf(event.target.value), 1);
20
- this.question.value = currValue;
21
- }
22
- }
23
- else {
24
- this.question.value = event.target.value;
25
- }
26
- }
27
- ngAfterViewInit() {
28
- this.model.locImageLink.onChanged = () => {
29
- this.detectChanges();
30
- };
31
- }
32
- ngOnDestroy() {
33
- super.ngOnDestroy();
34
- this.model.locImageLink.onChanged = () => { };
35
- }
36
- }
37
- ImagePickerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImagePickerItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
38
- ImagePickerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ImagePickerItemComponent, selector: "sv-ng-imagepicker-item", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth\" [style.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\">\n <svg [class]=\"question.cssClasses.itemNoImageSvgIcon\" *ngIf=\"question.cssClasses.itemNoImageSvgIcon\">\n <use [attr.xlink:href]=\"question.cssClasses.itemNoImageSvgIconId\"></use>\n </svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImagePickerItemComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: "sv-ng-imagepicker-item", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth\" [style.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\">\n <svg [class]=\"question.cssClasses.itemNoImageSvgIcon\" *ngIf=\"question.cssClasses.itemNoImageSvgIcon\">\n <use [attr.xlink:href]=\"question.cssClasses.itemNoImageSvgIconId\"></use>\n </svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\n</ng-template>" }]
42
- }], propDecorators: { question: [{
43
- type: Input
44
- }], model: [{
45
- type: Input
46
- }] } });
47
- AngularComponentFactory.Instance.registerComponent("sv-ng-imagepicker-item", ImagePickerItemComponent);
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VwaWNrZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL2ltYWdlcGlja2VyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9pbWFnZXBpY2tlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBTS9ELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUEyQjtJQUc3RCxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUM3QixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0RTtpQkFBTTtnQkFDTCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDcEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO2FBQ2pDO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUM7SUFDSixDQUFDO0lBQ1EsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOztxSEEzQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsdUlDVHJDLDJtRkF1QmM7MkZEZEQsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHdCQUF3QixVQUUxQixDQUFDLDBCQUEwQixDQUFDOzhCQUczQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSzs7QUE0QlIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgSW1hZ2VJdGVtVmFsdWUsIFF1ZXN0aW9uSW1hZ2VQaWNrZXJNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1pbWFnZXBpY2tlci1pdGVtXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW1hZ2VwaWNrZXItaXRlbS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVBpY2tlckl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxJbWFnZUl0ZW1WYWx1ZT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbkltYWdlUGlja2VyTW9kZWw7XG4gIEBJbnB1dCgpIG1vZGVsITogSW1hZ2VJdGVtVmFsdWU7XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBJbWFnZUl0ZW1WYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLnF1ZXN0aW9uLm11bHRpU2VsZWN0KSB7XG4gICAgICBpZiAoZXZlbnQudGFyZ2V0LmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5xdWVzdGlvbi52YWx1ZSA9IHRoaXMucXVlc3Rpb24udmFsdWUuY29uY2F0KGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgY3VyclZhbHVlID0gdGhpcy5xdWVzdGlvbi52YWx1ZTtcbiAgICAgICAgY3VyclZhbHVlLnNwbGljZSh0aGlzLnF1ZXN0aW9uLnZhbHVlLmluZGV4T2YoZXZlbnQudGFyZ2V0LnZhbHVlKSwgMSk7XG4gICAgICAgIHRoaXMucXVlc3Rpb24udmFsdWUgPSBjdXJyVmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlc3Rpb24udmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLmxvY0ltYWdlTGluay5vbkNoYW5nZWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuICB9XG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5tb2RlbC5sb2NJbWFnZUxpbmsub25DaGFuZ2VkID0gKCkgPT4ge307XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1uZy1pbWFnZXBpY2tlci1pdGVtXCIsIEltYWdlUGlja2VySXRlbUNvbXBvbmVudCk7IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0SXRlbUNsYXNzKG1vZGVsKVwiPlxuICAgIDxsYWJlbCBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5sYWJlbFwiPlxuICAgICAgICA8aW5wdXQgW3R5cGVdPVwicXVlc3Rpb24uaW5wdXRUeXBlXCIgW2F0dHIubmFtZV09XCJxdWVzdGlvbi5xdWVzdGlvbk5hbWVcIiBbYXR0ci52YWx1ZV09XCJtb2RlbC52YWx1ZVwiIFtpZF09XCJxdWVzdGlvbi5nZXRJdGVtSWQobW9kZWwpXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJxdWVzdGlvbi5hcmlhUmVxdWlyZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLmFyaWFMYWJlbFwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJxdWVzdGlvbi5hcmlhSW52YWxpZFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwicXVlc3Rpb24uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgW2NoZWNrZWRdPVwicXVlc3Rpb24uaXNJdGVtU2VsZWN0ZWQobW9kZWwpXCIgW2Rpc2FibGVkXT1cIiFxdWVzdGlvbi5nZXRJdGVtRW5hYmxlZChtb2RlbClcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtQ29udHJvbFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuaXRlbURlY29yYXRvclwiPlxuICAgICAgICAgICAgPGRpdiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pbWFnZUNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2hlY2tlZEl0ZW1EZWNvcmF0b3JcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jaGVja2VkSXRlbURlY29yYXRvclwiPlxuICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNoZWNrZWRJdGVtU3ZnSWNvbklkXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2hlY2tlZEl0ZW1TdmdJY29uXCIgW2ljb25OYW1lXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2hlY2tlZEl0ZW1TdmdJY29uSWRcIiBbc2l6ZV09XCInYXV0bydcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibW9kZWwubG9jSW1hZ2VMaW5rLnJlbmRlcmVkSHRtbCAmJiBxdWVzdGlvbi5jb250ZW50TW9kZSA9PT0gJ2ltYWdlJ1wiIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmltYWdlXCIgW2F0dHIuc3JjXT1cIm1vZGVsLmxvY0ltYWdlTGluay5yZW5kZXJlZEh0bWxcIiBbYXR0ci53aWR0aF09XCJxdWVzdGlvbi5yZW5kZXJlZEltYWdlV2lkdGhcIiBbYXR0ci5oZWlnaHRdPVwicXVlc3Rpb24ucmVuZGVyZWRJbWFnZUhlaWdodFwiIFthdHRyLmFsdF09XCJtb2RlbC5sb2NUZXh0LnJlbmRlcmVkSHRtbFwiICBbc3R5bGUub2JqZWN0Rml0XT1cInF1ZXN0aW9uLmltYWdlRml0XCIgKGxvYWQpPVwicXVlc3Rpb24ub25Db250ZW50TG9hZGVkKG1vZGVsLCAkZXZlbnQpXCIvPlxuICAgICAgICAgICAgICA8dmlkZW8gKm5nSWY9XCJtb2RlbC5sb2NJbWFnZUxpbmsucmVuZGVyZWRIdG1sICYmIHF1ZXN0aW9uLmNvbnRlbnRNb2RlID09PSAndmlkZW8nXCIgY29udHJvbHMgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuaW1hZ2VcIiBbYXR0ci5zcmNdPVwibW9kZWwubG9jSW1hZ2VMaW5rLnJlbmRlcmVkSHRtbFwiIFthdHRyLndpZHRoXT1cInF1ZXN0aW9uLnJlbmRlcmVkSW1hZ2VXaWR0aFwiIFthdHRyLmhlaWdodF09XCJxdWVzdGlvbi5yZW5kZXJlZEltYWdlSGVpZ2h0XCIgW3N0eWxlLm9iamVjdEZpdF09XCJxdWVzdGlvbi5pbWFnZUZpdFwiIChsb2FkZWRtZXRhZGF0YSk9XCJxdWVzdGlvbi5vbkNvbnRlbnRMb2FkZWQobW9kZWwsICRldmVudClcIj48L3ZpZGVvPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmxvY0ltYWdlTGluay5yZW5kZXJlZEh0bWxcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtTm9JbWFnZVwiIFtzdHlsZS53aWR0aF09XCJxdWVzdGlvbi5yZW5kZXJlZEltYWdlV2lkdGhcIiBbc3R5bGUuaGVpZ2h0XT1cInF1ZXN0aW9uLnJlbmRlcmVkSW1hZ2VIZWlnaHRcIiBbc3R5bGUub2JqZWN0Rml0XT1cInF1ZXN0aW9uLmltYWdlRml0XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtTm9JbWFnZVN2Z0ljb25cIiAqbmdJZj1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuaXRlbU5vSW1hZ2VTdmdJY29uXCI+XG4gICAgICAgICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtTm9JbWFnZVN2Z0ljb25JZFwiPjwvdXNlPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJxdWVzdGlvbi5zaG93TGFiZWxcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtVGV4dFwiIFttb2RlbF09XCJtb2RlbC5sb2NUZXh0XCIgc3Ytbmctc3RyaW5nPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
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 "../components/svg-icon/svg-icon.component";
6
+ import * as i2 from "../survey-string.component";
7
+ import * as i3 from "@angular/common";
8
+ export class ImagePickerItemComponent extends BaseAngular {
9
+ getModel() {
10
+ return this.model;
11
+ }
12
+ onChange(event) {
13
+ if (this.question.multiSelect) {
14
+ if (event.target.checked) {
15
+ this.question.value = this.question.value.concat(event.target.value);
16
+ }
17
+ else {
18
+ var currValue = this.question.value;
19
+ currValue.splice(this.question.value.indexOf(event.target.value), 1);
20
+ this.question.value = currValue;
21
+ }
22
+ }
23
+ else {
24
+ this.question.value = event.target.value;
25
+ }
26
+ }
27
+ ngAfterViewInit() {
28
+ this.model.locImageLink.onChanged = () => {
29
+ this.detectChanges();
30
+ };
31
+ }
32
+ ngOnDestroy() {
33
+ super.ngOnDestroy();
34
+ this.model.locImageLink.onChanged = () => { };
35
+ }
36
+ }
37
+ ImagePickerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImagePickerItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
38
+ ImagePickerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ImagePickerItemComponent, selector: "sv-ng-imagepicker-item", inputs: { question: "question", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth\" [style.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\">\n <svg [class]=\"question.cssClasses.itemNoImageSvgIcon\" *ngIf=\"question.cssClasses.itemNoImageSvgIcon\">\n <use [attr.xlink:href]=\"question.cssClasses.itemNoImageSvgIconId\"></use>\n </svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImagePickerItemComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: "sv-ng-imagepicker-item", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div [class]=\"question.getItemClass(model)\">\n <label [class]=\"question.cssClasses.label\">\n <input [type]=\"question.inputType\" [attr.name]=\"question.questionName\" [attr.value]=\"model.value\" [id]=\"question.getItemId(model)\" [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\" [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\"\n (change)=\"onChange($event)\" [checked]=\"question.isItemSelected(model)\" [disabled]=\"!question.getItemEnabled(model)\" [class]=\"question.cssClasses.itemControl\"\n />\n <div [class]=\"question.cssClasses.itemDecorator\">\n <div [class]=\"question.cssClasses.imageContainer\">\n <span *ngIf=\"question.cssClasses.checkedItemDecorator\" [class]=\"question.cssClasses.checkedItemDecorator\">\n <svg *ngIf=\"question.cssClasses.checkedItemSvgIconId\" [class]=\"question.cssClasses.checkedItemSvgIcon\" [iconName]=\"question.cssClasses.checkedItemSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <img *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'image'\" [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [attr.alt]=\"model.locText.renderedHtml\" [style.objectFit]=\"question.imageFit\" (load)=\"question.onContentLoaded(model, $event)\"/>\n <video *ngIf=\"model.locImageLink.renderedHtml && question.contentMode === 'video'\" controls [class]=\"question.cssClasses.image\" [attr.src]=\"model.locImageLink.renderedHtml\" [attr.width]=\"question.renderedImageWidth\" [attr.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\" (loadedmetadata)=\"question.onContentLoaded(model, $event)\"></video>\n <div *ngIf=\"!model.locImageLink.renderedHtml\" [class]=\"question.cssClasses.itemNoImage\" [style.width]=\"question.renderedImageWidth\" [style.height]=\"question.renderedImageHeight\" [style.objectFit]=\"question.imageFit\">\n <svg [class]=\"question.cssClasses.itemNoImageSvgIcon\" *ngIf=\"question.cssClasses.itemNoImageSvgIcon\">\n <use [attr.xlink:href]=\"question.cssClasses.itemNoImageSvgIconId\"></use>\n </svg>\n </div>\n </div>\n <span *ngIf=\"question.showLabel\" [class]=\"question.cssClasses.itemText\" [model]=\"model.locText\" sv-ng-string></span>\n </div>\n </label>\n </div>\n</ng-template>" }]
42
+ }], propDecorators: { question: [{
43
+ type: Input
44
+ }], model: [{
45
+ type: Input
46
+ }] } });
47
+ AngularComponentFactory.Instance.registerComponent("sv-ng-imagepicker-item", ImagePickerItemComponent);
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VwaWNrZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL2ltYWdlcGlja2VyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9pbWFnZXBpY2tlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBTS9ELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxXQUEyQjtJQUc3RCxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUM3QixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0RTtpQkFBTTtnQkFDTCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDcEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO2FBQ2pDO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUM7SUFDSixDQUFDO0lBQ1EsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOztxSEEzQlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsdUlDVHJDLDJtRkF1QmM7MkZEZEQsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHdCQUF3QixVQUUxQixDQUFDLDBCQUEwQixDQUFDOzhCQUczQixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSzs7QUE0QlIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgSW1hZ2VJdGVtVmFsdWUsIFF1ZXN0aW9uSW1hZ2VQaWNrZXJNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1pbWFnZXBpY2tlci1pdGVtXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW1hZ2VwaWNrZXItaXRlbS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZVBpY2tlckl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxJbWFnZUl0ZW1WYWx1ZT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbkltYWdlUGlja2VyTW9kZWw7XG4gIEBJbnB1dCgpIG1vZGVsITogSW1hZ2VJdGVtVmFsdWU7XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBJbWFnZUl0ZW1WYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGlmICh0aGlzLnF1ZXN0aW9uLm11bHRpU2VsZWN0KSB7XG4gICAgICBpZiAoZXZlbnQudGFyZ2V0LmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5xdWVzdGlvbi52YWx1ZSA9IHRoaXMucXVlc3Rpb24udmFsdWUuY29uY2F0KGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgY3VyclZhbHVlID0gdGhpcy5xdWVzdGlvbi52YWx1ZTtcbiAgICAgICAgY3VyclZhbHVlLnNwbGljZSh0aGlzLnF1ZXN0aW9uLnZhbHVlLmluZGV4T2YoZXZlbnQudGFyZ2V0LnZhbHVlKSwgMSk7XG4gICAgICAgIHRoaXMucXVlc3Rpb24udmFsdWUgPSBjdXJyVmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlc3Rpb24udmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLmxvY0ltYWdlTGluay5vbkNoYW5nZWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuICB9XG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5tb2RlbC5sb2NJbWFnZUxpbmsub25DaGFuZ2VkID0gKCkgPT4ge307XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1uZy1pbWFnZXBpY2tlci1pdGVtXCIsIEltYWdlUGlja2VySXRlbUNvbXBvbmVudCk7IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0SXRlbUNsYXNzKG1vZGVsKVwiPlxuICAgIDxsYWJlbCBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5sYWJlbFwiPlxuICAgICAgICA8aW5wdXQgW3R5cGVdPVwicXVlc3Rpb24uaW5wdXRUeXBlXCIgW2F0dHIubmFtZV09XCJxdWVzdGlvbi5xdWVzdGlvbk5hbWVcIiBbYXR0ci52YWx1ZV09XCJtb2RlbC52YWx1ZVwiIFtpZF09XCJxdWVzdGlvbi5nZXRJdGVtSWQobW9kZWwpXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJxdWVzdGlvbi5hcmlhUmVxdWlyZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLmFyaWFMYWJlbFwiIFthdHRyLmFyaWEtaW52YWxpZF09XCJxdWVzdGlvbi5hcmlhSW52YWxpZFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwicXVlc3Rpb24uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCIgW2NoZWNrZWRdPVwicXVlc3Rpb24uaXNJdGVtU2VsZWN0ZWQobW9kZWwpXCIgW2Rpc2FibGVkXT1cIiFxdWVzdGlvbi5nZXRJdGVtRW5hYmxlZChtb2RlbClcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtQ29udHJvbFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuaXRlbURlY29yYXRvclwiPlxuICAgICAgICAgICAgPGRpdiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pbWFnZUNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2hlY2tlZEl0ZW1EZWNvcmF0b3JcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jaGVja2VkSXRlbURlY29yYXRvclwiPlxuICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNoZWNrZWRJdGVtU3ZnSWNvbklkXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2hlY2tlZEl0ZW1TdmdJY29uXCIgW2ljb25OYW1lXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2hlY2tlZEl0ZW1TdmdJY29uSWRcIiBbc2l6ZV09XCInYXV0bydcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibW9kZWwubG9jSW1hZ2VMaW5rLnJlbmRlcmVkSHRtbCAmJiBxdWVzdGlvbi5jb250ZW50TW9kZSA9PT0gJ2ltYWdlJ1wiIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmltYWdlXCIgW2F0dHIuc3JjXT1cIm1vZGVsLmxvY0ltYWdlTGluay5yZW5kZXJlZEh0bWxcIiBbYXR0ci53aWR0aF09XCJxdWVzdGlvbi5yZW5kZXJlZEltYWdlV2lkdGhcIiBbYXR0ci5oZWlnaHRdPVwicXVlc3Rpb24ucmVuZGVyZWRJbWFnZUhlaWdodFwiIFthdHRyLmFsdF09XCJtb2RlbC5sb2NUZXh0LnJlbmRlcmVkSHRtbFwiICBbc3R5bGUub2JqZWN0Rml0XT1cInF1ZXN0aW9uLmltYWdlRml0XCIgKGxvYWQpPVwicXVlc3Rpb24ub25Db250ZW50TG9hZGVkKG1vZGVsLCAkZXZlbnQpXCIvPlxuICAgICAgICAgICAgICA8dmlkZW8gKm5nSWY9XCJtb2RlbC5sb2NJbWFnZUxpbmsucmVuZGVyZWRIdG1sICYmIHF1ZXN0aW9uLmNvbnRlbnRNb2RlID09PSAndmlkZW8nXCIgY29udHJvbHMgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuaW1hZ2VcIiBbYXR0ci5zcmNdPVwibW9kZWwubG9jSW1hZ2VMaW5rLnJlbmRlcmVkSHRtbFwiIFthdHRyLndpZHRoXT1cInF1ZXN0aW9uLnJlbmRlcmVkSW1hZ2VXaWR0aFwiIFthdHRyLmhlaWdodF09XCJxdWVzdGlvbi5yZW5kZXJlZEltYWdlSGVpZ2h0XCIgW3N0eWxlLm9iamVjdEZpdF09XCJxdWVzdGlvbi5pbWFnZUZpdFwiIChsb2FkZWRtZXRhZGF0YSk9XCJxdWVzdGlvbi5vbkNvbnRlbnRMb2FkZWQobW9kZWwsICRldmVudClcIj48L3ZpZGVvPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLmxvY0ltYWdlTGluay5yZW5kZXJlZEh0bWxcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtTm9JbWFnZVwiIFtzdHlsZS53aWR0aF09XCJxdWVzdGlvbi5yZW5kZXJlZEltYWdlV2lkdGhcIiBbc3R5bGUuaGVpZ2h0XT1cInF1ZXN0aW9uLnJlbmRlcmVkSW1hZ2VIZWlnaHRcIiBbc3R5bGUub2JqZWN0Rml0XT1cInF1ZXN0aW9uLmltYWdlRml0XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtTm9JbWFnZVN2Z0ljb25cIiAqbmdJZj1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuaXRlbU5vSW1hZ2VTdmdJY29uXCI+XG4gICAgICAgICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtTm9JbWFnZVN2Z0ljb25JZFwiPjwvdXNlPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJxdWVzdGlvbi5zaG93TGFiZWxcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5pdGVtVGV4dFwiIFttb2RlbF09XCJtb2RlbC5sb2NUZXh0XCIgc3Ytbmctc3RyaW5nPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,29 +1,29 @@
1
- import { Component } from "@angular/core";
2
- import { QuestionAngular } from "../question";
3
- import { AngularComponentFactory } from "../component-factory";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../utils/dynamic.directive";
7
- export class ImagePickerQuestionComponent extends QuestionAngular {
8
- getItemValueComponentName(item) {
9
- return this.model.getItemValueWrapperComponentName(item) || "sv-ng-imagepicker-item";
10
- }
11
- getItemValueComponentData(item) {
12
- return {
13
- componentName: "sv-ng-imagepicker-item",
14
- componentData: {
15
- question: this.model,
16
- model: item,
17
- data: this.model.getItemValueWrapperComponentData(item)
18
- }
19
- };
20
- }
21
- }
22
- ImagePickerQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImagePickerQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
- ImagePickerQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ImagePickerQuestionComponent, selector: "sv-ng-imagepicker-question", usesInheritance: true, ngImport: i0, template: " <fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\" role=\"radio\"></legend>\n <ng-container *ngIf=\"!model.hasColumns\">\n <ng-container *ngFor=\"let item of model.visibleChoices\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.hasColumns\">\n <div *ngFor=\"let column of model.columns\" [class]=\"model.getColumnClass()\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </fieldset>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImagePickerQuestionComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: "sv-ng-imagepicker-question", template: " <fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\" role=\"radio\"></legend>\n <ng-container *ngIf=\"!model.hasColumns\">\n <ng-container *ngFor=\"let item of model.visibleChoices\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.hasColumns\">\n <div *ngFor=\"let column of model.columns\" [class]=\"model.getColumnClass()\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </fieldset>" }]
27
- }] });
28
- AngularComponentFactory.Instance.registerComponent("imagepicker-question", ImagePickerQuestionComponent);
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9pbWFnZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL2ltYWdlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsZUFBeUM7SUFDbEYseUJBQXlCLENBQUMsSUFBZTtRQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLElBQUksd0JBQXdCLENBQUM7SUFDdkYsQ0FBQztJQUNNLHlCQUF5QixDQUFDLElBQWU7UUFDOUMsT0FBTztZQUNMLGFBQWEsRUFBRSx3QkFBd0I7WUFDdkMsYUFBYSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDcEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDO2FBQ3hEO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3lIQWJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHlGQ1R6QyxrNEJBY2E7MkZETEEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDRCQUE0Qjs7QUFvQnhDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uQW5ndWxhciB9IGZyb20gXCIuLi9xdWVzdGlvblwiO1xuaW1wb3J0IHsgSW1hZ2VJdGVtVmFsdWUsIEl0ZW1WYWx1ZSwgUXVlc3Rpb25JbWFnZVBpY2tlck1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctaW1hZ2VwaWNrZXItcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbWFnZXBpY2tlci5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlUGlja2VyUXVlc3Rpb25Db21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkFuZ3VsYXI8UXVlc3Rpb25JbWFnZVBpY2tlck1vZGVsPiB7XG4gIHB1YmxpYyBnZXRJdGVtVmFsdWVDb21wb25lbnROYW1lKGl0ZW06IEl0ZW1WYWx1ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuZ2V0SXRlbVZhbHVlV3JhcHBlckNvbXBvbmVudE5hbWUoaXRlbSkgfHwgXCJzdi1uZy1pbWFnZXBpY2tlci1pdGVtXCI7XG4gIH1cbiAgcHVibGljIGdldEl0ZW1WYWx1ZUNvbXBvbmVudERhdGEoaXRlbTogSXRlbVZhbHVlKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50TmFtZTogXCJzdi1uZy1pbWFnZXBpY2tlci1pdGVtXCIsXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIHF1ZXN0aW9uOiB0aGlzLm1vZGVsLFxuICAgICAgICBtb2RlbDogaXRlbSxcbiAgICAgICAgZGF0YTogdGhpcy5tb2RlbC5nZXRJdGVtVmFsdWVXcmFwcGVyQ29tcG9uZW50RGF0YShpdGVtKVxuICAgICAgfVxuICAgIH07XG4gIH1cblxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcImltYWdlcGlja2VyLXF1ZXN0aW9uXCIsIEltYWdlUGlja2VyUXVlc3Rpb25Db21wb25lbnQpOyIsIiAgPGZpZWxkc2V0IFtjbGFzc109XCJtb2RlbC5nZXRTZWxlY3RCYXNlUm9vdENzcygpXCIgI2NvbnRlbnRFbGVtZW50PlxuICAgICAgPGxlZ2VuZCBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmxvY1RpdGxlLnJlbmRlcmVkSHRtbFwiIHJvbGU9XCJyYWRpb1wiPjwvbGVnZW5kPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5oYXNDb2x1bW5zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwudmlzaWJsZUNob2ljZXNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudE5hbWUoaXRlbSksIGRhdGE6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudERhdGEoaXRlbSkgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuaGFzQ29sdW1uc1wiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwuY29sdW1uc1wiIFtjbGFzc109XCJtb2RlbC5nZXRDb2x1bW5DbGFzcygpXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1uXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudE5hbWUoaXRlbSksIGRhdGE6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudERhdGEoaXRlbSkgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gIDwvZmllbGRzZXQ+Il19
1
+ import { Component } from "@angular/core";
2
+ import { QuestionAngular } from "../question";
3
+ import { AngularComponentFactory } from "../component-factory";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../utils/dynamic.directive";
7
+ export class ImagePickerQuestionComponent extends QuestionAngular {
8
+ getItemValueComponentName(item) {
9
+ return this.model.getItemValueWrapperComponentName(item) || "sv-ng-imagepicker-item";
10
+ }
11
+ getItemValueComponentData(item) {
12
+ return {
13
+ componentName: "sv-ng-imagepicker-item",
14
+ componentData: {
15
+ question: this.model,
16
+ model: item,
17
+ data: this.model.getItemValueWrapperComponentData(item)
18
+ }
19
+ };
20
+ }
21
+ }
22
+ ImagePickerQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImagePickerQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
+ ImagePickerQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ImagePickerQuestionComponent, selector: "sv-ng-imagepicker-question", usesInheritance: true, ngImport: i0, template: " <fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\" role=\"radio\"></legend>\n <ng-container *ngIf=\"!model.hasColumns\">\n <ng-container *ngFor=\"let item of model.visibleChoices\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.hasColumns\">\n <div *ngFor=\"let column of model.columns\" [class]=\"model.getColumnClass()\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </fieldset>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ImagePickerQuestionComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: "sv-ng-imagepicker-question", template: " <fieldset [class]=\"model.getSelectBaseRootCss()\" #contentElement>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\" role=\"radio\"></legend>\n <ng-container *ngIf=\"!model.hasColumns\">\n <ng-container *ngFor=\"let item of model.visibleChoices\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.hasColumns\">\n <div *ngFor=\"let column of model.columns\" [class]=\"model.getColumnClass()\" role=\"presentation\">\n <ng-container *ngFor=\"let item of column\">\n <ng-template [component]=\"{ name: getItemValueComponentName(item), data: getItemValueComponentData(item) }\"></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </fieldset>" }]
27
+ }] });
28
+ AngularComponentFactory.Instance.registerComponent("imagepicker-question", ImagePickerQuestionComponent);
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9pbWFnZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL2ltYWdlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsZUFBeUM7SUFDbEYseUJBQXlCLENBQUMsSUFBZTtRQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLElBQUksd0JBQXdCLENBQUM7SUFDdkYsQ0FBQztJQUNNLHlCQUF5QixDQUFDLElBQWU7UUFDOUMsT0FBTztZQUNMLGFBQWEsRUFBRSx3QkFBd0I7WUFDdkMsYUFBYSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDcEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDO2FBQ3hEO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3lIQWJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHlGQ1R6QyxrNEJBY2E7MkZETEEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDRCQUE0Qjs7QUFvQnhDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uQW5ndWxhciB9IGZyb20gXCIuLi9xdWVzdGlvblwiO1xuaW1wb3J0IHsgSW1hZ2VJdGVtVmFsdWUsIEl0ZW1WYWx1ZSwgUXVlc3Rpb25JbWFnZVBpY2tlck1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctaW1hZ2VwaWNrZXItcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbWFnZXBpY2tlci5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlUGlja2VyUXVlc3Rpb25Db21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkFuZ3VsYXI8UXVlc3Rpb25JbWFnZVBpY2tlck1vZGVsPiB7XG4gIHB1YmxpYyBnZXRJdGVtVmFsdWVDb21wb25lbnROYW1lKGl0ZW06IEl0ZW1WYWx1ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuZ2V0SXRlbVZhbHVlV3JhcHBlckNvbXBvbmVudE5hbWUoaXRlbSkgfHwgXCJzdi1uZy1pbWFnZXBpY2tlci1pdGVtXCI7XG4gIH1cbiAgcHVibGljIGdldEl0ZW1WYWx1ZUNvbXBvbmVudERhdGEoaXRlbTogSXRlbVZhbHVlKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50TmFtZTogXCJzdi1uZy1pbWFnZXBpY2tlci1pdGVtXCIsXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIHF1ZXN0aW9uOiB0aGlzLm1vZGVsLFxuICAgICAgICBtb2RlbDogaXRlbSxcbiAgICAgICAgZGF0YTogdGhpcy5tb2RlbC5nZXRJdGVtVmFsdWVXcmFwcGVyQ29tcG9uZW50RGF0YShpdGVtKVxuICAgICAgfVxuICAgIH07XG4gIH1cblxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcImltYWdlcGlja2VyLXF1ZXN0aW9uXCIsIEltYWdlUGlja2VyUXVlc3Rpb25Db21wb25lbnQpOyIsIiAgPGZpZWxkc2V0IFtjbGFzc109XCJtb2RlbC5nZXRTZWxlY3RCYXNlUm9vdENzcygpXCIgI2NvbnRlbnRFbGVtZW50PlxuICAgICAgPGxlZ2VuZCBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmxvY1RpdGxlLnJlbmRlcmVkSHRtbFwiIHJvbGU9XCJyYWRpb1wiPjwvbGVnZW5kPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5oYXNDb2x1bW5zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwudmlzaWJsZUNob2ljZXNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudE5hbWUoaXRlbSksIGRhdGE6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudERhdGEoaXRlbSkgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuaGFzQ29sdW1uc1wiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwuY29sdW1uc1wiIFtjbGFzc109XCJtb2RlbC5nZXRDb2x1bW5DbGFzcygpXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1uXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudE5hbWUoaXRlbSksIGRhdGE6IGdldEl0ZW1WYWx1ZUNvbXBvbmVudERhdGEoaXRlbSkgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gIDwvZmllbGRzZXQ+Il19
@@ -1,27 +1,27 @@
1
- import { Component, Input } from "@angular/core";
2
- import { BaseAngular } from "../base-angular";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./matrixcell.component";
5
- import * as i2 from "@angular/common";
6
- export class MatrixRowComponent extends BaseAngular {
7
- getModel() {
8
- return this.model;
9
- }
10
- get row() {
11
- return this.model.row;
12
- }
13
- trackCellBy(_, cell) {
14
- return cell.id;
15
- }
16
- }
17
- MatrixRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
- MatrixRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <tr [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\" [attr.data-sv-drop-target-matrix-row]=\"row && row.id\">\n <sv-ng-matrix-cell\n [cell]=\"cell\"\n [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"\n ></sv-ng-matrix-cell>\n </tr>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: ["question", "cell"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixRowComponent, decorators: [{
20
- type: Component,
21
- args: [{ selector: "sv-ng-matrix-row", styles: [":host { display: none; }"], template: "<ng-template #template>\n <tr [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\" [attr.data-sv-drop-target-matrix-row]=\"row && row.id\">\n <sv-ng-matrix-cell\n [cell]=\"cell\"\n [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"\n ></sv-ng-matrix-cell>\n </tr>\n</ng-template>" }]
22
- }], propDecorators: { model: [{
23
- type: Input
24
- }], question: [{
25
- type: Input
26
- }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL21hdHJpeC1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9tYXRyaXgtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWM5QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBOEM7SUFHMUUsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQUNNLFdBQVcsQ0FBQyxDQUFTLEVBQUUsSUFBUztRQUNyQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7K0dBWFUsa0JBQWtCO21HQUFsQixrQkFBa0IsaUlDZi9CLDZXQVFjOzJGRE9ELGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxrQkFBa0IsVUFFcEIsQ0FBQywwQkFBMEIsQ0FBQzs4QkFHM0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQge1xuICBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSxcbiAgUXVlc3Rpb24sXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25Nb2RlbEJhc2UsXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZENlbGwsXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFJvd1xufSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC1yb3dcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRyaXgtcm93LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBub25lOyB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeFJvd0NvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFJvdz4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFJvdztcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlO1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkUm93IHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwdWJsaWMgZ2V0IHJvdygpOiBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwucm93O1xuICB9XG4gIHB1YmxpYyB0cmFja0NlbGxCeShfOiBudW1iZXIsIGNlbGw6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNlbGwuaWQ7XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8dHIgW2NsYXNzXT1cIm1vZGVsLmNsYXNzTmFtZVwiIChwb2ludGVyZG93bik9XCJxdWVzdGlvbi5vblBvaW50ZXJEb3duKCRldmVudCwgcm93KVwiIFthdHRyLmRhdGEtc3YtZHJvcC10YXJnZXQtbWF0cml4LXJvd109XCJyb3cgJiYgcm93LmlkXCI+XG4gICAgPHN2LW5nLW1hdHJpeC1jZWxsXG4gICAgICBbY2VsbF09XCJjZWxsXCJcbiAgICAgIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiXG4gICAgICAqbmdGb3I9XCJsZXQgY2VsbCBvZiBtb2RlbC5jZWxsczsgdHJhY2tCeTogdHJhY2tDZWxsQnlcIlxuICAgID48L3N2LW5nLW1hdHJpeC1jZWxsPlxuICA8L3RyPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
1
+ import { Component, Input } from "@angular/core";
2
+ import { BaseAngular } from "../base-angular";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./matrixcell.component";
5
+ import * as i2 from "@angular/common";
6
+ export class MatrixRowComponent extends BaseAngular {
7
+ getModel() {
8
+ return this.model;
9
+ }
10
+ get row() {
11
+ return this.model.row;
12
+ }
13
+ trackCellBy(_, cell) {
14
+ return cell.id;
15
+ }
16
+ }
17
+ MatrixRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
+ MatrixRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: { model: "model", question: "question" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <tr [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\" [attr.data-sv-drop-target-matrix-row]=\"row && row.id\">\n <sv-ng-matrix-cell\n [cell]=\"cell\"\n [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"\n ></sv-ng-matrix-cell>\n </tr>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.MatrixCellComponent, selector: "sv-ng-matrix-cell", inputs: ["question", "cell"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixRowComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: "sv-ng-matrix-row", styles: [":host { display: none; }"], template: "<ng-template #template>\n <tr [class]=\"model.className\" (pointerdown)=\"question.onPointerDown($event, row)\" [attr.data-sv-drop-target-matrix-row]=\"row && row.id\">\n <sv-ng-matrix-cell\n [cell]=\"cell\"\n [question]=\"question\"\n *ngFor=\"let cell of model.cells; trackBy: trackCellBy\"\n ></sv-ng-matrix-cell>\n </tr>\n</ng-template>" }]
22
+ }], propDecorators: { model: [{
23
+ type: Input
24
+ }], question: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL21hdHJpeC1yb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9tYXRyaXgtcm93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWM5QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBOEM7SUFHMUUsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQUNNLFdBQVcsQ0FBQyxDQUFTLEVBQUUsSUFBUztRQUNyQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7K0dBWFUsa0JBQWtCO21HQUFsQixrQkFBa0IsaUlDZi9CLDZXQVFjOzJGRE9ELGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxrQkFBa0IsVUFFcEIsQ0FBQywwQkFBMEIsQ0FBQzs4QkFHM0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQge1xuICBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSxcbiAgUXVlc3Rpb24sXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25Nb2RlbEJhc2UsXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZENlbGwsXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFJvd1xufSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC1yb3dcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRyaXgtcm93LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBub25lOyB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeFJvd0NvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFJvdz4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZFJvdztcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlO1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkUm93IHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwdWJsaWMgZ2V0IHJvdygpOiBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwucm93O1xuICB9XG4gIHB1YmxpYyB0cmFja0NlbGxCeShfOiBudW1iZXIsIGNlbGw6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNlbGwuaWQ7XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8dHIgW2NsYXNzXT1cIm1vZGVsLmNsYXNzTmFtZVwiIChwb2ludGVyZG93bik9XCJxdWVzdGlvbi5vblBvaW50ZXJEb3duKCRldmVudCwgcm93KVwiIFthdHRyLmRhdGEtc3YtZHJvcC10YXJnZXQtbWF0cml4LXJvd109XCJyb3cgJiYgcm93LmlkXCI+XG4gICAgPHN2LW5nLW1hdHJpeC1jZWxsXG4gICAgICBbY2VsbF09XCJjZWxsXCJcbiAgICAgIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiXG4gICAgICAqbmdGb3I9XCJsZXQgY2VsbCBvZiBtb2RlbC5jZWxsczsgdHJhY2tCeTogdHJhY2tDZWxsQnlcIlxuICAgID48L3N2LW5nLW1hdHJpeC1jZWxsPlxuICA8L3RyPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,36 +1,36 @@
1
- import { Component } from "@angular/core";
2
- import { QuestionAngular } from "../question";
3
- import { AngularComponentFactory } from "../component-factory";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../survey-string.component";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../utils/dynamic.directive";
8
- import * as i4 from "../utils/ng-show.directive";
9
- export class MatrixQuestionComponent extends QuestionAngular {
10
- ngOnInit() {
11
- this.model.visibleRowsChangedCallback = () => {
12
- this.detectChanges();
13
- };
14
- super.ngOnInit();
15
- }
16
- onChange(row, column) {
17
- if (this.model.isInputReadOnly)
18
- return;
19
- row.value = column.value;
20
- this.detectChanges();
21
- }
22
- trackRowByFn(i, row) {
23
- return "column-" + row.name + "-" + i;
24
- }
25
- trackColumnByFn(i, column) {
26
- return "column-" + column.value + "-" + i;
27
- }
28
- }
29
- MatrixQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
30
- MatrixQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td *ngIf=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i4.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixQuestionComponent, decorators: [{
32
- type: Component,
33
- args: [{ selector: "sv-ng-matrix-question", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td *ngIf=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"] }]
34
- }] });
35
- AngularComponentFactory.Instance.registerComponent("matrix-question", MatrixQuestionComponent);
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBTy9ELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxlQUFvQztJQUN0RSxRQUFRO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxHQUFHLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztRQUNGLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ00sUUFBUSxDQUFDLEdBQVEsRUFBRSxNQUFXO1FBQ25DLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUN2QyxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBUyxFQUFFLEdBQVE7UUFDOUIsT0FBTyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxlQUFlLENBQUMsQ0FBUyxFQUFFLE1BQVc7UUFDcEMsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O29IQWpCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixvRkNWcEMsc2dIQStEYzsyRkRyREQsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHVCQUF1Qjs7QUF3Qm5DLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uQW5ndWxhciB9IGZyb20gXCIuLi9xdWVzdGlvblwiO1xuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdHJpeC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4uL2hpZGUtaG9zdC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeFF1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25Bbmd1bGFyPFF1ZXN0aW9uTWF0cml4TW9kZWw+IHtcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tb2RlbC52aXNpYmxlUm93c0NoYW5nZWRDYWxsYmFjayA9ICgpID0+IHtcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuICBwdWJsaWMgb25DaGFuZ2Uocm93OiBhbnksIGNvbHVtbjogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZWwuaXNJbnB1dFJlYWRPbmx5KSByZXR1cm47XG4gICAgcm93LnZhbHVlID0gY29sdW1uLnZhbHVlO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHRyYWNrUm93QnlGbihpOiBudW1iZXIsIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJjb2x1bW4tXCIgKyByb3cubmFtZSArIFwiLVwiICsgaTtcbiAgfVxuICB0cmFja0NvbHVtbkJ5Rm4oaTogbnVtYmVyLCBjb2x1bW46IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiY29sdW1uLVwiICsgY29sdW1uLnZhbHVlICsgXCItXCIgKyBpO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwibWF0cml4LXF1ZXN0aW9uXCIsIE1hdHJpeFF1ZXN0aW9uQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnRhYmxlV3JhcHBlclwiICNjb250ZW50RWxlbWVudD5cbiAgICA8ZmllbGRzZXQ+XG4gICAgICA8bGVnZW5kIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwubG9jVGl0bGUucmVuZGVyZWRIdG1sXCI+PC9sZWdlbmQ+XG4gICAgICA8dGFibGUgW2NsYXNzXT1cIm1vZGVsLmdldFRhYmxlQ3NzKClcIj5cbiAgICAgICAgPHRoZWFkICpuZ0lmPVwibW9kZWwuc2hvd0hlYWRlclwiPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cIm1vZGVsLmhhc1Jvd3NcIj48L3RkPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwudmlzaWJsZUNvbHVtbnNcIiBbc3R5bGVdPVwieyBtaW5XaWR0aDogbW9kZWwuY29sdW1uTWluV2lkdGgsIHdpZHRoOiBtb2RlbC5jb2x1bW5NaW5XaWR0aCB9XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuaGVhZGVyQ2VsbFwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLmdldENvbHVtbkhlYWRlcldyYXBwZXJDb21wb25lbnROYW1lKGNvbHVtbiksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogbW9kZWwuZ2V0Q29sdW1uSGVhZGVyV3JhcHBlckNvbXBvbmVudERhdGEoY29sdW1uKSB9IH1cIj5cbiAgICAgICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJjb2x1bW4ubG9jVGV4dFwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgbW9kZWwudmlzaWJsZVJvd3M7IHRyYWNrQnk6IHRyYWNrUm93QnlGbiBcIiBbY2xhc3NdPVwicm93LnJvd0NsYXNzZXMgfHwgdW5kZWZpbmVkXCI+XG4gICAgICAgICAgIDx0ZCBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yb3dUZXh0Q2VsbFwiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBtb2RlbC5yb3dUaXRsZVdpZHRoLCB3aWR0aDogbW9kZWwucm93VGl0bGVXaWR0aCB9XCIgKm5nSWY9XCJtb2RlbC5oYXNSb3dzXCI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuZ2V0Um93SGVhZGVyV3JhcHBlckNvbXBvbmVudE5hbWUoJGFueShyb3cpKSwgZGF0YTogeyBjb21wb25lbnREYXRhOiBtb2RlbC5nZXRSb3dIZWFkZXJXcmFwcGVyQ29tcG9uZW50RGF0YSgkYW55KHJvdykpIH0gfVwiPlxuICAgICAgICAgICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cInJvdy5sb2NUZXh0XCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLmhhc0NlbGxUZXh0XCI+XG4gICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIG1vZGVsLnZpc2libGVDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0SXRlbUNsYXNzKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlKHJvdywgY29sdW1uKVwiIFttb2RlbF09XCJtb2RlbC5nZXRDZWxsRGlzcGxheUxvY1RleHQocm93Lm5hbWUsIGNvbHVtbilcIiBzdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW9kZWwuaGFzQ2VsbFRleHRcIj5cbiAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwudmlzaWJsZUNvbHVtbnM7IGluZGV4IGFzIGNvbHVtbkluZGV4OyB0cmFja0J5OiB0cmFja0NvbHVtbkJ5Rm5cIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXJlc3BvbnNpdmUtdGl0bGVdPVwiY29sdW1uLmxvY1RleHQucmVuZGVyZWRIdG1sXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2VsbFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbY2xhc3NdPVwibW9kZWwuZ2V0SXRlbUNsYXNzKHJvdywgY29sdW1uKVwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLml0ZW1WYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInJvdy5mdWxsTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb2x1bW4udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyb3cudmFsdWUgPT09IGNvbHVtbi52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlbC5pc0lucHV0UmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkICsgJ18nICsgcm93Lm5hbWUgKyAnXycgKyBjb2x1bW5JbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2Uocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbHVtbi5sb2NUZXh0LnJlbmRlcmVkSHRtbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5tYXRlcmlhbERlY29yYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwibW9kZWwuaXRlbVN2Z0ljb25cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5pdGVtRGVjb3JhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cIm1vZGVsLml0ZW1TdmdJY29uXCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiBcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIFt2aXNpYmxlXT1cIm1vZGVsLmlzTW9iaWxlXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2VsbFJlc3BvbnNpdmVUaXRsZVwiIFttb2RlbF09XCJjb2x1bW4ubG9jVGV4dFwiIHN2LW5nLXN0cmluZz48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
1
+ import { Component } from "@angular/core";
2
+ import { QuestionAngular } from "../question";
3
+ import { AngularComponentFactory } from "../component-factory";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../survey-string.component";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../utils/dynamic.directive";
8
+ import * as i4 from "../utils/ng-show.directive";
9
+ export class MatrixQuestionComponent extends QuestionAngular {
10
+ ngOnInit() {
11
+ this.model.visibleRowsChangedCallback = () => {
12
+ this.detectChanges();
13
+ };
14
+ super.ngOnInit();
15
+ }
16
+ onChange(row, column) {
17
+ if (this.model.isInputReadOnly)
18
+ return;
19
+ row.value = column.value;
20
+ this.detectChanges();
21
+ }
22
+ trackRowByFn(i, row) {
23
+ return "column-" + row.name + "-" + i;
24
+ }
25
+ trackColumnByFn(i, column) {
26
+ return "column-" + column.value + "-" + i;
27
+ }
28
+ }
29
+ MatrixQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
30
+ MatrixQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td *ngIf=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i4.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixQuestionComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: "sv-ng-matrix-question", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.tableWrapper\" #contentElement>\n <fieldset>\n <legend [attr.aria-label]=\"model.locTitle.renderedHtml\"></legend>\n <table [class]=\"model.getTableCss()\">\n <thead *ngIf=\"model.showHeader\">\n <tr>\n <td *ngIf=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"model.cssClasses.rowTextCell\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onChange(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <label [class]=\"model.getItemClass(row, column)\">\n <input\n type=\"radio\"\n [class]=\"model.cssClasses.itemValue\"\n [name]=\"row.fullName\"\n [value]=\"column.value\"\n [checked]=\"row.value === column.value\"\n [disabled]=\"model.isInputReadOnly\"\n [attr.id]=\"model.inputId + '_' + row.name + '_' + columnIndex\"\n (change)=\"onChange(row, column)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"column.locText.renderedHtml\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n />\n <span [class]=\"model.cssClasses.materialDecorator\">\n <svg *ngIf=\"model.itemSvgIcon\" [class]=\"model.cssClasses.itemDecorator\">\n <use [attr.xlink:href]=\"model.itemSvgIcon\"></use>\n </svg> \n </span>\n <span [visible]=\"model.isMobile\" [class]=\"model.cssClasses.cellResponsiveTitle\" [model]=\"column.locText\" sv-ng-string></span>\n </label>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"] }]
34
+ }] });
35
+ AngularComponentFactory.Instance.registerComponent("matrix-question", MatrixQuestionComponent);
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBTy9ELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxlQUFvQztJQUN0RSxRQUFRO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxHQUFHLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztRQUNGLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ00sUUFBUSxDQUFDLEdBQVEsRUFBRSxNQUFXO1FBQ25DLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUN2QyxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBUyxFQUFFLEdBQVE7UUFDOUIsT0FBTyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxlQUFlLENBQUMsQ0FBUyxFQUFFLE1BQVc7UUFDcEMsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O29IQWpCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixvRkNWcEMsc2dIQStEYzsyRkRyREQsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHVCQUF1Qjs7QUF3Qm5DLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uQW5ndWxhciB9IGZyb20gXCIuLi9xdWVzdGlvblwiO1xuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdHJpeC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4uL2hpZGUtaG9zdC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeFF1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25Bbmd1bGFyPFF1ZXN0aW9uTWF0cml4TW9kZWw+IHtcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tb2RlbC52aXNpYmxlUm93c0NoYW5nZWRDYWxsYmFjayA9ICgpID0+IHtcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH07XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuICBwdWJsaWMgb25DaGFuZ2Uocm93OiBhbnksIGNvbHVtbjogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubW9kZWwuaXNJbnB1dFJlYWRPbmx5KSByZXR1cm47XG4gICAgcm93LnZhbHVlID0gY29sdW1uLnZhbHVlO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHRyYWNrUm93QnlGbihpOiBudW1iZXIsIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJjb2x1bW4tXCIgKyByb3cubmFtZSArIFwiLVwiICsgaTtcbiAgfVxuICB0cmFja0NvbHVtbkJ5Rm4oaTogbnVtYmVyLCBjb2x1bW46IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiY29sdW1uLVwiICsgY29sdW1uLnZhbHVlICsgXCItXCIgKyBpO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwibWF0cml4LXF1ZXN0aW9uXCIsIE1hdHJpeFF1ZXN0aW9uQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnRhYmxlV3JhcHBlclwiICNjb250ZW50RWxlbWVudD5cbiAgICA8ZmllbGRzZXQ+XG4gICAgICA8bGVnZW5kIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwubG9jVGl0bGUucmVuZGVyZWRIdG1sXCI+PC9sZWdlbmQ+XG4gICAgICA8dGFibGUgW2NsYXNzXT1cIm1vZGVsLmdldFRhYmxlQ3NzKClcIj5cbiAgICAgICAgPHRoZWFkICpuZ0lmPVwibW9kZWwuc2hvd0hlYWRlclwiPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cIm1vZGVsLmhhc1Jvd3NcIj48L3RkPlxuICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwudmlzaWJsZUNvbHVtbnNcIiBbc3R5bGVdPVwieyBtaW5XaWR0aDogbW9kZWwuY29sdW1uTWluV2lkdGgsIHdpZHRoOiBtb2RlbC5jb2x1bW5NaW5XaWR0aCB9XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuaGVhZGVyQ2VsbFwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLmdldENvbHVtbkhlYWRlcldyYXBwZXJDb21wb25lbnROYW1lKGNvbHVtbiksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogbW9kZWwuZ2V0Q29sdW1uSGVhZGVyV3JhcHBlckNvbXBvbmVudERhdGEoY29sdW1uKSB9IH1cIj5cbiAgICAgICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJjb2x1bW4ubG9jVGV4dFwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgbW9kZWwudmlzaWJsZVJvd3M7IHRyYWNrQnk6IHRyYWNrUm93QnlGbiBcIiBbY2xhc3NdPVwicm93LnJvd0NsYXNzZXMgfHwgdW5kZWZpbmVkXCI+XG4gICAgICAgICAgIDx0ZCBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yb3dUZXh0Q2VsbFwiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBtb2RlbC5yb3dUaXRsZVdpZHRoLCB3aWR0aDogbW9kZWwucm93VGl0bGVXaWR0aCB9XCIgKm5nSWY9XCJtb2RlbC5oYXNSb3dzXCI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuZ2V0Um93SGVhZGVyV3JhcHBlckNvbXBvbmVudE5hbWUoJGFueShyb3cpKSwgZGF0YTogeyBjb21wb25lbnREYXRhOiBtb2RlbC5nZXRSb3dIZWFkZXJXcmFwcGVyQ29tcG9uZW50RGF0YSgkYW55KHJvdykpIH0gfVwiPlxuICAgICAgICAgICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cInJvdy5sb2NUZXh0XCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLmhhc0NlbGxUZXh0XCI+XG4gICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIG1vZGVsLnZpc2libGVDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0SXRlbUNsYXNzKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlKHJvdywgY29sdW1uKVwiIFttb2RlbF09XCJtb2RlbC5nZXRDZWxsRGlzcGxheUxvY1RleHQocm93Lm5hbWUsIGNvbHVtbilcIiBzdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW9kZWwuaGFzQ2VsbFRleHRcIj5cbiAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwudmlzaWJsZUNvbHVtbnM7IGluZGV4IGFzIGNvbHVtbkluZGV4OyB0cmFja0J5OiB0cmFja0NvbHVtbkJ5Rm5cIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXJlc3BvbnNpdmUtdGl0bGVdPVwiY29sdW1uLmxvY1RleHQucmVuZGVyZWRIdG1sXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2VsbFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbY2xhc3NdPVwibW9kZWwuZ2V0SXRlbUNsYXNzKHJvdywgY29sdW1uKVwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLml0ZW1WYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInJvdy5mdWxsTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb2x1bW4udmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyb3cudmFsdWUgPT09IGNvbHVtbi52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlbC5pc0lucHV0UmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkICsgJ18nICsgcm93Lm5hbWUgKyAnXycgKyBjb2x1bW5JbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2Uocm93LCBjb2x1bW4pXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbHVtbi5sb2NUZXh0LnJlbmRlcmVkSHRtbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5tYXRlcmlhbERlY29yYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwibW9kZWwuaXRlbVN2Z0ljb25cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5pdGVtRGVjb3JhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cIm1vZGVsLml0ZW1TdmdJY29uXCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiBcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIFt2aXNpYmxlXT1cIm1vZGVsLmlzTW9iaWxlXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2VsbFJlc3BvbnNpdmVUaXRsZVwiIFttb2RlbF09XCJjb2x1bW4ubG9jVGV4dFwiIHN2LW5nLXN0cmluZz48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=