@openmrs/ngx-formentry 19.0.1-pre.492 → 19.0.1-pre.497

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 (200) hide show
  1. package/components/input/label.component.d.ts +1 -1
  2. package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +1 -1
  3. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +1 -1
  4. package/components/number-input/number-input.component.d.ts +1 -1
  5. package/components/select/select.component.d.ts +1 -1
  6. package/fesm2022/openmrs-ngx-formentry.mjs +364 -346
  7. package/fesm2022/openmrs-ngx-formentry.mjs.map +1 -1
  8. package/form-entry/helpers/js-expression-helper.d.ts +1 -1
  9. package/package.json +10 -12
  10. package/esm2022/abstract-controls-extension/afe-control-type.mjs +0 -8
  11. package/esm2022/abstract-controls-extension/afe-form-array.mjs +0 -89
  12. package/esm2022/abstract-controls-extension/afe-form-control.mjs +0 -91
  13. package/esm2022/abstract-controls-extension/afe-form-group.mjs +0 -66
  14. package/esm2022/abstract-controls-extension/control-extensions.mjs +0 -5
  15. package/esm2022/abstract-controls-extension/index.mjs +0 -5
  16. package/esm2022/abstract-controls-extension/value-change.listener.mjs +0 -2
  17. package/esm2022/change-tracking/control-relation.mjs +0 -42
  18. package/esm2022/change-tracking/control-relations.mjs +0 -32
  19. package/esm2022/components/afe-ng-select.component.mjs +0 -101
  20. package/esm2022/components/appointments-overview/appointments-overview.component.mjs +0 -116
  21. package/esm2022/components/check-box/checkbox.component.mjs +0 -110
  22. package/esm2022/components/check-box/checkbox.module.mjs +0 -19
  23. package/esm2022/components/custom-component-wrapper/custom-component-wrapper.component.mjs +0 -21
  24. package/esm2022/components/custom-component-wrapper/custom-component-wrapper.module.mjs +0 -22
  25. package/esm2022/components/custom-control-wrapper/custom-control-wrapper.component.mjs +0 -68
  26. package/esm2022/components/custom-control-wrapper/custom-control-wrapper.module.mjs +0 -23
  27. package/esm2022/components/date-time-picker/date-picker/date-picker.component.mjs +0 -188
  28. package/esm2022/components/date-time-picker/date-time-picker.component.mjs +0 -115
  29. package/esm2022/components/date-time-picker/date-time-picker.module.mjs +0 -48
  30. package/esm2022/components/date-time-picker/index.mjs +0 -9
  31. package/esm2022/components/date-time-picker/picker-modal/modal.component.mjs +0 -25
  32. package/esm2022/components/date-time-picker/pipes/moment.pipe.mjs +0 -17
  33. package/esm2022/components/date-time-picker/time-picker/time-picker.component.mjs +0 -121
  34. package/esm2022/components/file-upload/file-upload.component.mjs +0 -109
  35. package/esm2022/components/file-upload/file-upload.module.mjs +0 -37
  36. package/esm2022/components/file-upload/secure.pipe.mjs +0 -101
  37. package/esm2022/components/input/input.directive.mjs +0 -78
  38. package/esm2022/components/input/input.module.mjs +0 -23
  39. package/esm2022/components/input/label.component.mjs +0 -263
  40. package/esm2022/components/input/text-area.directive.mjs +0 -58
  41. package/esm2022/components/ngx-datetime-picker/ngx-datetime-picker.component.mjs +0 -87
  42. package/esm2022/components/ngx-datetime-picker/ngx-datetime-picker.module.mjs +0 -40
  43. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.mjs +0 -114
  44. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.mjs +0 -7
  45. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.mjs +0 -347
  46. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.mjs +0 -16
  47. package/esm2022/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.mjs +0 -39
  48. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar-body.component.mjs +0 -142
  49. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.mjs +0 -439
  50. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.mjs +0 -373
  51. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.mjs +0 -367
  52. package/esm2022/components/ngx-pick-datetime/lib/date-time/calendar.component.mjs +0 -342
  53. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.mjs +0 -259
  54. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.mjs +0 -392
  55. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.mjs +0 -614
  56. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.mjs +0 -65
  57. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.mjs +0 -70
  58. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.mjs +0 -21
  59. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.mjs +0 -522
  60. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time.class.mjs +0 -166
  61. package/esm2022/components/ngx-pick-datetime/lib/date-time/date-time.module.mjs +0 -97
  62. package/esm2022/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.mjs +0 -28
  63. package/esm2022/components/ngx-pick-datetime/lib/date-time/timer-box.component.mjs +0 -90
  64. package/esm2022/components/ngx-pick-datetime/lib/date-time/timer.component.mjs +0 -292
  65. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog-config.class.mjs +0 -56
  66. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog-container.component.mjs +0 -243
  67. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.mjs +0 -119
  68. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog.module.mjs +0 -26
  69. package/esm2022/components/ngx-pick-datetime/lib/dialog/dialog.service.mjs +0 -233
  70. package/esm2022/components/ngx-pick-datetime/lib/utils/index.mjs +0 -5
  71. package/esm2022/components/ngx-pick-datetime/lib/utils/object.utils.mjs +0 -26
  72. package/esm2022/components/ngx-remote-select/ngx-remote-select.component.mjs +0 -151
  73. package/esm2022/components/ngx-remote-select/ngx-remote-select.module.mjs +0 -22
  74. package/esm2022/components/ngx-tabset/components/ngx-tab-set.component.mjs +0 -74
  75. package/esm2022/components/ngx-tabset/components/tab.component.mjs +0 -33
  76. package/esm2022/components/ngx-tabset/directives/hover-class.directive.mjs +0 -30
  77. package/esm2022/components/ngx-tabset/modules/ngx-tabset.module.mjs +0 -38
  78. package/esm2022/components/number-input/number-input.component.mjs +0 -254
  79. package/esm2022/components/number-input/number-input.module.mjs +0 -21
  80. package/esm2022/components/number-input/number.directive.mjs +0 -22
  81. package/esm2022/components/radio-button/radio.component.mjs +0 -98
  82. package/esm2022/components/radio-button/radio.module.mjs +0 -19
  83. package/esm2022/components/select/optgroup.directive.mjs +0 -19
  84. package/esm2022/components/select/option.directive.mjs +0 -19
  85. package/esm2022/components/select/select.component.mjs +0 -182
  86. package/esm2022/components/select/select.module.mjs +0 -23
  87. package/esm2022/components/workspace-launcher/workspace-launcher.component.mjs +0 -26
  88. package/esm2022/components/workspace-launcher/workspace-launcher.module.mjs +0 -19
  89. package/esm2022/form-entry/control-alerts/alert-helpers.mjs +0 -40
  90. package/esm2022/form-entry/control-alerts/can-generate-alert.mjs +0 -2
  91. package/esm2022/form-entry/control-calculators/can-calculate.mjs +0 -2
  92. package/esm2022/form-entry/control-hiders-disablers/can-disable.mjs +0 -2
  93. package/esm2022/form-entry/control-hiders-disablers/can-hide.mjs +0 -2
  94. package/esm2022/form-entry/control-hiders-disablers/disabler-helper.mjs +0 -32
  95. package/esm2022/form-entry/control-hiders-disablers/hider-helpers.mjs +0 -41
  96. package/esm2022/form-entry/data-sources/data-sources.mjs +0 -30
  97. package/esm2022/form-entry/data-sources/dummy-data-source.mjs +0 -104
  98. package/esm2022/form-entry/directives/collapse-animations.mjs +0 -11
  99. package/esm2022/form-entry/directives/collapse.directive.mjs +0 -172
  100. package/esm2022/form-entry/directives/historical-value.directive.mjs +0 -68
  101. package/esm2022/form-entry/error-renderer/error-renderer.component.mjs +0 -53
  102. package/esm2022/form-entry/expression-runner/expression-runner.mjs +0 -170
  103. package/esm2022/form-entry/form-entry.module.mjs +0 -188
  104. package/esm2022/form-entry/form-factory/control-relations.factory.mjs +0 -238
  105. package/esm2022/form-entry/form-factory/form-control.service.mjs +0 -118
  106. package/esm2022/form-entry/form-factory/form-node.mjs +0 -99
  107. package/esm2022/form-entry/form-factory/form.factory.mjs +0 -143
  108. package/esm2022/form-entry/form-factory/form.mjs +0 -190
  109. package/esm2022/form-entry/form-factory/hiders-disablers.factory.mjs +0 -68
  110. package/esm2022/form-entry/form-factory/index.mjs +0 -7
  111. package/esm2022/form-entry/form-factory/question.factory.mjs +0 -1123
  112. package/esm2022/form-entry/form-factory/show-messages.factory.mjs +0 -31
  113. package/esm2022/form-entry/form-factory/validation.factory.mjs +0 -182
  114. package/esm2022/form-entry/form-renderer/form-renderer.component.mjs +0 -277
  115. package/esm2022/form-entry/helpers/historical-expression-helper-service.mjs +0 -42
  116. package/esm2022/form-entry/helpers/historical-field-helper-service.mjs +0 -39
  117. package/esm2022/form-entry/helpers/js-expression-helper.mjs +0 -322
  118. package/esm2022/form-entry/helpers/risk-dataset-table.mjs +0 -247
  119. package/esm2022/form-entry/pipes/time-ago.pipe.mjs +0 -110
  120. package/esm2022/form-entry/question-models/checkbox.model.mjs +0 -11
  121. package/esm2022/form-entry/question-models/conditional-validation.model.mjs +0 -9
  122. package/esm2022/form-entry/question-models/custom-control-question.model.mjs +0 -10
  123. package/esm2022/form-entry/question-models/date-question.mjs +0 -12
  124. package/esm2022/form-entry/question-models/date-validation.model.mjs +0 -10
  125. package/esm2022/form-entry/question-models/decimal-validation.model.mjs +0 -19
  126. package/esm2022/form-entry/question-models/diagnosis-question.mjs +0 -12
  127. package/esm2022/form-entry/question-models/disallow-decimals-validation.model.mjs +0 -18
  128. package/esm2022/form-entry/question-models/file-upload-question.mjs +0 -13
  129. package/esm2022/form-entry/question-models/group-question.mjs +0 -12
  130. package/esm2022/form-entry/question-models/index.mjs +0 -24
  131. package/esm2022/form-entry/question-models/interfaces/base-options.mjs +0 -2
  132. package/esm2022/form-entry/question-models/interfaces/checkbox-options.mjs +0 -2
  133. package/esm2022/form-entry/question-models/interfaces/data-source.mjs +0 -2
  134. package/esm2022/form-entry/question-models/interfaces/date-question-options.mjs +0 -2
  135. package/esm2022/form-entry/question-models/interfaces/diagnosis-question-options.mjs +0 -2
  136. package/esm2022/form-entry/question-models/interfaces/file-upload-question-options.mjs +0 -2
  137. package/esm2022/form-entry/question-models/interfaces/group-question-options.mjs +0 -2
  138. package/esm2022/form-entry/question-models/interfaces/multi-select-options.mjs +0 -2
  139. package/esm2022/form-entry/question-models/interfaces/nested-questions.mjs +0 -7
  140. package/esm2022/form-entry/question-models/interfaces/radio-button-options.mjs +0 -2
  141. package/esm2022/form-entry/question-models/interfaces/remote-select-question-options.mjs +0 -2
  142. package/esm2022/form-entry/question-models/interfaces/repeating-question-options.mjs +0 -2
  143. package/esm2022/form-entry/question-models/interfaces/select-option.mjs +0 -2
  144. package/esm2022/form-entry/question-models/interfaces/select-question-options.mjs +0 -2
  145. package/esm2022/form-entry/question-models/interfaces/test-order-question-options.mjs +0 -2
  146. package/esm2022/form-entry/question-models/interfaces/text-area-question-options.mjs +0 -2
  147. package/esm2022/form-entry/question-models/interfaces/text-question-options.mjs +0 -2
  148. package/esm2022/form-entry/question-models/interfaces/ui-select-question-options.mjs +0 -2
  149. package/esm2022/form-entry/question-models/interfaces/workspace-launcher-options.mjs +0 -2
  150. package/esm2022/form-entry/question-models/js-expression-validation.model.mjs +0 -8
  151. package/esm2022/form-entry/question-models/max-length-validation.model.mjs +0 -9
  152. package/esm2022/form-entry/question-models/max-validation.model.mjs +0 -9
  153. package/esm2022/form-entry/question-models/min-length-validation.model.mjs +0 -9
  154. package/esm2022/form-entry/question-models/min-validation.model.mjs +0 -9
  155. package/esm2022/form-entry/question-models/models.mjs +0 -13
  156. package/esm2022/form-entry/question-models/multi-select-question.mjs +0 -11
  157. package/esm2022/form-entry/question-models/pair.model.mjs +0 -7
  158. package/esm2022/form-entry/question-models/question-base.mjs +0 -26
  159. package/esm2022/form-entry/question-models/radio-button.model.mjs +0 -12
  160. package/esm2022/form-entry/question-models/remote-select-question.mjs +0 -12
  161. package/esm2022/form-entry/question-models/rendering-type.mjs +0 -9
  162. package/esm2022/form-entry/question-models/repeating-question.mjs +0 -11
  163. package/esm2022/form-entry/question-models/select-option.mjs +0 -7
  164. package/esm2022/form-entry/question-models/select-question.mjs +0 -12
  165. package/esm2022/form-entry/question-models/test-order-question.mjs +0 -15
  166. package/esm2022/form-entry/question-models/text-area-input-question.mjs +0 -13
  167. package/esm2022/form-entry/question-models/text-input-question.mjs +0 -10
  168. package/esm2022/form-entry/question-models/ui-select-question.mjs +0 -11
  169. package/esm2022/form-entry/question-models/validation.model.mjs +0 -7
  170. package/esm2022/form-entry/question-models/workspace-launcher.model.mjs +0 -15
  171. package/esm2022/form-entry/services/debug-mode.service.mjs +0 -24
  172. package/esm2022/form-entry/services/form-errors.service.mjs +0 -21
  173. package/esm2022/form-entry/services/form-schema-compiler.service.mjs +0 -262
  174. package/esm2022/form-entry/services/historical-encounter-data.service.mjs +0 -172
  175. package/esm2022/form-entry/validators/conditional-answered.validator.mjs +0 -46
  176. package/esm2022/form-entry/validators/conditional-required.validator.mjs +0 -40
  177. package/esm2022/form-entry/validators/date.validator.mjs +0 -18
  178. package/esm2022/form-entry/validators/disallow-decimals.validator.mjs +0 -15
  179. package/esm2022/form-entry/validators/future-date-restriction.validator.mjs +0 -21
  180. package/esm2022/form-entry/validators/js-expression.validator.mjs +0 -26
  181. package/esm2022/form-entry/validators/max-date.validator.mjs +0 -23
  182. package/esm2022/form-entry/validators/max-length.validator.mjs +0 -17
  183. package/esm2022/form-entry/validators/max.validator.mjs +0 -21
  184. package/esm2022/form-entry/validators/min-date.validator.mjs +0 -23
  185. package/esm2022/form-entry/validators/min-length.validator.mjs +0 -17
  186. package/esm2022/form-entry/validators/min.validator.mjs +0 -21
  187. package/esm2022/form-entry/validators/required.validator.mjs +0 -11
  188. package/esm2022/form-entry/validators/validations.mjs +0 -5
  189. package/esm2022/form-entry/value-adapters/diagnosis.adapter.mjs +0 -241
  190. package/esm2022/form-entry/value-adapters/encounter.adapter.mjs +0 -190
  191. package/esm2022/form-entry/value-adapters/obs-adapter-helper.mjs +0 -559
  192. package/esm2022/form-entry/value-adapters/obs.adapter.mjs +0 -541
  193. package/esm2022/form-entry/value-adapters/order.adapter.mjs +0 -186
  194. package/esm2022/form-entry/value-adapters/patient-identifier.adapter.mjs +0 -77
  195. package/esm2022/form-entry/value-adapters/person-attribute.adapter.mjs +0 -88
  196. package/esm2022/form-entry/value-adapters/value.adapter.mjs +0 -2
  197. package/esm2022/lib/index.mjs +0 -59
  198. package/esm2022/openmrs-ngx-formentry.mjs +0 -5
  199. package/esm2022/public_api.mjs +0 -2
  200. package/esm2022/shared.module.mjs +0 -21
@@ -1,143 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { TranslateService } from '@ngx-translate/core';
3
- import { LeafNode, GroupNode, ArrayNode } from './form-node';
4
- import { NestedQuestion, RepeatingQuestion, QuestionGroup } from '../question-models/models';
5
- import { FormControlService } from './form-control.service';
6
- import { QuestionFactory } from './question.factory';
7
- import { AfeControlType, AfeFormArray } from '../../abstract-controls-extension';
8
- import { ControlRelationsFactory } from './control-relations.factory';
9
- import { Validations } from '../validators/validations';
10
- import { Form } from './form';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./form-control.service";
13
- import * as i2 from "./question.factory";
14
- import * as i3 from "./control-relations.factory";
15
- import * as i4 from "@ngx-translate/core";
16
- export class FormFactory {
17
- constructor(controlService, questionFactory, controlRelationsFactory, translate) {
18
- this.controlService = controlService;
19
- this.questionFactory = questionFactory;
20
- this.controlRelationsFactory = controlRelationsFactory;
21
- this.translate = translate;
22
- this.nodeIndex = 0;
23
- this.hd = {
24
- getValue: () => {
25
- return 20;
26
- }
27
- };
28
- }
29
- createForm(schema, dataSource) {
30
- const form = new Form(schema, this, this.questionFactory);
31
- if (dataSource) {
32
- for (const key in dataSource) {
33
- if (dataSource.hasOwnProperty(key)) {
34
- form.dataSourcesContainer.registerDataSource(key, dataSource[key], false);
35
- }
36
- }
37
- }
38
- const question = this.questionFactory.createQuestionModel(schema, form);
39
- form.rootNode = this.createNode(question, null, null, form);
40
- this.buildRelations(form.rootNode);
41
- form.updateHiddenDisabledStateForAllControls();
42
- form.updateAlertsForAllControls();
43
- return form;
44
- }
45
- buildRelations(rootNode) {
46
- Validations.JSExpressionValidatorsEnabled = false;
47
- this.controlRelationsFactory.buildRelations(rootNode);
48
- // enable js expression validations
49
- Validations.JSExpressionValidatorsEnabled = true;
50
- }
51
- createNode(question, parentNode, parentControl, form) {
52
- let node = null;
53
- if (question instanceof NestedQuestion) {
54
- if (question instanceof RepeatingQuestion) {
55
- node = this.createArrayNode(question, parentNode, parentControl, form);
56
- }
57
- else {
58
- node = this.createGroupNode(question, parentNode, parentControl, form);
59
- }
60
- }
61
- else {
62
- node = this.createLeafNode(question, parentNode, parentControl, form);
63
- }
64
- node.nodeIndex = this.nodeIndex;
65
- this.nodeIndex++;
66
- return node;
67
- }
68
- createLeafNode(question, parentNode, parentControl, form) {
69
- const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
70
- return new LeafNode(question, controlModel, null, form, parentNode ? parentNode.path : undefined);
71
- }
72
- createGroupNode(question, parentNode, parentControl, form) {
73
- const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
74
- const groupNode = new GroupNode(question, controlModel, null, form, parentNode ? parentNode.path : undefined);
75
- this.createNodeChildren(question, groupNode, controlModel || parentControl, form);
76
- return groupNode;
77
- }
78
- createArrayNode(question, parentNode, parentControl, form) {
79
- const controlModel = this.controlService.generateControlModel(question, parentControl, false, form);
80
- const arrayNode = new ArrayNode(question, this.translate, controlModel, parentControl, this, form, parentNode ? parentNode.path : undefined);
81
- arrayNode.createChildFunc = this.createArrayNodeChild;
82
- arrayNode.removeChildFunc = this.removeArrayNodeChild;
83
- arrayNode.addChildNodeCreatedListener((node) => {
84
- Validations.JSExpressionValidatorsEnabled = false;
85
- this.controlRelationsFactory.buildArrayNodeRelations(node);
86
- Validations.JSExpressionValidatorsEnabled = true;
87
- });
88
- return arrayNode;
89
- }
90
- createNodeChildren(question, node, parentControl, form) {
91
- question.questions.forEach((element) => {
92
- const child = this.createNode(element, node, parentControl, form);
93
- node.setChild(element.key, child);
94
- });
95
- return node.children;
96
- }
97
- createArrayNodeChild(question, node, factory, position) {
98
- if (factory === null || factory === undefined) {
99
- factory = this;
100
- }
101
- const groupQuestion = new QuestionGroup({
102
- key: node.path + '.' + node.children.length + '',
103
- type: 'group',
104
- extras: question.extras,
105
- label: '',
106
- questions: question.questions
107
- });
108
- if (question.controlType === AfeControlType.None) {
109
- groupQuestion.controlType = question.controlType;
110
- }
111
- const group = factory.createGroupNode(groupQuestion, null, null, node.form);
112
- if (position >= 0) {
113
- node.children.splice(position, 0, group);
114
- }
115
- else {
116
- node.children.push(group);
117
- }
118
- if (node.control instanceof AfeFormArray) {
119
- const nodeControl = node.control;
120
- nodeControl.setControl(nodeControl.controls.length, group.control);
121
- }
122
- return group;
123
- }
124
- removeArrayNodeChild(index, node) {
125
- const nodeToRemove = node.children[index];
126
- node.children.splice(index, 1);
127
- if (node.control !== null && node.control !== undefined) {
128
- if (node.control instanceof AfeFormArray) {
129
- const control = node.control;
130
- const controlIndexToRemove = control.controls.indexOf(nodeToRemove.control);
131
- if (controlIndexToRemove >= 0) {
132
- control.removeAt(controlIndexToRemove);
133
- }
134
- }
135
- }
136
- }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFactory, deps: [{ token: i1.FormControlService }, { token: i2.QuestionFactory }, { token: i3.ControlRelationsFactory }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
138
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFactory }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFactory, decorators: [{
141
- type: Injectable
142
- }], ctorParameters: () => [{ type: i1.FormControlService }, { type: i2.QuestionFactory }, { type: i3.ControlRelationsFactory }, { type: i4.TranslateService }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFZLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFFTCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDZCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBRUwsY0FBYyxFQUNkLFlBQVksRUFDYixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7QUFHOUIsTUFBTSxPQUFPLFdBQVc7SUFRdEIsWUFDUyxjQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyx1QkFBZ0QsRUFDaEQsU0FBMkI7UUFIM0IsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBWDVCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZixPQUFFLEdBQVE7WUFDZixRQUFR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Q0FBQyxRQUFRLENBQUMsT0FBTyxDQUNuRCxZQUFZLENBQUMsT0FBTyxDQUNyQixDQUFDO2dCQUNGLElBQUksb0JBQW9CLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQzlCLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDekMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0FwTlUsV0FBVzttSEFBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTGVhZk5vZGUsIEdyb3VwTm9kZSwgQXJyYXlOb2RlLCBOb2RlQmFzZSB9IGZyb20gJy4vZm9ybS1ub2RlJztcbmltcG9ydCB7XG4gIFF1ZXN0aW9uQmFzZSxcbiAgTmVzdGVkUXVlc3Rpb24sXG4gIFJlcGVhdGluZ1F1ZXN0aW9uLFxuICBRdWVzdGlvbkdyb3VwXG59IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBRdWVzdGlvbkZhY3RvcnkgfSBmcm9tICcuL3F1ZXN0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHtcbiAgQWZlRm9ybUdyb3VwLFxuICBBZmVDb250cm9sVHlwZSxcbiAgQWZlRm9ybUFycmF5XG59IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbic7XG5pbXBvcnQgeyBDb250cm9sUmVsYXRpb25zRmFjdG9yeSB9IGZyb20gJy4vY29udHJvbC1yZWxhdGlvbnMuZmFjdG9yeSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9ucyB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvdmFsaWRhdGlvbnMnO1xuXG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi9mb3JtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZvcm1GYWN0b3J5IHtcbiAgcHJpdmF0ZSBub2RlSW5kZXggPSAwO1xuICBwdWJsaWMgaGQ6IGFueSA9IHtcbiAgICBnZXRWYWx1ZTogKCkgPT4ge1xuICAgICAgcmV0dXJuIDIwO1xuICAgIH1cbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29udHJvbFNlcnZpY2U6IEZvcm1Db250cm9sU2VydmljZSxcbiAgICBwdWJsaWMgcXVlc3Rpb25GYWN0b3J5OiBRdWVzdGlvbkZhY3RvcnksXG4gICAgcHVibGljIGNvbnRyb2xSZWxhdGlvbnNGYWN0b3J5OiBDb250cm9sUmVsYXRpb25zRmFjdG9yeSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBjcmVhdGVGb3JtKHNjaGVtYTogYW55LCBkYXRhU291cmNlPzogYW55KTogRm9ybSB7XG4gICAgY29uc3QgZm9ybTogRm9ybSA9IG5ldyBGb3JtKHNjaGVtYSwgdGhpcywgdGhpcy5xdWVzdGlvbkZhY3RvcnkpO1xuICAgIGlmIChkYXRhU291cmNlKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhU291cmNlKSB7XG4gICAgICAgIGlmIChkYXRhU291cmNlLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICBmb3JtLmRhdGFTb3VyY2VzQ29udGFpbmVyLnJlZ2lzdGVyRGF0YVNvdXJjZShcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIGRhdGFTb3VyY2Vba2V5XSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBxdWVzdGlvbiA9IHRoaXMucXVlc3Rpb25GYWN0b3J5LmNyZWF0ZVF1ZXN0aW9uTW9kZWwoc2NoZW1hLCBmb3JtKTtcbiAgICBmb3JtLnJvb3ROb2RlID0gdGhpcy5jcmVhdGVOb2RlKHF1ZXN0aW9uLCBudWxsLCBudWxsLCBmb3JtKSBhcyBHcm91cE5vZGU7XG5cbiAgICB0aGlzLmJ1aWxkUmVsYXRpb25zKGZvcm0ucm9vdE5vZGUpO1xuICAgIGZvcm0udXBkYXRlSGlkZGVuRGlzYWJsZWRTdGF0ZUZvckFsbENvbnRyb2xzKCk7XG4gICAgZm9ybS51cGRhdGVBbGVydHNGb3JBbGxDb250cm9scygpO1xuICAgIHJldHVybiBmb3JtO1xuICB9XG5cbiAgYnVpbGRSZWxhdGlvbnMocm9vdE5vZGU6IEdyb3VwTm9kZSkge1xuICAgIFZhbGlkYXRpb25zLkpTRXhwcmVzc2lvblZhbGlkYXRvcnNFbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5jb250cm9sUmVsYXRpb25zRmFjdG9yeS5idWlsZFJlbGF0aW9ucyhyb290Tm9kZSk7XG5cbiAgICAvLyBlbmFibGUganMgZXhwcmVzc2lvbiB2YWxpZGF0aW9uc1xuICAgIFZhbGlkYXRpb25zLkpTRXhwcmVzc2lvblZhbGlkYXRvcnNFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGNyZWF0ZU5vZGUoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSB8IE5lc3RlZFF1ZXN0aW9uLFxuICAgIHBhcmVudE5vZGU/OiBHcm91cE5vZGUsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBOb2RlQmFzZSB7XG4gICAgbGV0IG5vZGU6IE5vZGVCYXNlID0gbnVsbDtcbiAgICBpZiAocXVlc3Rpb24gaW5zdGFuY2VvZiBOZXN0ZWRRdWVzdGlvbikge1xuICAgICAgaWYgKHF1ZXN0aW9uIGluc3RhbmNlb2YgUmVwZWF0aW5nUXVlc3Rpb24pIHtcbiAgICAgICAgbm9kZSA9IHRoaXMuY3JlYXRlQXJyYXlOb2RlKHF1ZXN0aW9uLCBwYXJlbnROb2RlLCBwYXJlbnRDb250cm9sLCBmb3JtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUgPSB0aGlzLmNyZWF0ZUdyb3VwTm9kZShxdWVzdGlvbiwgcGFyZW50Tm9kZSwgcGFyZW50Q29udHJvbCwgZm9ybSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUgPSB0aGlzLmNyZWF0ZUxlYWZOb2RlKHF1ZXN0aW9uLCBwYXJlbnROb2RlLCBwYXJlbnRDb250cm9sLCBmb3JtKTtcbiAgICB9XG4gICAgbm9kZS5ub2RlSW5kZXggPSB0aGlzLm5vZGVJbmRleDtcbiAgICB0aGlzLm5vZGVJbmRleCsrO1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgY3JlYXRlTGVhZk5vZGUoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBwYXJlbnROb2RlOiBHcm91cE5vZGUsXG4gICAgcGFyZW50Q29udHJvbD86IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBMZWFmTm9kZSB7XG4gICAgY29uc3QgY29udHJvbE1vZGVsID0gdGhpcy5jb250cm9sU2VydmljZS5nZW5lcmF0ZUNvbnRyb2xNb2RlbChcbiAgICAgIHF1ZXN0aW9uLFxuICAgICAgcGFyZW50Q29udHJvbCxcbiAgICAgIGZhbHNlLFxuICAgICAgZm9ybVxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBMZWFmTm9kZShcbiAgICAgIHF1ZXN0aW9uLFxuICAgICAgY29udHJvbE1vZGVsLFxuICAgICAgbnVsbCxcbiAgICAgIGZvcm0sXG4gICAgICBwYXJlbnROb2RlID8gcGFyZW50Tm9kZS5wYXRoIDogdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUdyb3VwTm9kZShcbiAgICBxdWVzdGlvbjogTmVzdGVkUXVlc3Rpb24sXG4gICAgcGFyZW50Tm9kZT86IEdyb3VwTm9kZSxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IEdyb3VwTm9kZSB7XG4gICAgY29uc3QgY29udHJvbE1vZGVsID0gdGhpcy5jb250cm9sU2VydmljZS5nZW5lcmF0ZUNvbnRyb2xNb2RlbChcbiAgICAgIHF1ZXN0aW9uLFxuICAgICAgcGFyZW50Q29udHJvbCxcbiAgICAgIGZhbHNlLFxuICAgICAgZm9ybVxuICAgICkgYXMgQWZlRm9ybUdyb3VwO1xuICAgIGNvbnN0IGdyb3VwTm9kZSA9IG5ldyBHcm91cE5vZGUoXG4gICAgICBxdWVzdGlvbixcbiAgICAgIGNvbnRyb2xNb2RlbCxcbiAgICAgIG51bGwsXG4gICAgICBmb3JtLFxuICAgICAgcGFyZW50Tm9kZSA/IHBhcmVudE5vZGUucGF0aCA6IHVuZGVmaW5lZFxuICAgICk7XG4gICAgdGhpcy5jcmVhdGVOb2RlQ2hpbGRyZW4oXG4gICAgICBxdWVzdGlvbixcbiAgICAgIGdyb3VwTm9kZSxcbiAgICAgIGNvbnRyb2xNb2RlbCB8fCBwYXJlbnRDb250cm9sLFxuICAgICAgZm9ybVxuICAgICk7XG4gICAgcmV0dXJuIGdyb3VwTm9kZTtcbiAgfVxuXG4gIGNyZWF0ZUFycmF5Tm9kZShcbiAgICBxdWVzdGlvbjogTmVzdGVkUXVlc3Rpb24sXG4gICAgcGFyZW50Tm9kZT86IEdyb3VwTm9kZSxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IEFycmF5Tm9kZSB7XG4gICAgY29uc3QgY29udHJvbE1vZGVsID0gdGhpcy5jb250cm9sU2VydmljZS5nZW5lcmF0ZUNvbnRyb2xNb2RlbChcbiAgICAgIHF1ZXN0aW9uLFxuICAgICAgcGFyZW50Q29udHJvbCxcbiAgICAgIGZhbHNlLFxuICAgICAgZm9ybVxuICAgICkgYXMgQWZlRm9ybUdyb3VwO1xuICAgIGNvbnN0IGFycmF5Tm9kZSA9IG5ldyBBcnJheU5vZGUoXG4gICAgICBxdWVzdGlvbixcbiAgICAgIHRoaXMudHJhbnNsYXRlLFxuICAgICAgY29udHJvbE1vZGVsLFxuICAgICAgcGFyZW50Q29udHJvbCxcbiAgICAgIHRoaXMsXG4gICAgICBmb3JtLFxuICAgICAgcGFyZW50Tm9kZSA/IHBhcmVudE5vZGUucGF0aCA6IHVuZGVmaW5lZFxuICAgICk7XG4gICAgYXJyYXlOb2RlLmNyZWF0ZUNoaWxkRnVuYyA9IHRoaXMuY3JlYXRlQXJyYXlOb2RlQ2hpbGQ7XG4gICAgYXJyYXlOb2RlLnJlbW92ZUNoaWxkRnVuYyA9IHRoaXMucmVtb3ZlQXJyYXlOb2RlQ2hpbGQ7XG5cbiAgICBhcnJheU5vZGUuYWRkQ2hpbGROb2RlQ3JlYXRlZExpc3RlbmVyKChub2RlOiBHcm91cE5vZGUpID0+IHtcbiAgICAgIFZhbGlkYXRpb25zLkpTRXhwcmVzc2lvblZhbGlkYXRvcnNFbmFibGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmNvbnRyb2xSZWxhdGlvbnNGYWN0b3J5LmJ1aWxkQXJyYXlOb2RlUmVsYXRpb25zKG5vZGUpO1xuICAgICAgVmFsaWRhdGlvbnMuSlNFeHByZXNzaW9uVmFsaWRhdG9yc0VuYWJsZWQgPSB0cnVlO1xuICAgIH0pO1xuICAgIHJldHVybiBhcnJheU5vZGU7XG4gIH1cblxuICBjcmVhdGVOb2RlQ2hpbGRyZW4oXG4gICAgcXVlc3Rpb246IE5lc3RlZFF1ZXN0aW9uLFxuICAgIG5vZGU6IEdyb3VwTm9kZSxcbiAgICBwYXJlbnRDb250cm9sPzogQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IGFueSB7XG4gICAgcXVlc3Rpb24ucXVlc3Rpb25zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkID0gdGhpcy5jcmVhdGVOb2RlKGVsZW1lbnQsIG5vZGUsIHBhcmVudENvbnRyb2wsIGZvcm0pO1xuICAgICAgbm9kZS5zZXRDaGlsZChlbGVtZW50LmtleSwgY2hpbGQpO1xuICAgIH0pO1xuICAgIHJldHVybiBub2RlLmNoaWxkcmVuO1xuICB9XG5cbiAgY3JlYXRlQXJyYXlOb2RlQ2hpbGQoXG4gICAgcXVlc3Rpb246IFJlcGVhdGluZ1F1ZXN0aW9uLFxuICAgIG5vZGU6IEFycmF5Tm9kZSxcbiAgICBmYWN0b3J5PzogRm9ybUZhY3RvcnksXG4gICAgcG9zaXRpb24/OiBudW1iZXJcbiAgKTogR3JvdXBOb2RlIHtcbiAgICBpZiAoZmFjdG9yeSA9PT0gbnVsbCB8fCBmYWN0b3J5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGZhY3RvcnkgPSB0aGlzO1xuICAgIH1cbiAgICBjb25zdCBncm91cFF1ZXN0aW9uOiBRdWVzdGlvbkdyb3VwID0gbmV3IFF1ZXN0aW9uR3JvdXAoe1xuICAgICAga2V5OiBub2RlLnBhdGggKyAnLicgKyBub2RlLmNoaWxkcmVuLmxlbmd0aCArICcnLFxuICAgICAgdHlwZTogJ2dyb3VwJyxcbiAgICAgIGV4dHJhczogcXVlc3Rpb24uZXh0cmFzLFxuICAgICAgbGFiZWw6ICcnLFxuICAgICAgcXVlc3Rpb25zOiBxdWVzdGlvbi5xdWVzdGlvbnNcbiAgICB9KTtcblxuICAgIGlmIChxdWVzdGlvbi5jb250cm9sVHlwZSA9PT0gQWZlQ29udHJvbFR5cGUuTm9uZSkge1xuICAgICAgZ3JvdXBRdWVzdGlvbi5jb250cm9sVHlwZSA9IHF1ZXN0aW9uLmNvbnRyb2xUeXBlO1xuICAgIH1cblxuICAgIGNvbnN0IGdyb3VwID0gZmFjdG9yeS5jcmVhdGVHcm91cE5vZGUoZ3JvdXBRdWVzdGlvbiwgbnVsbCwgbnVsbCwgbm9kZS5mb3JtKTtcblxuICAgIGlmIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICBub2RlLmNoaWxkcmVuLnNwbGljZShwb3NpdGlvbiwgMCwgZ3JvdXApO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLmNoaWxkcmVuLnB1c2goZ3JvdXApO1xuICAgIH1cblxuICAgIGlmIChub2RlLmNvbnRyb2wgaW5zdGFuY2VvZiBBZmVGb3JtQXJyYXkpIHtcbiAgICAgIGNvbnN0IG5vZGVDb250cm9sID0gbm9kZS5jb250cm9sIGFzIEFmZUZvcm1BcnJheTtcbiAgICAgIG5vZGVDb250cm9sLnNldENvbnRyb2wobm9kZUNvbnRyb2wuY29udHJvbHMubGVuZ3RoLCBncm91cC5jb250cm9sKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZ3JvdXA7XG4gIH1cblxuICByZW1vdmVBcnJheU5vZGVDaGlsZChpbmRleDogbnVtYmVyLCBub2RlOiBBcnJheU5vZGUpIHtcbiAgICBjb25zdCBub2RlVG9SZW1vdmUgPSBub2RlLmNoaWxkcmVuW2luZGV4XTtcblxuICAgIG5vZGUuY2hpbGRyZW4uc3BsaWNlKGluZGV4LCAxKTtcbiAgICBpZiAobm9kZS5jb250cm9sICE9PSBudWxsICYmIG5vZGUuY29udHJvbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAobm9kZS5jb250cm9sIGluc3RhbmNlb2YgQWZlRm9ybUFycmF5KSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBub2RlLmNvbnRyb2wgYXMgQWZlRm9ybUFycmF5O1xuICAgICAgICBjb25zdCBjb250cm9sSW5kZXhUb1JlbW92ZSA9IGNvbnRyb2wuY29udHJvbHMuaW5kZXhPZihcbiAgICAgICAgICBub2RlVG9SZW1vdmUuY29udHJvbFxuICAgICAgICApO1xuICAgICAgICBpZiAoY29udHJvbEluZGV4VG9SZW1vdmUgPj0gMCkge1xuICAgICAgICAgIGNvbnRyb2wucmVtb3ZlQXQoY29udHJvbEluZGV4VG9SZW1vdmUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,190 +0,0 @@
1
- import * as _ from 'lodash';
2
- import { DataSources } from '../data-sources/data-sources';
3
- import { GroupNode, LeafNode, ArrayNode } from './form-node';
4
- export class Form {
5
- constructor(schema, formFactory, questionFactory) {
6
- this.schema = schema;
7
- this.formFactory = formFactory;
8
- this.questionFactory = questionFactory;
9
- this.valueProcessingInfo = {};
10
- this.existingOrders = {};
11
- this.existingDiagnoses = [];
12
- this._showErrors = false;
13
- this._dataSourcesContainer = new DataSources();
14
- }
15
- get dataSourcesContainer() {
16
- return this._dataSourcesContainer;
17
- }
18
- searchNodeByPath(node, path, found) {
19
- const children = node.children;
20
- for (const key in children) {
21
- if (children.hasOwnProperty(key)) {
22
- const child = children[key];
23
- if (child instanceof GroupNode) {
24
- if (path === child.path) {
25
- found.push(child);
26
- return found;
27
- }
28
- this.searchNodeByPath(child, path, found);
29
- }
30
- else if (child instanceof LeafNode) {
31
- if (path === child.path) {
32
- found.push(child);
33
- return found;
34
- }
35
- }
36
- else if (child instanceof ArrayNode) {
37
- if (path === child.path) {
38
- found.push(child);
39
- return found;
40
- }
41
- const aChild = child;
42
- aChild.children.forEach((aChildNode) => {
43
- this.searchNodeByPath(aChildNode, path, found);
44
- });
45
- }
46
- }
47
- }
48
- return found;
49
- }
50
- searchNodeByQuestionId(questionId, questionType) {
51
- const found = [];
52
- if (questionType) {
53
- this.searchNodeByQuestionType(this.rootNode, questionType, found);
54
- }
55
- else {
56
- this.findNodesByQuestionId(this.rootNode, questionId, found);
57
- }
58
- return found;
59
- }
60
- searchNodeByQuestionType(rootNode, questionType, found) {
61
- if (rootNode instanceof GroupNode) {
62
- const nodeAsGroup = rootNode;
63
- for (const o in nodeAsGroup.children) {
64
- this.searchNodeByQuestionType(nodeAsGroup.children[o], questionType, found);
65
- }
66
- }
67
- if (rootNode instanceof ArrayNode) {
68
- const nodeAsArray = rootNode;
69
- nodeAsArray.children.forEach((node) => {
70
- this.searchNodeByQuestionType(node, questionType, found);
71
- });
72
- }
73
- if (rootNode instanceof LeafNode) {
74
- const questionBase = rootNode.question;
75
- if (questionBase.extras &&
76
- questionBase.extras.type &&
77
- questionBase.extras.type === questionType) {
78
- found.push(rootNode);
79
- }
80
- }
81
- }
82
- findNodesByQuestionId(rootNode, questionId, results) {
83
- if (rootNode.question.key === questionId) {
84
- results.push(rootNode);
85
- }
86
- if (rootNode instanceof GroupNode) {
87
- const nodeAsGroup = rootNode;
88
- for (const o in nodeAsGroup.children) {
89
- this.findNodesByQuestionId(nodeAsGroup.children[o], questionId, results);
90
- }
91
- }
92
- if (rootNode instanceof ArrayNode) {
93
- const nodeAsArray = rootNode;
94
- nodeAsArray.children.forEach((node) => {
95
- this.findNodesByQuestionId(node, questionId, results);
96
- });
97
- }
98
- }
99
- get valid() {
100
- return this.rootNode.control.valid;
101
- }
102
- set showErrors(show) {
103
- this._showErrors = show;
104
- }
105
- get showErrors() {
106
- return this._showErrors;
107
- }
108
- markInvalidControls(node, invalidControlNodes) {
109
- const children = node.children;
110
- for (const key in children) {
111
- if (children.hasOwnProperty(key)) {
112
- const child = children[key];
113
- if (child instanceof GroupNode) {
114
- this.markInvalidControls(child, invalidControlNodes);
115
- }
116
- else if (child instanceof LeafNode) {
117
- const questionBase = child.question;
118
- if (questionBase.key && questionBase.key.length > 0) {
119
- const c = child.control;
120
- if (!c.valid && !c.disabled) {
121
- if (invalidControlNodes) {
122
- invalidControlNodes.push(child);
123
- }
124
- c.markAsTouched();
125
- }
126
- }
127
- }
128
- else if (child instanceof ArrayNode) {
129
- const arrayNode = child;
130
- if (arrayNode &&
131
- arrayNode.children &&
132
- arrayNode.children.length > 0) {
133
- _.forEach(arrayNode.children, (groupNode) => {
134
- this.markInvalidControls(groupNode, invalidControlNodes);
135
- });
136
- }
137
- }
138
- }
139
- }
140
- return invalidControlNodes;
141
- }
142
- updateHiddenDisabledStateForAllControls() {
143
- this._updateHiddenDisabledStateForAllControls(this.rootNode);
144
- }
145
- updateAlertsForAllControls() {
146
- this._updateAlertsForAllControls(this.rootNode);
147
- }
148
- _updateAlertsForAllControls(rootNode) {
149
- if (rootNode.control) {
150
- if (rootNode.control.updateAlert) {
151
- rootNode.control.updateAlert();
152
- }
153
- }
154
- if (rootNode instanceof GroupNode) {
155
- const nodeAsGroup = rootNode;
156
- for (const o in nodeAsGroup.children) {
157
- this._updateAlertsForAllControls(nodeAsGroup.children[o]);
158
- }
159
- }
160
- if (rootNode instanceof ArrayNode) {
161
- const nodeAsArray = rootNode;
162
- nodeAsArray.children.forEach((node) => {
163
- this._updateAlertsForAllControls(node);
164
- });
165
- }
166
- }
167
- _updateHiddenDisabledStateForAllControls(rootNode) {
168
- if (rootNode.control) {
169
- if (rootNode.control.updateDisabledState) {
170
- rootNode.control.updateDisabledState();
171
- }
172
- if (rootNode.control.updateHiddenState) {
173
- rootNode.control.updateHiddenState();
174
- }
175
- }
176
- if (rootNode instanceof GroupNode) {
177
- const nodeAsGroup = rootNode;
178
- for (const o in nodeAsGroup.children) {
179
- this._updateHiddenDisabledStateForAllControls(nodeAsGroup.children[o]);
180
- }
181
- }
182
- if (rootNode instanceof ArrayNode) {
183
- const nodeAsArray = rootNode;
184
- nodeAsArray.children.forEach((node) => {
185
- this._updateHiddenDisabledStateForAllControls(node);
186
- });
187
- }
188
- }
189
- }
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFJNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBWSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU12RSxNQUFNLE9BQU8sSUFBSTtJQU9mLFlBQ1MsTUFBVyxFQUNYLFdBQXdCLEVBQ3hCLGVBQWdDO1FBRmhDLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDWCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFSbEMsd0JBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFxQixFQUFFLENBQUM7UUFFeEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNMUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFlLEVBQUUsSUFBSSxFQUFFLEtBQXNCO1FBQzVELE1BQU0sUUFBUSxHQUFhLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFekMsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMzQixJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxLQUFLLEdBQWEsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUV0QyxJQUFJ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QUNILENBQUM7SUFDTyx3Q0FBd0MsQ0FBQyxRQUFrQjtRQUNqRSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFLLFFBQVEsQ0FBQyxPQUFlLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDakQsUUFBUSxDQUFDLE9BQWUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2xELENBQUM7WUFFRCxJQUFLLFFBQVEsQ0FBQyxPQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDL0MsUUFBUSxDQUFDLE9BQWUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxRQUFRLFlBQVksU0FBUyxFQUFFLENBQUM7WUFDbEMsTUFBTSxXQUFXLEdBQUcsUUFBcUIsQ0FBQztZQUUxQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RSxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksUUFBUSxZQUFZLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sV0FBVyxHQUFHLFFBQXFCLENBQUM7WUFFMUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgRm9ybUZhY3RvcnkgfSBmcm9tICcuL2Zvcm0uZmFjdG9yeSc7XG5pbXBvcnQgeyBRdWVzdGlvbkZhY3RvcnkgfSBmcm9tICcuL3F1ZXN0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgRGF0YVNvdXJjZXMgfSBmcm9tICcuLi9kYXRhLXNvdXJjZXMvZGF0YS1zb3VyY2VzJztcbmltcG9ydCB7IE5vZGVCYXNlLCBHcm91cE5vZGUsIExlYWZOb2RlLCBBcnJheU5vZGUgfSBmcm9tICcuL2Zvcm0tbm9kZSc7XG5pbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvcXVlc3Rpb24tYmFzZSc7XG5pbXBvcnQgeyBBZmVGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1jb250cm9sJztcbmltcG9ydCB7IEFmZUZvcm1BcnJheSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1hcnJheSc7XG5pbXBvcnQgeyBEaWFnbm9zaXMgfSBmcm9tICcuLi92YWx1ZS1hZGFwdGVycy9kaWFnbm9zaXMuYWRhcHRlcic7XG5cbmV4cG9ydCBjbGFzcyBGb3JtIHtcbiAgcHVibGljIHJvb3ROb2RlOiBHcm91cE5vZGU7XG4gIHB1YmxpYyB2YWx1ZVByb2Nlc3NpbmdJbmZvOiBhbnkgPSB7fTtcbiAgcHVibGljIGV4aXN0aW5nT3JkZXJzOiBhbnkgPSB7fTtcbiAgcHVibGljIGV4aXN0aW5nRGlhZ25vc2VzOiBBcnJheTxEaWFnbm9zaXM+ID0gW107XG4gIHByaXZhdGUgX2RhdGFTb3VyY2VzQ29udGFpbmVyOiBEYXRhU291cmNlcztcbiAgcHJpdmF0ZSBfc2hvd0Vycm9ycyA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2NoZW1hOiBhbnksXG4gICAgcHVibGljIGZvcm1GYWN0b3J5OiBGb3JtRmFjdG9yeSxcbiAgICBwdWJsaWMgcXVlc3Rpb25GYWN0b3J5OiBRdWVzdGlvbkZhY3RvcnlcbiAgKSB7XG4gICAgdGhpcy5fZGF0YVNvdXJjZXNDb250YWluZXIgPSBuZXcgRGF0YVNvdXJjZXMoKTtcbiAgfVxuXG4gIGdldCBkYXRhU291cmNlc0NvbnRhaW5lcigpOiBEYXRhU291cmNlcyB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2VzQ29udGFpbmVyO1xuICB9XG5cbiAgc2VhcmNoTm9kZUJ5UGF0aChub2RlOiBHcm91cE5vZGUsIHBhdGgsIGZvdW5kOiBBcnJheTxOb2RlQmFzZT4pIHtcbiAgICBjb25zdCBjaGlsZHJlbjogTm9kZUJhc2UgPSBub2RlLmNoaWxkcmVuO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gY2hpbGRyZW4pIHtcbiAgICAgIGlmIChjaGlsZHJlbi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkOiBOb2RlQmFzZSA9IGNoaWxkcmVuW2tleV07XG5cbiAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICAgICAgaWYgKHBhdGggPT09IGNoaWxkLnBhdGgpIHtcbiAgICAgICAgICAgIGZvdW5kLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuc2VhcmNoTm9kZUJ5UGF0aChjaGlsZCwgcGF0aCwgZm91bmQpO1xuICAgICAgICB9IGVsc2UgaWYgKGNoaWxkIGluc3RhbmNlb2YgTGVhZk5vZGUpIHtcbiAgICAgICAgICBpZiAocGF0aCA9PT0gY2hpbGQucGF0aCkge1xuICAgICAgICAgICAgZm91bmQucHVzaChjaGlsZCk7XG4gICAgICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGNoaWxkIGluc3RhbmNlb2YgQXJyYXlOb2RlKSB7XG4gICAgICAgICAgaWYgKHBhdGggPT09IGNoaWxkLnBhdGgpIHtcbiAgICAgICAgICAgIGZvdW5kLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgcmV0dXJuIGZvdW5kO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGFDaGlsZDogQXJyYXlOb2RlID0gY2hpbGQgYXMgQXJyYXlOb2RlO1xuXG4gICAgICAgICAgYUNoaWxkLmNoaWxkcmVuLmZvckVhY2goKGFDaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoTm9kZUJ5UGF0aChhQ2hpbGROb2RlLCBwYXRoLCBmb3VuZCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZm91bmQ7XG4gIH1cblxuICBzZWFyY2hOb2RlQnlRdWVzdGlvbklkKFxuICAgIHF1ZXN0aW9uSWQ6IHN0cmluZyxcbiAgICBxdWVzdGlvblR5cGU/OiBzdHJpbmdcbiAgKTogQXJyYXk8Tm9kZUJhc2U+IHtcbiAgICBjb25zdCBmb3VuZCA9IFtdO1xuICAgIGlmIChxdWVzdGlvblR5cGUpIHtcbiAgICAgIHRoaXMuc2VhcmNoTm9kZUJ5UXVlc3Rpb25UeXBlKHRoaXMucm9vdE5vZGUsIHF1ZXN0aW9uVHlwZSwgZm91bmQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbmROb2Rlc0J5UXVlc3Rpb25JZCh0aGlzLnJvb3ROb2RlLCBxdWVzdGlvbklkLCBmb3VuZCk7XG4gICAgfVxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuXG4gIHNlYXJjaE5vZGVCeVF1ZXN0aW9uVHlwZShcbiAgICByb290Tm9kZTogYW55LFxuICAgIHF1ZXN0aW9uVHlwZTogc3RyaW5nLFxuICAgIGZvdW5kOiBBcnJheTxOb2RlQmFzZT5cbiAgKSB7XG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICBjb25zdCBub2RlQXNHcm91cCA9IHJvb3ROb2RlIGFzIEdyb3VwTm9kZTtcblxuICAgICAgZm9yIChjb25zdCBvIGluIG5vZGVBc0dyb3VwLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuc2VhcmNoTm9kZUJ5UXVlc3Rpb25UeXBlKFxuICAgICAgICAgIG5vZGVBc0dyb3VwLmNoaWxkcmVuW29dLFxuICAgICAgICAgIHF1ZXN0aW9uVHlwZSxcbiAgICAgICAgICBmb3VuZFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyb290Tm9kZSBpbnN0YW5jZW9mIEFycmF5Tm9kZSkge1xuICAgICAgY29uc3Qgbm9kZUFzQXJyYXkgPSByb290Tm9kZSBhcyBBcnJheU5vZGU7XG5cbiAgICAgIG5vZGVBc0FycmF5LmNoaWxkcmVuLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2hOb2RlQnlRdWVzdGlvblR5cGUobm9kZSwgcXVlc3Rpb25UeXBlLCBmb3VuZCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocm9vdE5vZGUgaW5zdGFuY2VvZiBMZWFmTm9kZSkge1xuICAgICAgY29uc3QgcXVlc3Rpb25CYXNlOiBRdWVzdGlvbkJhc2UgPSByb290Tm9kZS5xdWVzdGlvbjtcblxuICAgICAgaWYgKFxuICAgICAgICBxdWVzdGlvbkJhc2UuZXh0cmFzICYmXG4gICAgICAgIHF1ZXN0aW9uQmFzZS5leHRyYXMudHlwZSAmJlxuICAgICAgICBxdWVzdGlvbkJhc2UuZXh0cmFzLnR5cGUgPT09IHF1ZXN0aW9uVHlwZVxuICAgICAgKSB7XG4gICAgICAgIGZvdW5kLnB1c2gocm9vdE5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZE5vZGVzQnlRdWVzdGlvbklkKFxuICAgIHJvb3ROb2RlOiBOb2RlQmFzZSxcbiAgICBxdWVzdGlvbklkOiBzdHJpbmcsXG4gICAgcmVzdWx0czogQXJyYXk8Tm9kZUJhc2U+XG4gICkge1xuICAgIGlmIChyb290Tm9kZS5xdWVzdGlvbi5rZXkgPT09IHF1ZXN0aW9uSWQpIHtcbiAgICAgIHJlc3VsdHMucHVzaChyb290Tm9kZSk7XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICBjb25zdCBub2RlQXNHcm91cCA9IHJvb3ROb2RlIGFzIEdyb3VwTm9kZTtcblxuICAgICAgZm9yIChjb25zdCBvIGluIG5vZGVBc0dyb3VwLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuZmluZE5vZGVzQnlRdWVzdGlvbklkKFxuICAgICAgICAgIG5vZGVBc0dyb3VwLmNoaWxkcmVuW29dLFxuICAgICAgICAgIHF1ZXN0aW9uSWQsXG4gICAgICAgICAgcmVzdWx0c1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyb290Tm9kZSBpbnN0YW5jZW9mIEFycmF5Tm9kZSkge1xuICAgICAgY29uc3Qgbm9kZUFzQXJyYXkgPSByb290Tm9kZSBhcyBBcnJheU5vZGU7XG5cbiAgICAgIG5vZGVBc0FycmF5LmNoaWxkcmVuLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgdGhpcy5maW5kTm9kZXNCeVF1ZXN0aW9uSWQobm9kZSwgcXVlc3Rpb25JZCwgcmVzdWx0cyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdE5vZGUuY29udHJvbC52YWxpZDtcbiAgfVxuXG4gIHNldCBzaG93RXJyb3JzKHNob3c6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93RXJyb3JzID0gc2hvdztcbiAgfVxuXG4gIGdldCBzaG93RXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9zaG93RXJyb3JzO1xuICB9XG5cbiAgbWFya0ludmFsaWRDb250cm9scyhub2RlOiBHcm91cE5vZGUsIGludmFsaWRDb250cm9sTm9kZXM/OiBhbnkpIHtcbiAgICBjb25zdCBjaGlsZHJlbjogTm9kZUJhc2UgPSBub2RlLmNoaWxkcmVuO1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gY2hpbGRyZW4pIHtcbiAgICAgIGlmIChjaGlsZHJlbi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkOiBOb2RlQmFzZSA9IGNoaWxkcmVuW2tleV07XG5cbiAgICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICAgICAgdGhpcy5tYXJrSW52YWxpZENvbnRyb2xzKGNoaWxkLCBpbnZhbGlkQ29udHJvbE5vZGVzKTtcbiAgICAgICAgfSBlbHNlIGlmIChjaGlsZCBpbnN0YW5jZW9mIExlYWZOb2RlKSB7XG4gICAgICAgICAgY29uc3QgcXVlc3Rpb25CYXNlOiBRdWVzdGlvbkJhc2UgPSAoY2hpbGQgYXMgTGVhZk5vZGUpLnF1ZXN0aW9uO1xuXG4gICAgICAgICAgaWYgKHF1ZXN0aW9uQmFzZS5rZXkgJiYgcXVlc3Rpb25CYXNlLmtleS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBjOiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSA9IGNoaWxkLmNvbnRyb2wgYXNcbiAgICAgICAgICAgICAgfCBBZmVGb3JtQ29udHJvbFxuICAgICAgICAgICAgICB8IEFmZUZvcm1BcnJheTtcblxuICAgICAgICAgICAgaWYgKCFjLnZhbGlkICYmICFjLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgIGlmIChpbnZhbGlkQ29udHJvbE5vZGVzKSB7XG4gICAgICAgICAgICAgICAgaW52YWxpZENvbnRyb2xOb2Rlcy5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGMubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChjaGlsZCBpbnN0YW5jZW9mIEFycmF5Tm9kZSkge1xuICAgICAgICAgIGNvbnN0IGFycmF5Tm9kZTogQXJyYXlOb2RlID0gY2hpbGQgYXMgQXJyYXlOb2RlO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgYXJyYXlOb2RlICYmXG4gICAgICAgICAgICBhcnJheU5vZGUuY2hpbGRyZW4gJiZcbiAgICAgICAgICAgIGFycmF5Tm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBfLmZvckVhY2goYXJyYXlOb2RlLmNoaWxkcmVuLCAoZ3JvdXBOb2RlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5tYXJrSW52YWxpZENvbnRyb2xzKGdyb3VwTm9kZSwgaW52YWxpZENvbnRyb2xOb2Rlcyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaW52YWxpZENvbnRyb2xOb2RlcztcbiAgfVxuXG4gIHVwZGF0ZUhpZGRlbkRpc2FibGVkU3RhdGVGb3JBbGxDb250cm9scygpIHtcbiAgICB0aGlzLl91cGRhdGVIaWRkZW5EaXNhYmxlZFN0YXRlRm9yQWxsQ29udHJvbHModGhpcy5yb290Tm9kZSk7XG4gIH1cblxuICB1cGRhdGVBbGVydHNGb3JBbGxDb250cm9scygpIHtcbiAgICB0aGlzLl91cGRhdGVBbGVydHNGb3JBbGxDb250cm9scyh0aGlzLnJvb3ROb2RlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFsZXJ0c0ZvckFsbENvbnRyb2xzKHJvb3ROb2RlOiBOb2RlQmFzZSkge1xuICAgIGlmIChyb290Tm9kZS5jb250cm9sKSB7XG4gICAgICBpZiAoKHJvb3ROb2RlLmNvbnRyb2wgYXMgYW55KS51cGRhdGVBbGVydCkge1xuICAgICAgICAocm9vdE5vZGUuY29udHJvbCBhcyBhbnkpLnVwZGF0ZUFsZXJ0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICBjb25zdCBub2RlQXNHcm91cCA9IHJvb3ROb2RlIGFzIEdyb3VwTm9kZTtcblxuICAgICAgZm9yIChjb25zdCBvIGluIG5vZGVBc0dyb3VwLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUFsZXJ0c0ZvckFsbENvbnRyb2xzKG5vZGVBc0dyb3VwLmNoaWxkcmVuW29dKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocm9vdE5vZGUgaW5zdGFuY2VvZiBBcnJheU5vZGUpIHtcbiAgICAgIGNvbnN0IG5vZGVBc0FycmF5ID0gcm9vdE5vZGUgYXMgQXJyYXlOb2RlO1xuXG4gICAgICBub2RlQXNBcnJheS5jaGlsZHJlbi5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUFsZXJ0c0ZvckFsbENvbnRyb2xzKG5vZGUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3VwZGF0ZUhpZGRlbkRpc2FibGVkU3RhdGVGb3JBbGxDb250cm9scyhyb290Tm9kZTogTm9kZUJhc2UpIHtcbiAgICBpZiAocm9vdE5vZGUuY29udHJvbCkge1xuICAgICAgaWYgKChyb290Tm9kZS5jb250cm9sIGFzIGFueSkudXBkYXRlRGlzYWJsZWRTdGF0ZSkge1xuICAgICAgICAocm9vdE5vZGUuY29udHJvbCBhcyBhbnkpLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKChyb290Tm9kZS5jb250cm9sIGFzIGFueSkudXBkYXRlSGlkZGVuU3RhdGUpIHtcbiAgICAgICAgKHJvb3ROb2RlLmNvbnRyb2wgYXMgYW55KS51cGRhdGVIaWRkZW5TdGF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyb290Tm9kZSBpbnN0YW5jZW9mIEdyb3VwTm9kZSkge1xuICAgICAgY29uc3Qgbm9kZUFzR3JvdXAgPSByb290Tm9kZSBhcyBHcm91cE5vZGU7XG5cbiAgICAgIGZvciAoY29uc3QgbyBpbiBub2RlQXNHcm91cC5jaGlsZHJlbikge1xuICAgICAgICB0aGlzLl91cGRhdGVIaWRkZW5EaXNhYmxlZFN0YXRlRm9yQWxsQ29udHJvbHMobm9kZUFzR3JvdXAuY2hpbGRyZW5bb10pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyb290Tm9kZSBpbnN0YW5jZW9mIEFycmF5Tm9kZSkge1xuICAgICAgY29uc3Qgbm9kZUFzQXJyYXkgPSByb290Tm9kZSBhcyBBcnJheU5vZGU7XG5cbiAgICAgIG5vZGVBc0FycmF5LmNoaWxkcmVuLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgdGhpcy5fdXBkYXRlSGlkZGVuRGlzYWJsZWRTdGF0ZUZvckFsbENvbnRyb2xzKG5vZGUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,68 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ExpressionRunner } from '../expression-runner/expression-runner';
3
- import { JsExpressionHelper } from '../helpers/js-expression-helper';
4
- // Add ability to display all fields for debugging
5
- import { DebugModeService } from './../services/debug-mode.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../expression-runner/expression-runner";
8
- import * as i2 from "../helpers/js-expression-helper";
9
- import * as i3 from "./../services/debug-mode.service";
10
- export class HidersDisablersFactory {
11
- constructor(expressionRunner, expressionHelper, _debugModeService) {
12
- this.expressionRunner = expressionRunner;
13
- this.expressionHelper = expressionHelper;
14
- this._debugModeService = _debugModeService;
15
- }
16
- getJsExpressionDisabler(question, control, form) {
17
- const runnable = this.expressionRunner.getRunnable(question.disable, control, this.expressionHelper.helperFunctions, {}, form);
18
- const disabler = {
19
- toDisable: false,
20
- disableWhenExpression: question.disable,
21
- resetValueOnDisable: question.resetValueOnDisable,
22
- reEvaluateDisablingExpression: () => {
23
- const result = runnable.run();
24
- disabler.toDisable = result;
25
- }
26
- };
27
- return disabler;
28
- }
29
- getJsExpressionHider(question, control, form) {
30
- const hide = question.hide;
31
- const value = typeof hide === 'object'
32
- ? this.convertHideObjectToString(hide)
33
- : question.hide;
34
- // check if debugging has been enabled
35
- const debugEnabled = this._debugModeService.debugEnabled();
36
- const runnable = this.expressionRunner.getRunnable(value, control, this.expressionHelper.helperFunctions, {}, form);
37
- const hider = {
38
- toHide: false,
39
- hideWhenExpression: value,
40
- reEvaluateHidingExpression: () => {
41
- /* if debug is enabled then hiders to be false
42
- else run the normal eveluator i.e runnable.run()
43
- */
44
- if (debugEnabled === true) {
45
- hider.toHide = false;
46
- }
47
- else {
48
- hider.toHide = runnable.run();
49
- }
50
- }
51
- };
52
- return hider;
53
- }
54
- convertHideObjectToString(hide) {
55
- if (hide.value instanceof Array) {
56
- const arrayStr = "'" + hide.value.join("','") + "'";
57
- const exp = '!arrayContains([' + arrayStr + '],' + hide.field + ')';
58
- return exp;
59
- }
60
- return '';
61
- }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HidersDisablersFactory, deps: [{ token: i1.ExpressionRunner }, { token: i2.JsExpressionHelper }, { token: i3.DebugModeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
63
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HidersDisablersFactory }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HidersDisablersFactory, decorators: [{
66
- type: Injectable
67
- }], ctorParameters: () => [{ type: i1.ExpressionRunner }, { type: i2.JsExpressionHelper }, { type: i3.DebugModeService }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLM0MsT0FBTyxFQUNMLGdCQUFnQixFQUVqQixNQUFNLHdDQUF3QyxDQUFDO0FBT2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLGtEQUFrRDtBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFHcEUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLGdCQUFrQyxFQUNsQyxnQkFBb0MsRUFDcEMsaUJBQW1DO1FBRm5DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQUNwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO0lBQzFDLENBQUM7SUFFSix1QkFBdUIsQ0FDckIsUUFBc0IsRUFDdEIsT0FBcUQsRUFDckQsSUFBVztRQUVYLE1BQU0sUUFBUSxHQUFhLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQzFELFFBQVEsQ0FBQyxPQUFpQixFQUMxQixPQUFPLEVBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFDckMsRUFBRSxFQUNGLElBQUksQ0FDTCxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQWE7WUFDekIsU0FBUyxFQUFFLEtBQUs7WUFDaEIscUJBQXFCLEVBQUUsUUFBUSxDQUFDLE9BQWlCO1lBQ2pELG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxtQkFBbUI7WUFDakQsNkJBQTZCLEVBQUUsR0FBRyxFQUFFO2dCQUNsQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzlCLFFBQVEsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1lBQzlCLENBQUM7U0FDRixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELG9CQUFvQixDQUNsQixRQUFzQixFQUN0QixPQUFxRCxFQUNyRCxJQUFXO1FBRVgsTUFBTSxJQUFJLEdBQVEsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNoQyxNQUFNLEtBQUssR0FDVCxPQUFPLElBQUksS0FBSyxRQUFRO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDO1lBQ3RDLENBQUMsQ0FBRSxRQUFRLENBQUMsSUFBZSxDQUFDO1FBRWhDLHNDQUFzQztRQUV0QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFM0QsTUFBTSxRQUFRLEdBQWEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FDMUQsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUNyQyxFQUFFLEVBQ0YsSUFBSSxDQUNMLENBQUM7UUFFRixNQUFNLEtBQUssR0FBVTtZQUNuQixNQUFNLEVBQUUsS0FBSztZQUNiLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO2dCQUMvQjs7MkJBRVc7Z0JBQ1gsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzFCLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2hDLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQVM7UUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO1lBQ2hDLE1BQU0sUUFBUSxHQUFXLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDNUQsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLEdBQUcsUUFBUSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNwRSxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7K0dBL0VVLHNCQUFzQjttSEFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEaXNhYmxlciB9IGZyb20gJy4uL2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4tZGlzYWJsZSc7XG5pbXBvcnQgeyBIaWRlciB9IGZyb20gJy4uL2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4taGlkZSc7XG5cbmltcG9ydCB7XG4gIEV4cHJlc3Npb25SdW5uZXIsXG4gIFJ1bm5hYmxlXG59IGZyb20gJy4uL2V4cHJlc3Npb24tcnVubmVyL2V4cHJlc3Npb24tcnVubmVyJztcbmltcG9ydCB7XG4gIEFmZUZvcm1Db250cm9sLFxuICBBZmVGb3JtQXJyYXksXG4gIEFmZUZvcm1Hcm91cFxufSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24nO1xuaW1wb3J0IHsgUXVlc3Rpb25CYXNlIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL3F1ZXN0aW9uLWJhc2UnO1xuaW1wb3J0IHsgSnNFeHByZXNzaW9uSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9qcy1leHByZXNzaW9uLWhlbHBlcic7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi9mb3JtJztcbi8vIEFkZCBhYmlsaXR5IHRvIGRpc3BsYXkgYWxsIGZpZWxkcyBmb3IgZGVidWdnaW5nXG5pbXBvcnQgeyBEZWJ1Z01vZGVTZXJ2aWNlIH0gZnJvbSAnLi8uLi9zZXJ2aWNlcy9kZWJ1Zy1tb2RlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSGlkZXJzRGlzYWJsZXJzRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZXhwcmVzc2lvblJ1bm5lcjogRXhwcmVzc2lvblJ1bm5lcixcbiAgICBwcml2YXRlIGV4cHJlc3Npb25IZWxwZXI6IEpzRXhwcmVzc2lvbkhlbHBlcixcbiAgICBwcml2YXRlIF9kZWJ1Z01vZGVTZXJ2aWNlOiBEZWJ1Z01vZGVTZXJ2aWNlXG4gICkge31cblxuICBnZXRKc0V4cHJlc3Npb25EaXNhYmxlcihcbiAgICBxdWVzdGlvbjogUXVlc3Rpb25CYXNlLFxuICAgIGNvbnRyb2w6IEFmZUZvcm1Db250cm9sIHwgQWZlRm9ybUFycmF5IHwgQWZlRm9ybUdyb3VwLFxuICAgIGZvcm0/OiBGb3JtXG4gICk6IERpc2FibGVyIHtcbiAgICBjb25zdCBydW5uYWJsZTogUnVubmFibGUgPSB0aGlzLmV4cHJlc3Npb25SdW5uZXIuZ2V0UnVubmFibGUoXG4gICAgICBxdWVzdGlvbi5kaXNhYmxlIGFzIHN0cmluZyxcbiAgICAgIGNvbnRyb2wsXG4gICAgICB0aGlzLmV4cHJlc3Npb25IZWxwZXIuaGVscGVyRnVuY3Rpb25zLFxuICAgICAge30sXG4gICAgICBmb3JtXG4gICAgKTtcbiAgICBjb25zdCBkaXNhYmxlcjogRGlzYWJsZXIgPSB7XG4gICAgICB0b0Rpc2FibGU6IGZhbHNlLFxuICAgICAgZGlzYWJsZVdoZW5FeHByZXNzaW9uOiBxdWVzdGlvbi5kaXNhYmxlIGFzIHN0cmluZyxcbiAgICAgIHJlc2V0VmFsdWVPbkRpc2FibGU6IHF1ZXN0aW9uLnJlc2V0VmFsdWVPbkRpc2FibGUsXG4gICAgICByZUV2YWx1YXRlRGlzYWJsaW5nRXhwcmVzc2lvbjogKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBydW5uYWJsZS5ydW4oKTtcbiAgICAgICAgZGlzYWJsZXIudG9EaXNhYmxlID0gcmVzdWx0O1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIGRpc2FibGVyO1xuICB9XG5cbiAgZ2V0SnNFeHByZXNzaW9uSGlkZXIoXG4gICAgcXVlc3Rpb246IFF1ZXN0aW9uQmFzZSxcbiAgICBjb250cm9sOiBBZmVGb3JtQ29udHJvbCB8IEFmZUZvcm1BcnJheSB8IEFmZUZvcm1Hcm91cCxcbiAgICBmb3JtPzogRm9ybVxuICApOiBIaWRlciB7XG4gICAgY29uc3QgaGlkZTogYW55ID0gcXVlc3Rpb24uaGlkZTtcbiAgICBjb25zdCB2YWx1ZTogc3RyaW5nID1cbiAgICAgIHR5cGVvZiBoaWRlID09PSAnb2JqZWN0J1xuICAgICAgICA/IHRoaXMuY29udmVydEhpZGVPYmplY3RUb1N0cmluZyhoaWRlKVxuICAgICAgICA6IChxdWVzdGlvbi5oaWRlIGFzIHN0cmluZyk7XG5cbiAgICAvLyBjaGVjayBpZiBkZWJ1Z2dpbmcgaGFzIGJlZW4gZW5hYmxlZFxuXG4gICAgY29uc3QgZGVidWdFbmFibGVkID0gdGhpcy5fZGVidWdNb2RlU2VydmljZS5kZWJ1Z0VuYWJsZWQoKTtcblxuICAgIGNvbnN0IHJ1bm5hYmxlOiBSdW5uYWJsZSA9IHRoaXMuZXhwcmVzc2lvblJ1bm5lci5nZXRSdW5uYWJsZShcbiAgICAgIHZhbHVlLFxuICAgICAgY29udHJvbCxcbiAgICAgIHRoaXMuZXhwcmVzc2lvbkhlbHBlci5oZWxwZXJGdW5jdGlvbnMsXG4gICAgICB7fSxcbiAgICAgIGZvcm1cbiAgICApO1xuXG4gICAgY29uc3QgaGlkZXI6IEhpZGVyID0ge1xuICAgICAgdG9IaWRlOiBmYWxzZSxcbiAgICAgIGhpZGVXaGVuRXhwcmVzc2lvbjogdmFsdWUsXG4gICAgICByZUV2YWx1YXRlSGlkaW5nRXhwcmVzc2lvbjogKCkgPT4ge1xuICAgICAgICAvKiBpZiBkZWJ1ZyBpcyBlbmFibGVkIHRoZW4gaGlkZXJzIHRvIGJlIGZhbHNlXG4gICAgICAgICAgICAgICAgIGVsc2UgcnVuIHRoZSBub3JtYWwgZXZlbHVhdG9yIGkuZSBydW5uYWJsZS5ydW4oKVxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICBpZiAoZGVidWdFbmFibGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgaGlkZXIudG9IaWRlID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaGlkZXIudG9IaWRlID0gcnVubmFibGUucnVuKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBoaWRlcjtcbiAgfVxuXG4gIGNvbnZlcnRIaWRlT2JqZWN0VG9TdHJpbmcoaGlkZTogYW55KSB7XG4gICAgaWYgKGhpZGUudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgY29uc3QgYXJyYXlTdHI6IHN0cmluZyA9IFwiJ1wiICsgaGlkZS52YWx1ZS5qb2luKFwiJywnXCIpICsgXCInXCI7XG4gICAgICBjb25zdCBleHAgPSAnIWFycmF5Q29udGFpbnMoWycgKyBhcnJheVN0ciArICddLCcgKyBoaWRlLmZpZWxkICsgJyknO1xuICAgICAgcmV0dXJuIGV4cDtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export * from './control-relations.factory';
2
- export * from './form-control.service';
3
- export * from './form.factory';
4
- export * from './form';
5
- export * from './question.factory';
6
- export * from './validation.factory';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2Zvcm0tZmFjdG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRyb2wtcmVsYXRpb25zLmZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWNvbnRyb2wuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0uZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVzdGlvbi5mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi5mYWN0b3J5JztcbiJdfQ==