survey-angular-ui 1.9.74 → 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 (230) hide show
  1. package/README.md +23 -195
  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 +102 -102
  119. package/esm2020/angular-ui.module.mjs +183 -183
  120. package/esm2020/base-angular.mjs +127 -127
  121. package/esm2020/comment-other.component.mjs +31 -31
  122. package/esm2020/comment.component.mjs +20 -20
  123. package/esm2020/component-factory.mjs +25 -25
  124. package/esm2020/components/action-bar/action-bar-item-dropdown.component.mjs +31 -31
  125. package/esm2020/components/action-bar/action-bar-item.component.mjs +21 -21
  126. package/esm2020/components/action-bar/action-bar.component.mjs +42 -42
  127. package/esm2020/components/action-bar/action.component.mjs +26 -26
  128. package/esm2020/components/brand-info/brand-info.component.mjs +12 -12
  129. package/esm2020/components/dropdown/dropdown.component.mjs +65 -65
  130. package/esm2020/components/element-header/element-header.component.mjs +31 -31
  131. package/esm2020/components/element-title/dynamic-head.component.mjs +19 -19
  132. package/esm2020/components/element-title/element-title.component.mjs +16 -16
  133. package/esm2020/components/element-title/title-actions.component.mjs +16 -16
  134. package/esm2020/components/list/list-item.component.mjs +47 -47
  135. package/esm2020/components/list/list.component.mjs +49 -49
  136. package/esm2020/components/matrix-actions/detail-button/detail-button.component.mjs +24 -24
  137. package/esm2020/components/matrix-actions/drag-drop-icon/drag-drop-icon.mjs +19 -19
  138. package/esm2020/components/matrix-actions/remove-button/remove-button.component.mjs +24 -24
  139. package/esm2020/components/notifier/notifier.component.mjs +21 -21
  140. package/esm2020/components/paneldynamic-actions/paneldynamic-add-btn.component.mjs +34 -34
  141. package/esm2020/components/paneldynamic-actions/paneldynamic-next-btn.component.mjs +17 -17
  142. package/esm2020/components/paneldynamic-actions/paneldynamic-prev-btn.component.mjs +17 -17
  143. package/esm2020/components/paneldynamic-actions/paneldynamic-progress-text.component.mjs +13 -13
  144. package/esm2020/components/paneldynamic-actions/paneldynamic-remove-btn.component.mjs +16 -16
  145. package/esm2020/components/popup/modal-container.component.mjs +41 -41
  146. package/esm2020/components/popup/popup-container.component.mjs +55 -55
  147. package/esm2020/components/popup/popup-pointer.component.mjs +21 -21
  148. package/esm2020/components/popup/popup.component.mjs +42 -42
  149. package/esm2020/components/popup/popup.service.mjs +25 -25
  150. package/esm2020/components/progress/buttons/progress.component.mjs +66 -66
  151. package/esm2020/components/progress/default/progress.component.mjs +26 -26
  152. package/esm2020/components/renderAs/boolean-checkbox/boolean-checkbox.component.mjs +20 -20
  153. package/esm2020/components/renderAs/boolean-radio/boolean-radio-item.component.mjs +21 -21
  154. package/esm2020/components/renderAs/boolean-radio/boolean-radio.component.mjs +17 -17
  155. package/esm2020/components/renderAs/dropdown-select/dropdown-option-item.component.mjs +22 -22
  156. package/esm2020/components/renderAs/dropdown-select/dropdown-select.component.mjs +37 -37
  157. package/esm2020/components/renderAs/rating-dropdown/rating-dropdown.component.mjs +17 -17
  158. package/esm2020/components/skeleton/skeleton.component.mjs +15 -15
  159. package/esm2020/components/skeleton.component.mjs +14 -14
  160. package/esm2020/components/survey-actions/survey-nav-btn.component.mjs +21 -21
  161. package/esm2020/components/survey-header/logo-image.component.mjs +19 -19
  162. package/esm2020/components/survey-header/survey-header.component.mjs +29 -29
  163. package/esm2020/components/svg-icon/svg-icon.component.mjs +67 -67
  164. package/esm2020/components/tagbox/tagbox-filter.component.mjs +21 -21
  165. package/esm2020/components/tagbox/tagbox-item.component.mjs +26 -26
  166. package/esm2020/components/tagbox/tagbox.component.mjs +43 -43
  167. package/esm2020/components/timer-panel/timer-panel.component.mjs +31 -31
  168. package/esm2020/element.component.mjs +54 -54
  169. package/esm2020/embedded-view-content.component.mjs +23 -23
  170. package/esm2020/errors.component.mjs +57 -57
  171. package/esm2020/page.component.mjs +34 -34
  172. package/esm2020/panel.component.mjs +37 -37
  173. package/esm2020/popup.survey.component.mjs +43 -43
  174. package/esm2020/question.component.mjs +53 -53
  175. package/esm2020/question.mjs +32 -32
  176. package/esm2020/questions/boolean.component.mjs +19 -19
  177. package/esm2020/questions/button-group/button-group-item.component.mjs +28 -28
  178. package/esm2020/questions/button-group/button-group.component.mjs +13 -13
  179. package/esm2020/questions/checkbox-item.component.mjs +23 -23
  180. package/esm2020/questions/checkbox.component.mjs +16 -16
  181. package/esm2020/questions/comment.component.mjs +17 -17
  182. package/esm2020/questions/composite.component.mjs +20 -20
  183. package/esm2020/questions/custom.component.mjs +26 -26
  184. package/esm2020/questions/customwidget.component.mjs +50 -50
  185. package/esm2020/questions/dropdown.component.mjs +16 -16
  186. package/esm2020/questions/expression.component.mjs +16 -16
  187. package/esm2020/questions/file.component.mjs +24 -24
  188. package/esm2020/questions/html.component.mjs +24 -24
  189. package/esm2020/questions/image.component.mjs +25 -25
  190. package/esm2020/questions/imagepicker-item.component.mjs +47 -47
  191. package/esm2020/questions/imagepicker.component.mjs +28 -28
  192. package/esm2020/questions/matrix-row.component.mjs +26 -26
  193. package/esm2020/questions/matrix.component.mjs +35 -35
  194. package/esm2020/questions/matrixcell.component.mjs +89 -89
  195. package/esm2020/questions/matrixdropdown.component.mjs +15 -15
  196. package/esm2020/questions/matrixdynamic.component.mjs +16 -16
  197. package/esm2020/questions/matrixrequiredheader.component.mjs +23 -23
  198. package/esm2020/questions/matrixtable.component.mjs +30 -30
  199. package/esm2020/questions/multipletext.component.mjs +24 -24
  200. package/esm2020/questions/multipletextitem.component.mjs +22 -22
  201. package/esm2020/questions/paneldynamic.component.mjs +78 -78
  202. package/esm2020/questions/radiogroup-item.component.mjs +17 -17
  203. package/esm2020/questions/radiogroup.component.mjs +21 -21
  204. package/esm2020/questions/ranking-item.component.mjs +23 -23
  205. package/esm2020/questions/ranking.component.mjs +30 -30
  206. package/esm2020/questions/rating.component.mjs +22 -22
  207. package/esm2020/questions/selectbase-item.mjs +32 -32
  208. package/esm2020/questions/selectbase.component.mjs +49 -49
  209. package/esm2020/questions/signature.component.mjs +16 -16
  210. package/esm2020/questions/tagbox.component.mjs +16 -16
  211. package/esm2020/questions/text.component.mjs +15 -15
  212. package/esm2020/row.component.mjs +57 -57
  213. package/esm2020/string-editor.component.mjs +25 -25
  214. package/esm2020/string-viewer.component.mjs +36 -36
  215. package/esm2020/survey-angular-ui.mjs +4 -4
  216. package/esm2020/survey-content.component.mjs +68 -68
  217. package/esm2020/survey-string.component.mjs +16 -16
  218. package/esm2020/survey.component.mjs +31 -31
  219. package/esm2020/template-renderer.component.mjs +22 -22
  220. package/esm2020/utils/dynamic.directive.mjs +51 -51
  221. package/esm2020/utils/ng-key2click.directive.mjs +68 -68
  222. package/esm2020/utils/ng-show.directive.mjs +26 -26
  223. package/esm2020/utils/safe-html.pipe.mjs +17 -17
  224. package/esm2020/utils/safe-url.pipe.mjs +32 -32
  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 -2864
  228. package/fesm2020/survey-angular-ui.mjs +2839 -2839
  229. package/package.json +6 -19
  230. package/utils/dynamic.directive.d.ts +3 -2
@@ -1,58 +1,58 @@
1
- import { Component, HostBinding, Input, ViewChild } from "@angular/core";
2
- import { TooltipManager } from "survey-core";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./survey-string.component";
5
- import * as i2 from "@angular/common";
6
- export class ErrorsComponent {
7
- constructor(viewContainerRef) {
8
- this.viewContainerRef = viewContainerRef;
9
- }
10
- ngOnInit() {
11
- if (this.location == "tooltip") {
12
- this.tooltipManager = new TooltipManager(this.viewContainerRef.element.nativeElement);
13
- }
14
- }
15
- ngOnDestroy() {
16
- if (!!this.tooltipManager) {
17
- this.tooltipManager.dispose();
18
- }
19
- }
20
- get role() {
21
- return "alert";
22
- }
23
- get id() {
24
- return this.element.id + "_errors";
25
- }
26
- get ariaLive() {
27
- return "polite";
28
- }
29
- get class() {
30
- return this.element.cssError;
31
- }
32
- }
33
- ErrorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ErrorsComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
34
- ErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: { element: "element", location: "location" }, host: { properties: { "attr.role": "this.role", "id": "this.id", "attr.aria-live": "this.ariaLive", "class": "this.class" } }, viewQueries: [{ propertyName: "errorsContainerRef", first: true, predicate: ["errorsContainer"], descendants: true, static: true }], ngImport: i0, template: "<div *ngFor=\"let error of element.errors;\">\n <span\n [class]=\"element.cssClasses ? element.cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"element.cssClasses ? element.cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ErrorsComponent, decorators: [{
36
- type: Component,
37
- args: [{ selector: "'[sv-ng-errors]'", template: "<div *ngFor=\"let error of element.errors;\">\n <span\n [class]=\"element.cssClasses ? element.cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"element.cssClasses ? element.cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>" }]
38
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { element: [{
39
- type: Input
40
- }], location: [{
41
- type: Input
42
- }], errorsContainerRef: [{
43
- type: ViewChild,
44
- args: ["errorsContainer", { static: true }]
45
- }], role: [{
46
- type: HostBinding,
47
- args: ["attr.role"]
48
- }], id: [{
49
- type: HostBinding,
50
- args: ["id"]
51
- }], ariaLive: [{
52
- type: HostBinding,
53
- args: ["attr.aria-live"]
54
- }], class: [{
55
- type: HostBinding,
56
- args: ["class"]
57
- }] } });
1
+ import { Component, HostBinding, Input, ViewChild } from "@angular/core";
2
+ import { TooltipManager } from "survey-core";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./survey-string.component";
5
+ import * as i2 from "@angular/common";
6
+ export class ErrorsComponent {
7
+ constructor(viewContainerRef) {
8
+ this.viewContainerRef = viewContainerRef;
9
+ }
10
+ ngOnInit() {
11
+ if (this.location == "tooltip") {
12
+ this.tooltipManager = new TooltipManager(this.viewContainerRef.element.nativeElement);
13
+ }
14
+ }
15
+ ngOnDestroy() {
16
+ if (!!this.tooltipManager) {
17
+ this.tooltipManager.dispose();
18
+ }
19
+ }
20
+ get role() {
21
+ return "alert";
22
+ }
23
+ get id() {
24
+ return this.element.id + "_errors";
25
+ }
26
+ get ariaLive() {
27
+ return "polite";
28
+ }
29
+ get class() {
30
+ return this.element.cssError;
31
+ }
32
+ }
33
+ ErrorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ErrorsComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
34
+ ErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: { element: "element", location: "location" }, host: { properties: { "attr.role": "this.role", "id": "this.id", "attr.aria-live": "this.ariaLive", "class": "this.class" } }, viewQueries: [{ propertyName: "errorsContainerRef", first: true, predicate: ["errorsContainer"], descendants: true, static: true }], ngImport: i0, template: "<div *ngFor=\"let error of element.errors;\">\n <span\n [class]=\"element.cssClasses ? element.cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"element.cssClasses ? element.cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ErrorsComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: "'[sv-ng-errors]'", template: "<div *ngFor=\"let error of element.errors;\">\n <span\n [class]=\"element.cssClasses ? element.cssClasses.error.icon : 'panel-error-icon'\"\n aria-hidden=\"true\"\n ></span>\n <span [class]=\"element.cssClasses ? element.cssClasses.error.item : 'panel-error-item'\" [model]=\"error.locText\" sv-ng-string>\n </span>\n</div>" }]
38
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { element: [{
39
+ type: Input
40
+ }], location: [{
41
+ type: Input
42
+ }], errorsContainerRef: [{
43
+ type: ViewChild,
44
+ args: ["errorsContainer", { static: true }]
45
+ }], role: [{
46
+ type: HostBinding,
47
+ args: ["attr.role"]
48
+ }], id: [{
49
+ type: HostBinding,
50
+ args: ["id"]
51
+ }], ariaLive: [{
52
+ type: HostBinding,
53
+ args: ["attr.aria-live"]
54
+ }], class: [{
55
+ type: HostBinding,
56
+ args: ["class"]
57
+ }] } });
58
58
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vc3JjL2Vycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1QixXQUFXLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBdUIsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBTWxFLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUMxRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkY7SUFDSCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxJQUE4QixJQUFJO1FBQ2hDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUF1QixFQUFFO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFtQyxRQUFRO1FBQ3pDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUEwQixLQUFLO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQzs7NEdBM0JVLGVBQWU7Z0dBQWYsZUFBZSxrWENQNUIsK1VBT007MkZEQU8sZUFBZTtrQkFKM0IsU0FBUzsrQkFFRSxrQkFBa0I7dUdBR25CLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUMwQyxrQkFBa0I7c0JBQWpFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQWFoQixJQUFJO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBR0QsRUFBRTtzQkFBeEIsV0FBVzt1QkFBQyxJQUFJO2dCQUdrQixRQUFRO3NCQUExQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFHSCxLQUFLO3NCQUE5QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlLCBTdXJ2ZXlFbGVtZW50LCBUb29sdGlwTWFuYWdlciB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6IFwiLi9lcnJvcnMuY29tcG9uZW50Lmh0bWxcIixcbiAgc2VsZWN0b3I6IFwiJ1tzdi1uZy1lcnJvcnNdJ1wiXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQElucHV0KCkgZWxlbWVudCE6IFN1cnZleUVsZW1lbnQgfCBhbnk7XG4gIEBJbnB1dCgpIGxvY2F0aW9uPzogU3RyaW5nO1xuICBAVmlld0NoaWxkKFwiZXJyb3JzQ29udGFpbmVyXCIsIHsgc3RhdGljOiB0cnVlIH0pIGVycm9yc0NvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcml2YXRlIHRvb2x0aXBNYW5hZ2VyITogVG9vbHRpcE1hbmFnZXI7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9jYXRpb24gPT0gXCJ0b29sdGlwXCIpIHtcbiAgICAgIHRoaXMudG9vbHRpcE1hbmFnZXIgPSBuZXcgVG9vbHRpcE1hbmFnZXIodGhpcy52aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICghIXRoaXMudG9vbHRpcE1hbmFnZXIpIHtcbiAgICAgIHRoaXMudG9vbHRpcE1hbmFnZXIuZGlzcG9zZSgpO1xuICAgIH1cbiAgfVxuICBASG9zdEJpbmRpbmcoXCJhdHRyLnJvbGVcIikgZ2V0IHJvbGUgKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiYWxlcnRcIjtcbiAgfVxuICBASG9zdEJpbmRpbmcoXCJpZFwiKSBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50LmlkICsgXCJfZXJyb3JzXCI7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKFwiYXR0ci5hcmlhLWxpdmVcIikgZ2V0IGFyaWFMaXZlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwicG9saXRlXCI7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIikgZ2V0IGNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5jc3NFcnJvcjtcbiAgfVxufSIsIjxkaXYgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVsZW1lbnQuZXJyb3JzO1wiPlxuICA8c3BhblxuICAgIFtjbGFzc109XCJlbGVtZW50LmNzc0NsYXNzZXMgPyBlbGVtZW50LmNzc0NsYXNzZXMuZXJyb3IuaWNvbiA6ICdwYW5lbC1lcnJvci1pY29uJ1wiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgPjwvc3Bhbj5cbiAgPHNwYW4gW2NsYXNzXT1cImVsZW1lbnQuY3NzQ2xhc3NlcyA/IGVsZW1lbnQuY3NzQ2xhc3Nlcy5lcnJvci5pdGVtIDogJ3BhbmVsLWVycm9yLWl0ZW0nXCIgW21vZGVsXT1cImVycm9yLmxvY1RleHRcIiBzdi1uZy1zdHJpbmc+XG4gIDwvc3Bhbj5cbjwvZGl2PiJdfQ==
@@ -1,35 +1,35 @@
1
- import { Component, ElementRef, Input, ViewChild } from "@angular/core";
2
- import { BaseAngular } from "./base-angular";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./components/element-title/element-title.component";
5
- import * as i2 from "./survey-string.component";
6
- import * as i3 from "./row.component";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "./utils/dynamic.directive";
9
- export class PageComponent extends BaseAngular {
10
- getModel() {
11
- return this.model;
12
- }
13
- onModelChanged() {
14
- if (!!this.pageContainerRef && this.pageContainerRef.nativeElement) {
15
- this.model.survey.afterRenderPage(this.pageContainerRef.nativeElement);
16
- }
17
- }
18
- ngAfterViewInit() {
19
- this.model.survey?.afterRenderPage(this.pageContainerRef?.nativeElement);
20
- }
21
- }
22
- PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
- PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PageComponent, selector: "page, sv-ng-page", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "pageContainerRef", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n </ng-container> \n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: "page, sv-ng-page", template: "<ng-template #template>\n <ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n </ng-container> \n</ng-template>", styles: [":host{display:none}\n"] }]
27
- }], propDecorators: { model: [{
28
- type: Input
29
- }], survey: [{
30
- type: Input
31
- }], pageContainerRef: [{
32
- type: ViewChild,
33
- args: ["pageContainer", { static: false, read: ElementRef }]
34
- }] } });
1
+ import { Component, ElementRef, Input, ViewChild } from "@angular/core";
2
+ import { BaseAngular } from "./base-angular";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./components/element-title/element-title.component";
5
+ import * as i2 from "./survey-string.component";
6
+ import * as i3 from "./row.component";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "./utils/dynamic.directive";
9
+ export class PageComponent extends BaseAngular {
10
+ getModel() {
11
+ return this.model;
12
+ }
13
+ onModelChanged() {
14
+ if (!!this.pageContainerRef && this.pageContainerRef.nativeElement) {
15
+ this.model.survey.afterRenderPage(this.pageContainerRef.nativeElement);
16
+ }
17
+ }
18
+ ngAfterViewInit() {
19
+ this.model.survey?.afterRenderPage(this.pageContainerRef?.nativeElement);
20
+ }
21
+ }
22
+ PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
+ PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PageComponent, selector: "page, sv-ng-page", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "pageContainerRef", first: true, predicate: ["pageContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n </ng-container> \n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.ElementTitleComponent, selector: "sv-ng-element-title", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: "page, sv-ng-page", template: "<ng-template #template>\n <ng-container *ngIf=\"!!this.survey && !!this.model && this.model.isVisible && !!this.model.survey\">\n <div [class]=\"model.cssRoot\" #pageContainer>\n <sv-ng-element-title [element]=\"model\"></sv-ng-element-title>\n <div *ngIf=\"model._showDescription\" [class]=\"model.cssClasses.page.description\">\n <sv-ng-string [model]=\"model.locDescription\"></sv-ng-string>\n </div>\n <ng-container *ngFor=\"let row of model.rows\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n </ng-container> \n</ng-template>", styles: [":host{display:none}\n"] }]
27
+ }], propDecorators: { model: [{
28
+ type: Input
29
+ }], survey: [{
30
+ type: Input
31
+ }], pageContainerRef: [{
32
+ type: ViewChild,
33
+ args: ["pageContainer", { static: false, read: ElementRef }]
34
+ }] } });
35
35
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBTTdDLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBc0I7SUFJN0MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNrQixjQUFjO1FBQy9CLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDeEU7SUFDSCxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7MEdBZFUsYUFBYTs4RkFBYixhQUFhLG9NQUcyQixVQUFVLG9EQ1gvRCx3eUJBY2M7MkZETkQsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxrQkFBa0I7OEJBS25CLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQzJELGdCQUFnQjtzQkFBaEYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYWdlTW9kZWwsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInBhZ2UsIHN2LW5nLXBhZ2VcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYWdlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9oaWRlLWhvc3Quc2Nzc1wiXVxuICB9KVxuZXhwb3J0IGNsYXNzIFBhZ2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxQYWdlTW9kZWw+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYWdlTW9kZWw7XG4gIEBJbnB1dCgpIHN1cnZleT86IFN1cnZleU1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFnZUNvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgcGFnZUNvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFnZU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnBhZ2VDb250YWluZXJSZWYgJiYgdGhpcy5wYWdlQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuc3VydmV5LmFmdGVyUmVuZGVyUGFnZSh0aGlzLnBhZ2VDb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYWdlKHRoaXMucGFnZUNvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudCk7XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiISF0aGlzLnN1cnZleSAmJiAhIXRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5pc1Zpc2libGUgJiYgISF0aGlzLm1vZGVsLnN1cnZleVwiPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc1Jvb3RcIiAjcGFnZUNvbnRhaW5lcj5cbiAgICAgIDxzdi1uZy1lbGVtZW50LXRpdGxlIFtlbGVtZW50XT1cIm1vZGVsXCI+PC9zdi1uZy1lbGVtZW50LXRpdGxlPlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLl9zaG93RGVzY3JpcHRpb25cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5wYWdlLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cIm1vZGVsLmxvY0Rlc2NyaXB0aW9uXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC5yb3dzXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnROYW1lKHJvdyksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnREYXRhKHJvdykgfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXJvdyBbcm93XT1cInJvd1wiPjwvc3Ytbmctcm93PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPiAgXG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,38 +1,38 @@
1
- import { Component, ElementRef, Input, ViewChild } 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/element-header/element-header.component";
6
- import * as i2 from "./row.component";
7
- import * as i3 from "./components/action-bar/action-bar.component";
8
- import * as i4 from "@angular/common";
9
- import * as i5 from "./utils/dynamic.directive";
10
- export class PanelComponent extends BaseAngular {
11
- constructor() {
12
- super(...arguments);
13
- this.trackRowBy = (_, row) => {
14
- return row.id;
15
- };
16
- }
17
- getModel() {
18
- return this.model;
19
- }
20
- ngAfterViewInit() {
21
- if (!!this.panelContainerRef?.nativeElement) {
22
- this.model.survey?.afterRenderPanel(this.model, this.panelContainerRef.nativeElement);
23
- }
24
- }
25
- }
26
- PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
- PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model && model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i2.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i3.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelComponent, decorators: [{
29
- type: Component,
30
- args: [{ selector: "sv-ng-panel, '[sv-ng-panel]'", template: "<ng-template #template>\n <div *ngIf=\"!!model && model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>" }]
31
- }], propDecorators: { model: [{
32
- type: Input
33
- }], panelContainerRef: [{
34
- type: ViewChild,
35
- args: ["panelContainer", { static: false, read: ElementRef }]
36
- }] } });
37
- AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
1
+ import { Component, ElementRef, Input, ViewChild } 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/element-header/element-header.component";
6
+ import * as i2 from "./row.component";
7
+ import * as i3 from "./components/action-bar/action-bar.component";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "./utils/dynamic.directive";
10
+ export class PanelComponent extends BaseAngular {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.trackRowBy = (_, row) => {
14
+ return row.id;
15
+ };
16
+ }
17
+ getModel() {
18
+ return this.model;
19
+ }
20
+ ngAfterViewInit() {
21
+ if (!!this.panelContainerRef?.nativeElement) {
22
+ this.model.survey?.afterRenderPanel(this.model, this.panelContainerRef.nativeElement);
23
+ }
24
+ }
25
+ }
26
+ PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
+ PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model && model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i2.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i3.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanelComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: "sv-ng-panel, '[sv-ng-panel]'", template: "<ng-template #template>\n <div *ngIf=\"!!model && model.isVisible\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" #panelContainer>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <!-- ko template: { name: 'survey-question-errors', data: $data } -->\n <!-- /ko -->\n <div *ngIf=\"!model.isCollapsed\" [style.paddingLeft]=\"model.innerPaddingLeft\" [class]=\"model.cssClasses.panel.content\" [attr.id]=\"model.contentId\">\n <ng-container *ngFor=\"let row of model.rows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n <sv-ng-action-bar [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>" }]
31
+ }], propDecorators: { model: [{
32
+ type: Input
33
+ }], panelContainerRef: [{
34
+ type: ViewChild,
35
+ args: ["panelContainer", { static: false, read: ElementRef }]
36
+ }] } });
37
+ AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFLOUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxXQUF1QjtJQUozRDs7UUFlRSxlQUFVLEdBQUcsQ0FBQyxDQUFNLEVBQUUsR0FBUSxFQUFFLEVBQUU7WUFDaEMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQTtLQUNGO0lBWFcsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxFQUFFO1lBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZGO0lBQ0gsQ0FBQzs7MkdBVlUsY0FBYzsrRkFBZCxjQUFjLGdNQUUyQixVQUFVLG9EQ1ZoRSw2K0JBY2M7MkZETkQsY0FBYztrQkFKMUIsU0FBUzsrQkFDRSw4QkFBOEI7OEJBSS9CLEtBQUs7c0JBQWIsS0FBSztnQkFDNEQsaUJBQWlCO3NCQUFsRixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQWFsRSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBhbmVsTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctcGFuZWwsICdbc3YtbmctcGFuZWxdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3BhbmVsLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFuZWxNb2RlbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFuZWxDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHBhbmVsQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYW5lbE1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYoISF0aGlzLnBhbmVsQ29udGFpbmVyUmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm1vZGVsLnN1cnZleT8uYWZ0ZXJSZW5kZXJQYW5lbCh0aGlzLm1vZGVsLCB0aGlzLnBhbmVsQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICB0cmFja1Jvd0J5ID0gKF86IGFueSwgcm93OiBhbnkpID0+IHtcbiAgICByZXR1cm4gcm93LmlkO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInBhbmVsXCIsIFBhbmVsQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwiISFtb2RlbCAmJiBtb2RlbC5pc1Zpc2libGVcIiBbYXR0ci5pZF09XCJtb2RlbC5pZFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250YWluZXJDc3MoKVwiIChmb2N1c2luKT1cIm1vZGVsLmZvY3VzSW4oKVwiICNwYW5lbENvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaGFzRGVzY3JpcHRpb24gfHwgbW9kZWwuaGFzVGl0bGVcIiBbZWxlbWVudF09XCJtb2RlbFwiIHN2LW5nLWVsZW1lbnQtaGVhZGVyPjwvZGl2PlxuICAgIDwhLS0ga28gdGVtcGxhdGU6IHsgbmFtZTogJ3N1cnZleS1xdWVzdGlvbi1lcnJvcnMnLCBkYXRhOiAkZGF0YSB9IC0tPlxuICAgIDwhLS0gL2tvIC0tPlxuICAgIDxkaXYgKm5nSWY9XCIhbW9kZWwuaXNDb2xsYXBzZWRcIiBbc3R5bGUucGFkZGluZ0xlZnRdPVwibW9kZWwuaW5uZXJQYWRkaW5nTGVmdFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnBhbmVsLmNvbnRlbnRcIiBbYXR0ci5pZF09XCJtb2RlbC5jb250ZW50SWRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC5yb3dzOyB0cmFja0J5OiB0cmFja1Jvd0J5XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnROYW1lKHJvdyksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogJGFueShtb2RlbC5zdXJ2ZXkpLmdldFJvd1dyYXBwZXJDb21wb25lbnREYXRhKHJvdykgfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXJvdyBbcm93XT1cInJvd1wiPjwvc3Ytbmctcm93PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3YtbmctYWN0aW9uLWJhciBbbW9kZWxdPVwibW9kZWwuZ2V0Rm9vdGVyVG9vbGJhcigpXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -1,44 +1,44 @@
1
- import { Component, Input } from "@angular/core";
2
- import { PopupSurveyModel } from "survey-core";
3
- import { BaseAngular } from "./base-angular";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./survey.component";
6
- import * as i2 from "@angular/common";
7
- export class PopupSurveyComponent extends BaseAngular {
8
- constructor(changeDetectorRef) {
9
- super(changeDetectorRef);
10
- changeDetectorRef.detach();
11
- }
12
- getModel() {
13
- return this.popup;
14
- }
15
- getShouldReattachChangeDetector() {
16
- return false;
17
- }
18
- ngOnChanges(changes) {
19
- if (changes["model"]?.currentValue !== changes["model"]?.previousValue) {
20
- this.popup = new PopupSurveyModel(null, this.model);
21
- }
22
- if (this.isExpanded !== undefined) {
23
- this.popup.isExpanded = this.isExpanded;
24
- }
25
- if (this.closeOnCompleteTimeout !== undefined) {
26
- this.popup.closeOnCompleteTimeout = this.closeOnCompleteTimeout;
27
- }
28
- this.popup.isShowing = true;
29
- this.changeDetectorRef.detectChanges();
30
- }
31
- }
32
- PopupSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupSurveyComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
33
- PopupSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupSurveyComponent, selector: "popup-survey", inputs: { model: "model", isExpanded: "isExpanded", closeOnCompleteTimeout: "closeOnCompleteTimeout" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px;\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\">\n <div [class]=\"popup.cssHeaderRoot\">\n <span (click)=\"popup.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">{{popup.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"popup.cssButton\"></span>\n </span>\n <span *ngIf=\"popup.isExpanded\" (click)=\"popup.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"popup.isExpanded\" [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n</div>", styles: [""], components: [{ type: i1.SurveyComponent, selector: "survey", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupSurveyComponent, decorators: [{
35
- type: Component,
36
- args: [{ selector: "popup-survey", template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px;\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\">\n <div [class]=\"popup.cssHeaderRoot\">\n <span (click)=\"popup.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">{{popup.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"popup.cssButton\"></span>\n </span>\n <span *ngIf=\"popup.isExpanded\" (click)=\"popup.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"popup.isExpanded\" [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n</div>", styles: [""] }]
37
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
38
- type: Input
39
- }], isExpanded: [{
40
- type: Input
41
- }], closeOnCompleteTimeout: [{
42
- type: Input
43
- }] } });
1
+ import { Component, Input } from "@angular/core";
2
+ import { PopupSurveyModel } from "survey-core";
3
+ import { BaseAngular } from "./base-angular";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./survey.component";
6
+ import * as i2 from "@angular/common";
7
+ export class PopupSurveyComponent extends BaseAngular {
8
+ constructor(changeDetectorRef) {
9
+ super(changeDetectorRef);
10
+ changeDetectorRef.detach();
11
+ }
12
+ getModel() {
13
+ return this.popup;
14
+ }
15
+ getShouldReattachChangeDetector() {
16
+ return false;
17
+ }
18
+ ngOnChanges(changes) {
19
+ if (changes["model"]?.currentValue !== changes["model"]?.previousValue) {
20
+ this.popup = new PopupSurveyModel(null, this.model);
21
+ }
22
+ if (this.isExpanded !== undefined) {
23
+ this.popup.isExpanded = this.isExpanded;
24
+ }
25
+ if (this.closeOnCompleteTimeout !== undefined) {
26
+ this.popup.closeOnCompleteTimeout = this.closeOnCompleteTimeout;
27
+ }
28
+ this.popup.isShowing = true;
29
+ this.changeDetectorRef.detectChanges();
30
+ }
31
+ }
32
+ PopupSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupSurveyComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
33
+ PopupSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupSurveyComponent, selector: "popup-survey", inputs: { model: "model", isExpanded: "isExpanded", closeOnCompleteTimeout: "closeOnCompleteTimeout" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px;\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\">\n <div [class]=\"popup.cssHeaderRoot\">\n <span (click)=\"popup.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">{{popup.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"popup.cssButton\"></span>\n </span>\n <span *ngIf=\"popup.isExpanded\" (click)=\"popup.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"popup.isExpanded\" [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n</div>", styles: [""], components: [{ type: i1.SurveyComponent, selector: "survey", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupSurveyComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: "popup-survey", template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px;\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\">\n <div [class]=\"popup.cssHeaderRoot\">\n <span (click)=\"popup.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">{{popup.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"popup.cssButton\"></span>\n </span>\n <span *ngIf=\"popup.isExpanded\" (click)=\"popup.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"popup.isExpanded\" [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n</div>", styles: [""] }]
37
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
38
+ type: Input
39
+ }], isExpanded: [{
40
+ type: Input
41
+ }], closeOnCompleteTimeout: [{
42
+ type: Input
43
+ }] } });
44
44
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vc3JjL3BvcHVwLnN1cnZleS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNN0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQTZCO0lBTXJFLFlBQVksaUJBQW9DO1FBQzlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pCLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ2tCLCtCQUErQjtRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsWUFBWSxLQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxhQUFhLEVBQUU7WUFDckUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDekM7UUFDRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxTQUFTLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7U0FDakU7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7O2lIQTVCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix3TUNSakMsNjRCQWFNOzJGRExPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxjQUFjO3dHQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUG9wdXBTdXJ2ZXlNb2RlbCwgU3VydmV5TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4vYmFzZS1hbmd1bGFyXCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicG9wdXAtc3VydmV5XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcG9wdXAuc3VydmV5LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50LnNjc3NcIl1cbiAgfSlcbmV4cG9ydCBjbGFzcyBQb3B1cFN1cnZleUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBvcHVwU3VydmV5TW9kZWw+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlNb2RlbDtcbiAgQElucHV0KCkgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNsb3NlT25Db21wbGV0ZVRpbWVvdXQ/OiBudW1iZXI7XG4gIHB1YmxpYyBwb3B1cCE6IFBvcHVwU3VydmV5TW9kZWw7XG5cbiAgY29uc3RydWN0b3IoY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIGNoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuICB9XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQb3B1cFN1cnZleU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5wb3B1cDtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0U2hvdWxkUmVhdHRhY2hDaGFuZ2VEZXRlY3RvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmKGNoYW5nZXNbXCJtb2RlbFwiXT8uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzW1wibW9kZWxcIl0/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMucG9wdXAgPSBuZXcgUG9wdXBTdXJ2ZXlNb2RlbChudWxsLCB0aGlzLm1vZGVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNFeHBhbmRlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnBvcHVwLmlzRXhwYW5kZWQgPSB0aGlzLmlzRXhwYW5kZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmNsb3NlT25Db21wbGV0ZVRpbWVvdXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wb3B1cC5jbG9zZU9uQ29tcGxldGVUaW1lb3V0ID0gdGhpcy5jbG9zZU9uQ29tcGxldGVUaW1lb3V0O1xuICAgIH1cbiAgICB0aGlzLnBvcHVwLmlzU2hvd2luZyA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn0iLCI8ZGl2ICpuZ0lmPVwiISFwb3B1cCAmJiBwb3B1cC5pc1Nob3dpbmdcIiBbY2xhc3NdPVwicG9wdXAuY3NzUm9vdFwiIHN0eWxlPVwicG9zaXRpb246IGZpeGVkOyBib3R0b206IDNweDsgcmlnaHQ6IDEwcHg7XCIgW3N0eWxlLndpZHRoXT1cInBvcHVwLnJlbmRlcmVkV2lkdGhcIiBbc3R5bGUubWF4V2lkdGhdPVwicG9wdXAucmVuZGVyZWRXaWR0aFwiPlxuICA8ZGl2IFtjbGFzc109XCJwb3B1cC5jc3NIZWFkZXJSb290XCI+XG4gICAgICA8c3BhbiAoY2xpY2spPVwicG9wdXAuY2hhbmdlRXhwYW5kQ29sbGFwc2UoKVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7IGN1cnNvcjogcG9pbnRlcjtcIj5cbiAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6MTBweFwiIFtjbGFzc109XCJwb3B1cC5jc3NIZWFkZXJUaXRsZVwiPnt7cG9wdXAubG9jVGl0bGUucmVuZGVyZWRIdG1sfX08L3NwYW4+XG4gICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgW2NsYXNzXT1cInBvcHVwLmNzc0J1dHRvblwiPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicG9wdXAuaXNFeHBhbmRlZFwiIChjbGljayk9XCJwb3B1cC5jaGFuZ2VFeHBhbmRDb2xsYXBzZSgpXCIgc3R5bGU9XCJmbG9hdDogcmlnaHQ7IGN1cnNvcjogcG9pbnRlcjtcIj5cbiAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6MTBweFwiIFtjbGFzc109XCJwb3B1cC5jc3NIZWFkZXJUaXRsZVwiPlg8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwicG9wdXAuaXNFeHBhbmRlZFwiIFtjbGFzc109XCJwb3B1cC5jc3NCb2R5XCI+XG4gICAgPHN1cnZleSBbbW9kZWxdPVwicG9wdXAuc3VydmV5XCI+PC9zdXJ2ZXk+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -1,54 +1,54 @@
1
- import { Component, Input, ViewChild } from "@angular/core";
2
- import { AngularComponentFactory } from "./component-factory";
3
- import { EmbeddedViewContentComponent } from "./embedded-view-content.component";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./errors.component";
6
- import * as i2 from "./components/element-header/element-header.component";
7
- import * as i3 from "./comment.component";
8
- import * as i4 from "./survey-string.component";
9
- import * as i5 from "@angular/common";
10
- import * as i6 from "./utils/ng-show.directive";
11
- import * as i7 from "./utils/dynamic.directive";
12
- export class QuestionComponent extends EmbeddedViewContentComponent {
13
- getModel() {
14
- return this.model;
15
- }
16
- ngAfterViewInit() {
17
- if (!!this.rootEl?.nativeElement) {
18
- this.model.afterRender(this.rootEl?.nativeElement);
19
- }
20
- }
21
- getComponentName() {
22
- if (this.model.customWidget)
23
- return "survey-customwidget";
24
- if (this.model.isDefaultRendering()) {
25
- return this.model.getTemplate() + "-question";
26
- }
27
- return this.model.getComponentName();
28
- }
29
- getQuestionContentWrapperComponentName() {
30
- return this.model.survey.getQuestionContentWrapperComponentName(this.model) || this.getComponentName();
31
- }
32
- getQuestionContentWrapperComponentData() {
33
- return {
34
- componentName: this.getComponentName(),
35
- componentData: {
36
- model: this.model,
37
- data: this.model.survey.getElementWrapperComponentData(this.model)
38
- }
39
- };
40
- }
41
- }
42
- QuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
43
- QuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuestionComponent, selector: "sv-ng-question", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["elementContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model\" #elementContainer [class]=\"model.getRootCss()\" [style]=\"{ paddingLeft: model.paddingLeft, paddingRight: model.paddingRight }\" [id]=\"model.id\" [attr.data-name]=\"model.name\" [attr.role]=\"model.ariaRole\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-labelledby]=\"model.ariaLabelledBy\">\n <div *ngIf=\"model.showErrorsAboveQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnLeftTop\" sv-ng-element-header></div>\n <div [class]=\"model.cssContent\" role=\"presentation\" [visible]=\"!model.isCollapsed\">\n <div *ngIf=\"model.showErrorOnTop && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <ng-template [component]=\"{ name: getQuestionContentWrapperComponentName(), data: getQuestionContentWrapperComponentData(), default: 'skeleton-question' }\">\n </ng-template>\n <div *ngIf=\"model.hasComment\" [class]=\"model.cssClasses.formGroup\">\n <div>{{ model.commentText }}</div>\n <div [question]=\"model\" sv-ng-comment></div>\n </div>\n <div *ngIf=\"model.showErrorOnBottom && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.isErrorsModeTooltip && model.hasVisibleErrors\" [element]=\"model\" [location]=\"'tooltip'\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescriptionUnderInput\" [class]=\"model.cssDescription\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnBottom\" sv-ng-element-header></div>\n <div *ngIf=\"model.showErrorsBelowQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n </div>\n</ng-template>", components: [{ type: i1.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i2.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i3.SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: ["question"] }, { type: i4.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i7.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: "sv-ng-question", template: "<ng-template #template>\n <div *ngIf=\"!!model\" #elementContainer [class]=\"model.getRootCss()\" [style]=\"{ paddingLeft: model.paddingLeft, paddingRight: model.paddingRight }\" [id]=\"model.id\" [attr.data-name]=\"model.name\" [attr.role]=\"model.ariaRole\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-labelledby]=\"model.ariaLabelledBy\">\n <div *ngIf=\"model.showErrorsAboveQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnLeftTop\" sv-ng-element-header></div>\n <div [class]=\"model.cssContent\" role=\"presentation\" [visible]=\"!model.isCollapsed\">\n <div *ngIf=\"model.showErrorOnTop && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <ng-template [component]=\"{ name: getQuestionContentWrapperComponentName(), data: getQuestionContentWrapperComponentData(), default: 'skeleton-question' }\">\n </ng-template>\n <div *ngIf=\"model.hasComment\" [class]=\"model.cssClasses.formGroup\">\n <div>{{ model.commentText }}</div>\n <div [question]=\"model\" sv-ng-comment></div>\n </div>\n <div *ngIf=\"model.showErrorOnBottom && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.isErrorsModeTooltip && model.hasVisibleErrors\" [element]=\"model\" [location]=\"'tooltip'\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescriptionUnderInput\" [class]=\"model.cssDescription\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnBottom\" sv-ng-element-header></div>\n <div *ngIf=\"model.showErrorsBelowQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n </div>\n</ng-template>" }]
47
- }], propDecorators: { model: [{
48
- type: Input
49
- }], rootEl: [{
50
- type: ViewChild,
51
- args: ["elementContainer"]
52
- }] } });
53
- AngularComponentFactory.Instance.registerComponent("question", QuestionComponent);
1
+ import { Component, Input, ViewChild } from "@angular/core";
2
+ import { AngularComponentFactory } from "./component-factory";
3
+ import { EmbeddedViewContentComponent } from "./embedded-view-content.component";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./errors.component";
6
+ import * as i2 from "./components/element-header/element-header.component";
7
+ import * as i3 from "./comment.component";
8
+ import * as i4 from "./survey-string.component";
9
+ import * as i5 from "@angular/common";
10
+ import * as i6 from "./utils/ng-show.directive";
11
+ import * as i7 from "./utils/dynamic.directive";
12
+ export class QuestionComponent extends EmbeddedViewContentComponent {
13
+ getModel() {
14
+ return this.model;
15
+ }
16
+ ngAfterViewInit() {
17
+ if (!!this.rootEl?.nativeElement) {
18
+ this.model.afterRender(this.rootEl?.nativeElement);
19
+ }
20
+ }
21
+ getComponentName() {
22
+ if (this.model.customWidget)
23
+ return "survey-customwidget";
24
+ if (this.model.isDefaultRendering()) {
25
+ return this.model.getTemplate() + "-question";
26
+ }
27
+ return this.model.getComponentName();
28
+ }
29
+ getQuestionContentWrapperComponentName() {
30
+ return this.model.survey.getQuestionContentWrapperComponentName(this.model) || this.getComponentName();
31
+ }
32
+ getQuestionContentWrapperComponentData() {
33
+ return {
34
+ componentName: this.getComponentName(),
35
+ componentData: {
36
+ model: this.model,
37
+ data: this.model.survey.getElementWrapperComponentData(this.model)
38
+ }
39
+ };
40
+ }
41
+ }
42
+ QuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
43
+ QuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: QuestionComponent, selector: "sv-ng-question", inputs: { model: "model" }, viewQueries: [{ propertyName: "rootEl", first: true, predicate: ["elementContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"!!model\" #elementContainer [class]=\"model.getRootCss()\" [style]=\"{ paddingLeft: model.paddingLeft, paddingRight: model.paddingRight }\" [id]=\"model.id\" [attr.data-name]=\"model.name\" [attr.role]=\"model.ariaRole\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-labelledby]=\"model.ariaLabelledBy\">\n <div *ngIf=\"model.showErrorsAboveQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnLeftTop\" sv-ng-element-header></div>\n <div [class]=\"model.cssContent\" role=\"presentation\" [visible]=\"!model.isCollapsed\">\n <div *ngIf=\"model.showErrorOnTop && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <ng-template [component]=\"{ name: getQuestionContentWrapperComponentName(), data: getQuestionContentWrapperComponentData(), default: 'skeleton-question' }\">\n </ng-template>\n <div *ngIf=\"model.hasComment\" [class]=\"model.cssClasses.formGroup\">\n <div>{{ model.commentText }}</div>\n <div [question]=\"model\" sv-ng-comment></div>\n </div>\n <div *ngIf=\"model.showErrorOnBottom && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.isErrorsModeTooltip && model.hasVisibleErrors\" [element]=\"model\" [location]=\"'tooltip'\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescriptionUnderInput\" [class]=\"model.cssDescription\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnBottom\" sv-ng-element-header></div>\n <div *ngIf=\"model.showErrorsBelowQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n </div>\n</ng-template>", components: [{ type: i1.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i2.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i3.SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: ["question"] }, { type: i4.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i7.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: QuestionComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: "sv-ng-question", template: "<ng-template #template>\n <div *ngIf=\"!!model\" #elementContainer [class]=\"model.getRootCss()\" [style]=\"{ paddingLeft: model.paddingLeft, paddingRight: model.paddingRight }\" [id]=\"model.id\" [attr.data-name]=\"model.name\" [attr.role]=\"model.ariaRole\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-labelledby]=\"model.ariaLabelledBy\">\n <div *ngIf=\"model.showErrorsAboveQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnLeftTop\" sv-ng-element-header></div>\n <div [class]=\"model.cssContent\" role=\"presentation\" [visible]=\"!model.isCollapsed\">\n <div *ngIf=\"model.showErrorOnTop && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <ng-template [component]=\"{ name: getQuestionContentWrapperComponentName(), data: getQuestionContentWrapperComponentData(), default: 'skeleton-question' }\">\n </ng-template>\n <div *ngIf=\"model.hasComment\" [class]=\"model.cssClasses.formGroup\">\n <div>{{ model.commentText }}</div>\n <div [question]=\"model\" sv-ng-comment></div>\n </div>\n <div *ngIf=\"model.showErrorOnBottom && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.isErrorsModeTooltip && model.hasVisibleErrors\" [element]=\"model\" [location]=\"'tooltip'\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescriptionUnderInput\" [class]=\"model.cssDescription\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n <div [element]=\"model\" *ngIf=\"model.hasTitleOnBottom\" sv-ng-element-header></div>\n <div *ngIf=\"model.showErrorsBelowQuestion && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n </div>\n</ng-template>" }]
47
+ }], propDecorators: { model: [{
48
+ type: Input
49
+ }], rootEl: [{
50
+ type: ViewChild,
51
+ args: ["elementContainer"]
52
+ }] } });
53
+ AngularComponentFactory.Instance.registerComponent("question", QuestionComponent);
54
54
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uL3NyYy9xdWVzdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7OztBQU1qRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsNEJBQTRCO0lBR3ZELFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFDTSxnQkFBZ0I7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7WUFBRSxPQUFPLHFCQUFxQixDQUFDO1FBQzFELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxXQUFXLENBQUM7U0FDL0M7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ00sc0NBQXNDO1FBQzNDLE9BQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFPLENBQUMsc0NBQXNDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2hILENBQUM7SUFDTSxzQ0FBc0M7UUFDM0MsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdEMsYUFBYSxFQUFFO2dCQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsSUFBSSxFQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTyxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDMUU7U0FDRixDQUFDO0lBQ0osQ0FBQzs7OEdBN0JVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHFOQ1Q5QiwreERBbUJjOzJGRFZELGlCQUFpQjtrQkFKN0IsU0FBUzsrQkFDRSxnQkFBZ0I7OEJBSWpCLEtBQUs7c0JBQWIsS0FBSztnQkFDeUIsTUFBTTtzQkFBcEMsU0FBUzt1QkFBQyxrQkFBa0I7O0FBOEIvQix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb24gfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbmltcG9ydCB7IEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwiLi9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3F1ZXN0aW9uLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Db21wb25lbnQgZXh0ZW5kcyBFbWJlZGRlZFZpZXdDb250ZW50Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZWwhOiBRdWVzdGlvbjtcbiAgQFZpZXdDaGlsZChcImVsZW1lbnRDb250YWluZXJcIikgcm9vdEVsPzogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBRdWVzdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMucm9vdEVsPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLm1vZGVsLmFmdGVyUmVuZGVyKHRoaXMucm9vdEVsPy5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldENvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5tb2RlbC5jdXN0b21XaWRnZXQpIHJldHVybiBcInN1cnZleS1jdXN0b213aWRnZXRcIjtcbiAgICBpZiAodGhpcy5tb2RlbC5pc0RlZmF1bHRSZW5kZXJpbmcoKSkge1xuICAgICAgcmV0dXJuIHRoaXMubW9kZWwuZ2V0VGVtcGxhdGUoKSArIFwiLXF1ZXN0aW9uXCI7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1vZGVsLmdldENvbXBvbmVudE5hbWUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0UXVlc3Rpb25Db250ZW50V3JhcHBlckNvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKDxhbnk+dGhpcy5tb2RlbC5zdXJ2ZXkpLmdldFF1ZXN0aW9uQ29udGVudFdyYXBwZXJDb21wb25lbnROYW1lKHRoaXMubW9kZWwpIHx8IHRoaXMuZ2V0Q29tcG9uZW50TmFtZSgpO1xuICB9XG4gIHB1YmxpYyBnZXRRdWVzdGlvbkNvbnRlbnRXcmFwcGVyQ29tcG9uZW50RGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnROYW1lOiB0aGlzLmdldENvbXBvbmVudE5hbWUoKSxcbiAgICAgIGNvbXBvbmVudERhdGE6IHtcbiAgICAgICAgbW9kZWw6IHRoaXMubW9kZWwsXG4gICAgICAgIGRhdGE6ICg8YW55PnRoaXMubW9kZWwuc3VydmV5KS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudERhdGEodGhpcy5tb2RlbClcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwicXVlc3Rpb25cIiwgUXVlc3Rpb25Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKm5nSWY9XCIhIW1vZGVsXCIgI2VsZW1lbnRDb250YWluZXIgW2NsYXNzXT1cIm1vZGVsLmdldFJvb3RDc3MoKVwiIFtzdHlsZV09XCJ7IHBhZGRpbmdMZWZ0OiBtb2RlbC5wYWRkaW5nTGVmdCwgcGFkZGluZ1JpZ2h0OiBtb2RlbC5wYWRkaW5nUmlnaHQgfVwiIFtpZF09XCJtb2RlbC5pZFwiIFthdHRyLmRhdGEtbmFtZV09XCJtb2RlbC5uYW1lXCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwibW9kZWwuYXJpYVJlcXVpcmVkXCIgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1vZGVsLmFyaWFJbnZhbGlkXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIm1vZGVsLmFyaWFMYWJlbGxlZEJ5XCI+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLnNob3dFcnJvcnNBYm92ZVF1ZXN0aW9uICYmIG1vZGVsLmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJtb2RlbFwiIHN2LW5nLWVycm9ycz48L2Rpdj5cbiAgICA8ZGl2IFtlbGVtZW50XT1cIm1vZGVsXCIgKm5nSWY9XCJtb2RlbC5oYXNUaXRsZU9uTGVmdFRvcFwiIHN2LW5nLWVsZW1lbnQtaGVhZGVyPjwvZGl2PlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NvbnRlbnRcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgW3Zpc2libGVdPVwiIW1vZGVsLmlzQ29sbGFwc2VkXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuc2hvd0Vycm9yT25Ub3AgJiYgbW9kZWwuaGFzVmlzaWJsZUVycm9yc1wiIFtlbGVtZW50XT1cIm1vZGVsXCIgc3YtbmctZXJyb3JzPjwvZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBnZXRRdWVzdGlvbkNvbnRlbnRXcmFwcGVyQ29tcG9uZW50TmFtZSgpLCBkYXRhOiBnZXRRdWVzdGlvbkNvbnRlbnRXcmFwcGVyQ29tcG9uZW50RGF0YSgpLCBkZWZhdWx0OiAnc2tlbGV0b24tcXVlc3Rpb24nIH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaGFzQ29tbWVudFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZvcm1Hcm91cFwiPlxuICAgICAgICA8ZGl2Pnt7IG1vZGVsLmNvbW1lbnRUZXh0IH19PC9kaXY+XG4gICAgICAgIDxkaXYgW3F1ZXN0aW9uXT1cIm1vZGVsXCIgc3YtbmctY29tbWVudD48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIm1vZGVsLnNob3dFcnJvck9uQm90dG9tICYmIG1vZGVsLmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJtb2RlbFwiIHN2LW5nLWVycm9ycz48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5pc0Vycm9yc01vZGVUb29sdGlwICYmIG1vZGVsLmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJtb2RlbFwiIFtsb2NhdGlvbl09XCIndG9vbHRpcCdcIiBzdi1uZy1lcnJvcnM+PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuaGFzRGVzY3JpcHRpb25VbmRlcklucHV0XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0Rlc2NyaXB0aW9uXCIgW21vZGVsXT1cIm1vZGVsLmxvY0Rlc2NyaXB0aW9uXCIgc3Ytbmctc3RyaW5nPjwvZGl2PlxuICA8L2Rpdj5cbiAgICA8ZGl2IFtlbGVtZW50XT1cIm1vZGVsXCIgKm5nSWY9XCJtb2RlbC5oYXNUaXRsZU9uQm90dG9tXCIgc3YtbmctZWxlbWVudC1oZWFkZXI+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLnNob3dFcnJvcnNCZWxvd1F1ZXN0aW9uICYmIG1vZGVsLmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJtb2RlbFwiIHN2LW5nLWVycm9ycz48L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==