@ampath-kenya/ngx-openmrs-formentry 2.12.11 → 2.12.13

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 (679) hide show
  1. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-control-type.d.ts +0 -0
  2. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-array.d.ts +0 -0
  3. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-control.d.ts +0 -0
  4. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-group.d.ts +0 -0
  5. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/control-extensions.d.ts +0 -0
  6. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/index.d.ts +0 -0
  7. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/value-change.listener.d.ts +0 -0
  8. package/{dist/ngx-formentry/ngx-openmrs-formentry.d.ts → ampath-kenya-ngx-openmrs-formentry.d.ts} +0 -0
  9. package/{dist/ngx-formentry/ngx-openmrs-formentry.metadata.json → ampath-kenya-ngx-openmrs-formentry.metadata.json} +1 -1
  10. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js +10706 -0
  11. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js.map +1 -0
  12. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js +2 -0
  13. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js.map +1 -0
  14. package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relation.d.ts +0 -0
  15. package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relations.d.ts +0 -0
  16. package/{dist/ngx-formentry/components → components}/afe-ng-select.component.d.ts +0 -0
  17. package/{dist/ngx-formentry/components → components}/appointments-overview/appointments-overview.component.d.ts +0 -0
  18. package/{dist/ngx-formentry/components → components}/check-box/checkbox.component.d.ts +0 -0
  19. package/{dist/ngx-formentry/components → components}/check-box/checkbox.module.d.ts +0 -0
  20. package/{dist/ngx-formentry/components → components}/date-time-picker/date-picker/date-picker.component.d.ts +0 -0
  21. package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.component.d.ts +0 -0
  22. package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.module.d.ts +0 -0
  23. package/{dist/ngx-formentry/components → components}/date-time-picker/picker-modal/modal.component.d.ts +0 -0
  24. package/{dist/ngx-formentry/components → components}/date-time-picker/pipes/moment.pipe.d.ts +0 -0
  25. package/{dist/ngx-formentry/components → components}/date-time-picker/time-picker/time-picker.component.d.ts +0 -0
  26. package/{dist/ngx-formentry/components → components}/file-upload/file-upload.component.d.ts +0 -0
  27. package/{dist/ngx-formentry/components → components}/file-upload/file-upload.module.d.ts +0 -0
  28. package/{dist/ngx-formentry/components → components}/file-upload/secure.pipe.d.ts +0 -0
  29. package/{dist/ngx-formentry/components → components}/ngx-date-time-picker/ngx-date-time-picker.component.d.ts +0 -0
  30. package/{dist/ngx-formentry/components → components}/ngx-date-time-picker/ngx-date-time-picker.module.d.ts +0 -0
  31. package/{dist/ngx-formentry/components → components}/remote-select/remote-select.component.d.ts +0 -0
  32. package/{dist/ngx-formentry/components → components}/remote-select/remote-select.module.d.ts +0 -0
  33. package/{dist/ngx-formentry/components → components}/select/diacritics.d.ts +0 -0
  34. package/{dist/ngx-formentry/components → components}/select/option-list.d.ts +0 -0
  35. package/{dist/ngx-formentry/components → components}/select/option.d.ts +0 -0
  36. package/{dist/ngx-formentry/components → components}/select/select-dropdown.component.d.ts +0 -0
  37. package/{dist/ngx-formentry/components → components}/select/select-dropdown.component.style.d.ts +0 -0
  38. package/{dist/ngx-formentry/components → components}/select/select.component.d.ts +0 -0
  39. package/{dist/ngx-formentry/components → components}/select/select.component.style.d.ts +0 -0
  40. package/{dist/ngx-formentry/components → components}/select/select.module.d.ts +0 -0
  41. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/file-preview.component.d.ts +0 -0
  42. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/question-control.component.d.ts +0 -0
  43. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/remote-answer.component.d.ts +0 -0
  44. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-container/encounter-container.component.d.ts +0 -0
  45. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-pdf-viewer.service.d.ts +0 -0
  46. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-view/encounter-viewer.component.d.ts +0 -0
  47. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-viewer.module.d.ts +0 -0
  48. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-viewer.service.d.ts +0 -0
  49. package/esm2015/abstract-controls-extension/afe-control-type.js +8 -0
  50. package/esm2015/abstract-controls-extension/afe-form-array.js +85 -0
  51. package/esm2015/abstract-controls-extension/afe-form-control.js +88 -0
  52. package/esm2015/abstract-controls-extension/afe-form-group.js +61 -0
  53. package/esm2015/abstract-controls-extension/control-extensions.js +5 -0
  54. package/esm2015/abstract-controls-extension/index.js +5 -0
  55. package/esm2015/abstract-controls-extension/value-change.listener.js +1 -0
  56. package/esm2015/ampath-kenya-ngx-openmrs-formentry.js +42 -0
  57. package/esm2015/change-tracking/control-relation.js +44 -0
  58. package/esm2015/change-tracking/control-relations.js +32 -0
  59. package/esm2015/components/afe-ng-select.component.js +87 -0
  60. package/esm2015/components/appointments-overview/appointments-overview.component.js +161 -0
  61. package/esm2015/components/check-box/checkbox.component.js +97 -0
  62. package/esm2015/components/check-box/checkbox.module.js +14 -0
  63. package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +270 -0
  64. package/esm2015/components/date-time-picker/date-time-picker.component.js +207 -0
  65. package/esm2015/components/date-time-picker/date-time-picker.module.js +34 -0
  66. package/esm2015/components/date-time-picker/picker-modal/modal.component.js +36 -0
  67. package/esm2015/components/date-time-picker/pipes/moment.pipe.js +13 -0
  68. package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +160 -0
  69. package/esm2015/components/file-upload/file-upload.component.js +128 -0
  70. package/esm2015/components/file-upload/file-upload.module.js +27 -0
  71. package/esm2015/components/file-upload/secure.pipe.js +102 -0
  72. package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +191 -0
  73. package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +41 -0
  74. package/esm2015/components/remote-select/remote-select.component.js +169 -0
  75. package/esm2015/components/remote-select/remote-select.module.js +17 -0
  76. package/esm2015/components/select/diacritics.js +855 -0
  77. package/esm2015/components/select/option-list.js +179 -0
  78. package/esm2015/components/select/option.js +29 -0
  79. package/esm2015/components/select/select-dropdown.component.js +161 -0
  80. package/esm2015/components/select/select-dropdown.component.style.js +58 -0
  81. package/esm2015/components/select/select.component.js +514 -0
  82. package/esm2015/components/select/select.component.style.js +101 -0
  83. package/esm2015/components/select/select.module.js +15 -0
  84. package/esm2015/encounter-viewer/display-controls/file-preview.component.js +109 -0
  85. package/esm2015/encounter-viewer/display-controls/question-control.component.js +92 -0
  86. package/esm2015/encounter-viewer/display-controls/remote-answer.component.js +79 -0
  87. package/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +48 -0
  88. package/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +435 -0
  89. package/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +299 -0
  90. package/esm2015/encounter-viewer/encounter-viewer.module.js +35 -0
  91. package/esm2015/encounter-viewer/encounter-viewer.service.js +160 -0
  92. package/esm2015/form-entry/control-alerts/alert-helpers.js +40 -0
  93. package/esm2015/form-entry/control-alerts/can-generate-alert.js +1 -0
  94. package/esm2015/form-entry/control-calculators/can-calculate.js +1 -0
  95. package/esm2015/form-entry/control-hiders-disablers/can-disable.js +1 -0
  96. package/esm2015/form-entry/control-hiders-disablers/can-hide.js +1 -0
  97. package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +33 -0
  98. package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +40 -0
  99. package/esm2015/form-entry/data-sources/data-sources.js +30 -0
  100. package/esm2015/form-entry/data-sources/dummy-data-source.js +104 -0
  101. package/esm2015/form-entry/directives/historical-value-directive.js +66 -0
  102. package/esm2015/form-entry/error-renderer/error-renderer.component.js +69 -0
  103. package/esm2015/form-entry/expression-runner/expression-runner.js +152 -0
  104. package/esm2015/form-entry/form-entry.module.js +103 -0
  105. package/esm2015/form-entry/form-factory/control-relations.factory.js +236 -0
  106. package/esm2015/form-entry/form-factory/form-control.service.js +117 -0
  107. package/esm2015/form-entry/form-factory/form-node.js +78 -0
  108. package/esm2015/form-entry/form-factory/form.factory.js +132 -0
  109. package/esm2015/form-entry/form-factory/form.js +193 -0
  110. package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +66 -0
  111. package/esm2015/form-entry/form-factory/question.factory.js +834 -0
  112. package/esm2015/form-entry/form-factory/show-messages.factory.js +30 -0
  113. package/esm2015/form-entry/form-factory/validation.factory.js +145 -0
  114. package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +156 -0
  115. package/esm2015/form-entry/form-renderer/form-renderer.component.js +632 -0
  116. package/esm2015/form-entry/helpers/historical-expression-helper-service.js +38 -0
  117. package/esm2015/form-entry/helpers/historical-field-helper-service.js +32 -0
  118. package/esm2015/form-entry/helpers/js-expression-helper.js +234 -0
  119. package/esm2015/form-entry/question-models/checkbox.model.js +11 -0
  120. package/esm2015/form-entry/question-models/conditional-validation.model.js +9 -0
  121. package/esm2015/form-entry/question-models/date-question.js +12 -0
  122. package/esm2015/form-entry/question-models/date-validation.model.js +10 -0
  123. package/esm2015/form-entry/question-models/file-upload-question.js +13 -0
  124. package/esm2015/form-entry/question-models/group-question.js +12 -0
  125. package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -0
  126. package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +1 -0
  127. package/esm2015/form-entry/question-models/interfaces/data-source.js +1 -0
  128. package/esm2015/form-entry/question-models/interfaces/date-question-options.js +1 -0
  129. package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +1 -0
  130. package/esm2015/form-entry/question-models/interfaces/group-question-options.js +1 -0
  131. package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +1 -0
  132. package/esm2015/form-entry/question-models/interfaces/nested-questions.js +7 -0
  133. package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +1 -0
  134. package/esm2015/form-entry/question-models/interfaces/select-option.js +1 -0
  135. package/esm2015/form-entry/question-models/interfaces/select-question-options.js +1 -0
  136. package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +1 -0
  137. package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +1 -0
  138. package/esm2015/form-entry/question-models/interfaces/text-question-options.js +1 -0
  139. package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +1 -0
  140. package/esm2015/form-entry/question-models/js-expression-validation.model.js +8 -0
  141. package/esm2015/form-entry/question-models/max-validation.model.js +9 -0
  142. package/esm2015/form-entry/question-models/min-validation.model.js +9 -0
  143. package/esm2015/form-entry/question-models/models.js +12 -0
  144. package/esm2015/form-entry/question-models/multi-select-question.js +11 -0
  145. package/esm2015/form-entry/question-models/pair.model.js +7 -0
  146. package/esm2015/form-entry/question-models/question-base.js +24 -0
  147. package/{dist/ngx-formentry/esm2015 → esm2015}/form-entry/question-models/rendering-type.js +1 -1
  148. package/esm2015/form-entry/question-models/repeating-question.js +11 -0
  149. package/esm2015/form-entry/question-models/select-option.js +7 -0
  150. package/esm2015/form-entry/question-models/select-question.js +12 -0
  151. package/esm2015/form-entry/question-models/test-order-question.js +15 -0
  152. package/esm2015/form-entry/question-models/text-area-input-question.js +13 -0
  153. package/esm2015/form-entry/question-models/text-input-question.js +10 -0
  154. package/esm2015/form-entry/question-models/ui-select-question.js +11 -0
  155. package/esm2015/form-entry/question-models/validation.model.js +7 -0
  156. package/esm2015/form-entry/services/debug-mode.service.js +22 -0
  157. package/esm2015/form-entry/services/form-errors.service.js +18 -0
  158. package/esm2015/form-entry/services/form-schema-compiler.service.js +246 -0
  159. package/esm2015/form-entry/services/historical-encounter-data.service.js +171 -0
  160. package/esm2015/form-entry/utils/messages.js +12 -0
  161. package/esm2015/form-entry/validators/conditional-answered.validator.js +46 -0
  162. package/esm2015/form-entry/validators/conditional-required.validator.js +40 -0
  163. package/esm2015/form-entry/validators/date.validator.js +18 -0
  164. package/esm2015/form-entry/validators/future-date-restriction.validator.js +21 -0
  165. package/esm2015/form-entry/validators/js-expression.validator.js +26 -0
  166. package/esm2015/form-entry/validators/max-date.validator.js +23 -0
  167. package/esm2015/form-entry/validators/max.validator.js +17 -0
  168. package/esm2015/form-entry/validators/min-date.validator.js +23 -0
  169. package/esm2015/form-entry/validators/min.validator.js +17 -0
  170. package/esm2015/form-entry/validators/required.validator.js +11 -0
  171. package/esm2015/form-entry/validators/validations.js +5 -0
  172. package/esm2015/form-entry/value-adapters/encounter.adapter.js +173 -0
  173. package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +490 -0
  174. package/esm2015/form-entry/value-adapters/obs.adapter.js +542 -0
  175. package/esm2015/form-entry/value-adapters/order.adapter.js +186 -0
  176. package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +87 -0
  177. package/esm2015/form-entry/value-adapters/value.adapter.js +1 -0
  178. package/esm2015/public_api.js +51 -0
  179. package/esm2015/shared.module.js +15 -0
  180. package/esm5/abstract-controls-extension/afe-control-type.js +8 -0
  181. package/esm5/abstract-controls-extension/afe-form-array.js +98 -0
  182. package/esm5/abstract-controls-extension/afe-form-control.js +96 -0
  183. package/esm5/abstract-controls-extension/afe-form-group.js +70 -0
  184. package/esm5/abstract-controls-extension/control-extensions.js +5 -0
  185. package/esm5/abstract-controls-extension/index.js +5 -0
  186. package/esm5/abstract-controls-extension/value-change.listener.js +1 -0
  187. package/esm5/ampath-kenya-ngx-openmrs-formentry.js +42 -0
  188. package/esm5/change-tracking/control-relation.js +59 -0
  189. package/esm5/change-tracking/control-relations.js +46 -0
  190. package/esm5/components/afe-ng-select.component.js +87 -0
  191. package/esm5/components/appointments-overview/appointments-overview.component.js +123 -0
  192. package/esm5/components/check-box/checkbox.component.js +88 -0
  193. package/esm5/components/check-box/checkbox.module.js +18 -0
  194. package/esm5/components/date-time-picker/date-picker/date-picker.component.js +186 -0
  195. package/esm5/components/date-time-picker/date-time-picker.component.js +111 -0
  196. package/esm5/components/date-time-picker/date-time-picker.module.js +38 -0
  197. package/esm5/components/date-time-picker/picker-modal/modal.component.js +32 -0
  198. package/esm5/components/date-time-picker/pipes/moment.pipe.js +17 -0
  199. package/esm5/components/date-time-picker/time-picker/time-picker.component.js +117 -0
  200. package/esm5/components/file-upload/file-upload.component.js +126 -0
  201. package/esm5/components/file-upload/file-upload.module.js +31 -0
  202. package/esm5/components/file-upload/secure.pipe.js +105 -0
  203. package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +140 -0
  204. package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +45 -0
  205. package/esm5/components/remote-select/remote-select.component.js +163 -0
  206. package/esm5/components/remote-select/remote-select.module.js +21 -0
  207. package/esm5/components/select/diacritics.js +860 -0
  208. package/esm5/components/select/option-list.js +224 -0
  209. package/esm5/components/select/option.js +31 -0
  210. package/esm5/components/select/select-dropdown.component.js +131 -0
  211. package/esm5/components/select/select-dropdown.component.style.js +2 -0
  212. package/esm5/components/select/select.component.js +456 -0
  213. package/esm5/components/select/select.component.style.js +2 -0
  214. package/esm5/components/select/select.module.js +19 -0
  215. package/{dist/ngx-formentry/esm2015 → esm5}/encounter-viewer/display-controls/file-preview.component.js +70 -70
  216. package/esm5/encounter-viewer/display-controls/question-control.component.js +104 -0
  217. package/esm5/encounter-viewer/display-controls/remote-answer.component.js +86 -0
  218. package/esm5/encounter-viewer/encounter-container/encounter-container.component.js +45 -0
  219. package/esm5/encounter-viewer/encounter-pdf-viewer.service.js +521 -0
  220. package/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +185 -0
  221. package/esm5/encounter-viewer/encounter-viewer.module.js +39 -0
  222. package/esm5/encounter-viewer/encounter-viewer.service.js +165 -0
  223. package/esm5/form-entry/control-alerts/alert-helpers.js +44 -0
  224. package/esm5/form-entry/control-alerts/can-generate-alert.js +1 -0
  225. package/esm5/form-entry/control-calculators/can-calculate.js +1 -0
  226. package/esm5/form-entry/control-hiders-disablers/can-disable.js +1 -0
  227. package/esm5/form-entry/control-hiders-disablers/can-hide.js +1 -0
  228. package/esm5/form-entry/control-hiders-disablers/disabler-helper.js +37 -0
  229. package/esm5/form-entry/control-hiders-disablers/hider-helpers.js +44 -0
  230. package/esm5/form-entry/data-sources/data-sources.js +37 -0
  231. package/esm5/form-entry/data-sources/dummy-data-source.js +106 -0
  232. package/esm5/form-entry/directives/historical-value-directive.js +72 -0
  233. package/esm5/form-entry/error-renderer/error-renderer.component.js +62 -0
  234. package/esm5/form-entry/expression-runner/expression-runner.js +158 -0
  235. package/esm5/form-entry/form-entry.module.js +107 -0
  236. package/{dist/ngx-formentry/esm2015 → esm5}/form-entry/form-factory/control-relations.factory.js +94 -87
  237. package/esm5/form-entry/form-factory/form-control.service.js +120 -0
  238. package/esm5/form-entry/form-factory/form-node.js +116 -0
  239. package/esm5/form-entry/form-factory/form.factory.js +136 -0
  240. package/esm5/form-entry/form-factory/form.js +213 -0
  241. package/esm5/form-entry/form-factory/hiders-disablers.factory.js +68 -0
  242. package/esm5/form-entry/form-factory/question.factory.js +838 -0
  243. package/esm5/form-entry/form-factory/show-messages.factory.js +32 -0
  244. package/esm5/form-entry/form-factory/validation.factory.js +189 -0
  245. package/esm5/form-entry/form-renderer/form-renderer.component.css.js +2 -0
  246. package/esm5/form-entry/form-renderer/form-renderer.component.js +211 -0
  247. package/esm5/form-entry/helpers/historical-expression-helper-service.js +41 -0
  248. package/esm5/form-entry/helpers/historical-field-helper-service.js +36 -0
  249. package/esm5/form-entry/helpers/js-expression-helper.js +242 -0
  250. package/esm5/form-entry/question-models/checkbox.model.js +16 -0
  251. package/esm5/form-entry/question-models/conditional-validation.model.js +14 -0
  252. package/esm5/form-entry/question-models/date-question.js +17 -0
  253. package/esm5/form-entry/question-models/date-validation.model.js +15 -0
  254. package/esm5/form-entry/question-models/file-upload-question.js +18 -0
  255. package/esm5/form-entry/question-models/group-question.js +17 -0
  256. package/esm5/form-entry/question-models/interfaces/base-options.js +1 -0
  257. package/esm5/form-entry/question-models/interfaces/checkbox-options.js +1 -0
  258. package/esm5/form-entry/question-models/interfaces/data-source.js +1 -0
  259. package/esm5/form-entry/question-models/interfaces/date-question-options.js +1 -0
  260. package/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +1 -0
  261. package/esm5/form-entry/question-models/interfaces/group-question-options.js +1 -0
  262. package/esm5/form-entry/question-models/interfaces/multi-select-options.js +1 -0
  263. package/esm5/form-entry/question-models/interfaces/nested-questions.js +11 -0
  264. package/esm5/form-entry/question-models/interfaces/repeating-question-options.js +1 -0
  265. package/esm5/form-entry/question-models/interfaces/select-option.js +1 -0
  266. package/esm5/form-entry/question-models/interfaces/select-question-options.js +1 -0
  267. package/esm5/form-entry/question-models/interfaces/test-order-question-options.js +1 -0
  268. package/esm5/form-entry/question-models/interfaces/text-area-question-options.js +1 -0
  269. package/esm5/form-entry/question-models/interfaces/text-question-options.js +1 -0
  270. package/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +1 -0
  271. package/esm5/form-entry/question-models/js-expression-validation.model.js +13 -0
  272. package/esm5/form-entry/question-models/max-validation.model.js +14 -0
  273. package/esm5/form-entry/question-models/min-validation.model.js +14 -0
  274. package/esm5/form-entry/question-models/models.js +12 -0
  275. package/esm5/form-entry/question-models/multi-select-question.js +16 -0
  276. package/esm5/form-entry/question-models/pair.model.js +9 -0
  277. package/esm5/form-entry/question-models/question-base.js +26 -0
  278. package/{dist/ngx-formentry/esm5 → esm5}/form-entry/question-models/rendering-type.js +1 -1
  279. package/esm5/form-entry/question-models/repeating-question.js +16 -0
  280. package/esm5/form-entry/question-models/select-option.js +9 -0
  281. package/esm5/form-entry/question-models/select-question.js +17 -0
  282. package/esm5/form-entry/question-models/test-order-question.js +20 -0
  283. package/esm5/form-entry/question-models/text-area-input-question.js +18 -0
  284. package/esm5/form-entry/question-models/text-input-question.js +15 -0
  285. package/esm5/form-entry/question-models/ui-select-question.js +16 -0
  286. package/esm5/form-entry/question-models/validation.model.js +9 -0
  287. package/esm5/form-entry/services/debug-mode.service.js +24 -0
  288. package/esm5/form-entry/services/form-errors.service.js +20 -0
  289. package/esm5/form-entry/services/form-schema-compiler.service.js +252 -0
  290. package/esm5/form-entry/services/historical-encounter-data.service.js +178 -0
  291. package/esm5/form-entry/utils/messages.js +16 -0
  292. package/esm5/form-entry/validators/conditional-answered.validator.js +49 -0
  293. package/esm5/form-entry/validators/conditional-required.validator.js +43 -0
  294. package/esm5/form-entry/validators/date.validator.js +21 -0
  295. package/esm5/form-entry/validators/future-date-restriction.validator.js +24 -0
  296. package/esm5/form-entry/validators/js-expression.validator.js +29 -0
  297. package/esm5/form-entry/validators/max-date.validator.js +27 -0
  298. package/esm5/form-entry/validators/max.validator.js +21 -0
  299. package/esm5/form-entry/validators/min-date.validator.js +27 -0
  300. package/esm5/form-entry/validators/min.validator.js +21 -0
  301. package/esm5/form-entry/validators/required.validator.js +15 -0
  302. package/esm5/form-entry/validators/validations.js +8 -0
  303. package/esm5/form-entry/value-adapters/encounter.adapter.js +176 -0
  304. package/esm5/form-entry/value-adapters/obs-adapter-helper.js +508 -0
  305. package/esm5/form-entry/value-adapters/obs.adapter.js +735 -0
  306. package/esm5/form-entry/value-adapters/order.adapter.js +226 -0
  307. package/esm5/form-entry/value-adapters/person-attribute.adapter.js +91 -0
  308. package/esm5/form-entry/value-adapters/value.adapter.js +1 -0
  309. package/esm5/public_api.js +51 -0
  310. package/esm5/shared.module.js +19 -0
  311. package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js +10919 -0
  312. package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
  313. package/fesm5/ampath-kenya-ngx-openmrs-formentry.js +10359 -0
  314. package/fesm5/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
  315. package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/alert-helpers.d.ts +0 -0
  316. package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/can-generate-alert.d.ts +0 -0
  317. package/{dist/ngx-formentry/form-entry → form-entry}/control-calculators/can-calculate.d.ts +0 -0
  318. package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-disable.d.ts +0 -0
  319. package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-hide.d.ts +0 -0
  320. package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/disabler-helper.d.ts +0 -0
  321. package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/hider-helpers.d.ts +0 -0
  322. package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/data-sources.d.ts +0 -0
  323. package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/dummy-data-source.d.ts +0 -0
  324. package/{dist/ngx-formentry/form-entry → form-entry}/directives/historical-value-directive.d.ts +0 -0
  325. package/{dist/ngx-formentry/form-entry → form-entry}/error-renderer/error-renderer.component.d.ts +0 -0
  326. package/{dist/ngx-formentry/form-entry → form-entry}/expression-runner/expression-runner.d.ts +0 -0
  327. package/{dist/ngx-formentry/form-entry → form-entry}/form-entry.module.d.ts +0 -0
  328. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/control-relations.factory.d.ts +0 -0
  329. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-control.service.d.ts +0 -0
  330. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-node.d.ts +0 -0
  331. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.d.ts +0 -0
  332. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.factory.d.ts +0 -0
  333. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/hiders-disablers.factory.d.ts +0 -0
  334. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/question.factory.d.ts +0 -0
  335. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/show-messages.factory.d.ts +0 -0
  336. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/validation.factory.d.ts +0 -0
  337. package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.css.d.ts +0 -0
  338. package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.d.ts +0 -0
  339. package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-expression-helper-service.d.ts +0 -0
  340. package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-field-helper-service.d.ts +0 -0
  341. package/{dist/ngx-formentry/form-entry → form-entry}/helpers/js-expression-helper.d.ts +0 -0
  342. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/checkbox.model.d.ts +0 -0
  343. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/conditional-validation.model.d.ts +0 -0
  344. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-question.d.ts +0 -0
  345. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-validation.model.d.ts +0 -0
  346. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/file-upload-question.d.ts +0 -0
  347. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/group-question.d.ts +0 -0
  348. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/base-options.d.ts +0 -0
  349. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/checkbox-options.d.ts +0 -0
  350. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/data-source.d.ts +0 -0
  351. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/date-question-options.d.ts +0 -0
  352. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/file-upload-question-options.d.ts +0 -0
  353. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/group-question-options.d.ts +0 -0
  354. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/multi-select-options.d.ts +0 -0
  355. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/nested-questions.d.ts +0 -0
  356. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/repeating-question-options.d.ts +0 -0
  357. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-option.d.ts +0 -0
  358. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-question-options.d.ts +0 -0
  359. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/test-order-question-options.d.ts +0 -0
  360. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-area-question-options.d.ts +0 -0
  361. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-question-options.d.ts +0 -0
  362. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/ui-select-question-options.d.ts +0 -0
  363. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/js-expression-validation.model.d.ts +0 -0
  364. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/max-validation.model.d.ts +0 -0
  365. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/min-validation.model.d.ts +0 -0
  366. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/models.d.ts +0 -0
  367. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/multi-select-question.d.ts +0 -0
  368. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/pair.model.d.ts +0 -0
  369. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/question-base.d.ts +0 -0
  370. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/rendering-type.d.ts +0 -0
  371. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/repeating-question.d.ts +0 -0
  372. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-option.d.ts +0 -0
  373. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-question.d.ts +0 -0
  374. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/test-order-question.d.ts +0 -0
  375. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-area-input-question.d.ts +0 -0
  376. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-input-question.d.ts +0 -0
  377. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/ui-select-question.d.ts +0 -0
  378. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/validation.model.d.ts +0 -0
  379. package/{dist/ngx-formentry/form-entry → form-entry}/services/debug-mode.service.d.ts +0 -0
  380. package/{dist/ngx-formentry/form-entry → form-entry}/services/form-errors.service.d.ts +0 -0
  381. package/{dist/ngx-formentry/form-entry → form-entry}/services/form-schema-compiler.service.d.ts +0 -0
  382. package/{dist/ngx-formentry/form-entry → form-entry}/services/historical-encounter-data.service.d.ts +0 -0
  383. package/{dist/ngx-formentry/form-entry → form-entry}/utils/messages.d.ts +0 -0
  384. package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-answered.validator.d.ts +0 -0
  385. package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-required.validator.d.ts +0 -0
  386. package/{dist/ngx-formentry/form-entry → form-entry}/validators/date.validator.d.ts +0 -0
  387. package/{dist/ngx-formentry/form-entry → form-entry}/validators/future-date-restriction.validator.d.ts +0 -0
  388. package/{dist/ngx-formentry/form-entry → form-entry}/validators/js-expression.validator.d.ts +0 -0
  389. package/{dist/ngx-formentry/form-entry → form-entry}/validators/max-date.validator.d.ts +0 -0
  390. package/{dist/ngx-formentry/form-entry → form-entry}/validators/max.validator.d.ts +0 -0
  391. package/{dist/ngx-formentry/form-entry → form-entry}/validators/min-date.validator.d.ts +0 -0
  392. package/{dist/ngx-formentry/form-entry → form-entry}/validators/min.validator.d.ts +0 -0
  393. package/{dist/ngx-formentry/form-entry → form-entry}/validators/required.validator.d.ts +0 -0
  394. package/{dist/ngx-formentry/form-entry → form-entry}/validators/validations.d.ts +0 -0
  395. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/encounter.adapter.d.ts +0 -0
  396. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs-adapter-helper.d.ts +0 -0
  397. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs.adapter.d.ts +0 -0
  398. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/order.adapter.d.ts +0 -0
  399. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/person-attribute.adapter.d.ts +0 -0
  400. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/value.adapter.d.ts +0 -0
  401. package/package.json +21 -83
  402. package/{dist/ngx-formentry/public_api.d.ts → public_api.d.ts} +0 -0
  403. package/{dist/ngx-formentry/shared.module.d.ts → shared.module.d.ts} +0 -0
  404. package/.editorconfig +0 -13
  405. package/.prettierignore +0 -40
  406. package/.prettierrc +0 -6
  407. package/.travis.yml +0 -17
  408. package/README.md +0 -34
  409. package/angular.json +0 -143
  410. package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.js +0 -10706
  411. package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.js.map +0 -1
  412. package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.min.js +0 -2
  413. package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.min.js.map +0 -1
  414. package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-control-type.js +0 -8
  415. package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-array.js +0 -85
  416. package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-control.js +0 -88
  417. package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-group.js +0 -61
  418. package/dist/ngx-formentry/esm2015/abstract-controls-extension/control-extensions.js +0 -5
  419. package/dist/ngx-formentry/esm2015/abstract-controls-extension/index.js +0 -5
  420. package/dist/ngx-formentry/esm2015/abstract-controls-extension/value-change.listener.js +0 -1
  421. package/dist/ngx-formentry/esm2015/change-tracking/control-relation.js +0 -44
  422. package/dist/ngx-formentry/esm2015/change-tracking/control-relations.js +0 -32
  423. package/dist/ngx-formentry/esm2015/components/afe-ng-select.component.js +0 -87
  424. package/dist/ngx-formentry/esm2015/components/appointments-overview/appointments-overview.component.js +0 -161
  425. package/dist/ngx-formentry/esm2015/components/check-box/checkbox.component.js +0 -97
  426. package/dist/ngx-formentry/esm2015/components/check-box/checkbox.module.js +0 -14
  427. package/dist/ngx-formentry/esm2015/components/date-time-picker/date-picker/date-picker.component.js +0 -270
  428. package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.component.js +0 -207
  429. package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.module.js +0 -34
  430. package/dist/ngx-formentry/esm2015/components/date-time-picker/picker-modal/modal.component.js +0 -36
  431. package/dist/ngx-formentry/esm2015/components/date-time-picker/pipes/moment.pipe.js +0 -13
  432. package/dist/ngx-formentry/esm2015/components/date-time-picker/time-picker/time-picker.component.js +0 -160
  433. package/dist/ngx-formentry/esm2015/components/file-upload/file-upload.component.js +0 -128
  434. package/dist/ngx-formentry/esm2015/components/file-upload/file-upload.module.js +0 -27
  435. package/dist/ngx-formentry/esm2015/components/file-upload/secure.pipe.js +0 -102
  436. package/dist/ngx-formentry/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +0 -191
  437. package/dist/ngx-formentry/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +0 -41
  438. package/dist/ngx-formentry/esm2015/components/remote-select/remote-select.component.js +0 -169
  439. package/dist/ngx-formentry/esm2015/components/remote-select/remote-select.module.js +0 -17
  440. package/dist/ngx-formentry/esm2015/components/select/diacritics.js +0 -855
  441. package/dist/ngx-formentry/esm2015/components/select/option-list.js +0 -179
  442. package/dist/ngx-formentry/esm2015/components/select/option.js +0 -29
  443. package/dist/ngx-formentry/esm2015/components/select/select-dropdown.component.js +0 -161
  444. package/dist/ngx-formentry/esm2015/components/select/select-dropdown.component.style.js +0 -58
  445. package/dist/ngx-formentry/esm2015/components/select/select.component.js +0 -514
  446. package/dist/ngx-formentry/esm2015/components/select/select.component.style.js +0 -101
  447. package/dist/ngx-formentry/esm2015/components/select/select.module.js +0 -15
  448. package/dist/ngx-formentry/esm2015/encounter-viewer/display-controls/question-control.component.js +0 -92
  449. package/dist/ngx-formentry/esm2015/encounter-viewer/display-controls/remote-answer.component.js +0 -79
  450. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +0 -48
  451. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +0 -435
  452. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +0 -299
  453. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-viewer.module.js +0 -35
  454. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-viewer.service.js +0 -160
  455. package/dist/ngx-formentry/esm2015/form-entry/control-alerts/alert-helpers.js +0 -40
  456. package/dist/ngx-formentry/esm2015/form-entry/control-alerts/can-generate-alert.js +0 -1
  457. package/dist/ngx-formentry/esm2015/form-entry/control-calculators/can-calculate.js +0 -1
  458. package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/can-disable.js +0 -1
  459. package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/can-hide.js +0 -1
  460. package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +0 -33
  461. package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +0 -40
  462. package/dist/ngx-formentry/esm2015/form-entry/data-sources/data-sources.js +0 -30
  463. package/dist/ngx-formentry/esm2015/form-entry/data-sources/dummy-data-source.js +0 -104
  464. package/dist/ngx-formentry/esm2015/form-entry/directives/historical-value-directive.js +0 -66
  465. package/dist/ngx-formentry/esm2015/form-entry/error-renderer/error-renderer.component.js +0 -69
  466. package/dist/ngx-formentry/esm2015/form-entry/expression-runner/expression-runner.js +0 -152
  467. package/dist/ngx-formentry/esm2015/form-entry/form-entry.module.js +0 -103
  468. package/dist/ngx-formentry/esm2015/form-entry/form-factory/form-control.service.js +0 -117
  469. package/dist/ngx-formentry/esm2015/form-entry/form-factory/form-node.js +0 -78
  470. package/dist/ngx-formentry/esm2015/form-entry/form-factory/form.factory.js +0 -132
  471. package/dist/ngx-formentry/esm2015/form-entry/form-factory/form.js +0 -193
  472. package/dist/ngx-formentry/esm2015/form-entry/form-factory/hiders-disablers.factory.js +0 -66
  473. package/dist/ngx-formentry/esm2015/form-entry/form-factory/question.factory.js +0 -834
  474. package/dist/ngx-formentry/esm2015/form-entry/form-factory/show-messages.factory.js +0 -30
  475. package/dist/ngx-formentry/esm2015/form-entry/form-factory/validation.factory.js +0 -145
  476. package/dist/ngx-formentry/esm2015/form-entry/form-renderer/form-renderer.component.css.js +0 -156
  477. package/dist/ngx-formentry/esm2015/form-entry/form-renderer/form-renderer.component.js +0 -632
  478. package/dist/ngx-formentry/esm2015/form-entry/helpers/historical-expression-helper-service.js +0 -38
  479. package/dist/ngx-formentry/esm2015/form-entry/helpers/historical-field-helper-service.js +0 -32
  480. package/dist/ngx-formentry/esm2015/form-entry/helpers/js-expression-helper.js +0 -234
  481. package/dist/ngx-formentry/esm2015/form-entry/question-models/checkbox.model.js +0 -11
  482. package/dist/ngx-formentry/esm2015/form-entry/question-models/conditional-validation.model.js +0 -9
  483. package/dist/ngx-formentry/esm2015/form-entry/question-models/date-question.js +0 -12
  484. package/dist/ngx-formentry/esm2015/form-entry/question-models/date-validation.model.js +0 -10
  485. package/dist/ngx-formentry/esm2015/form-entry/question-models/file-upload-question.js +0 -13
  486. package/dist/ngx-formentry/esm2015/form-entry/question-models/group-question.js +0 -12
  487. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/base-options.js +0 -1
  488. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/checkbox-options.js +0 -1
  489. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/data-source.js +0 -1
  490. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/date-question-options.js +0 -1
  491. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +0 -1
  492. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/group-question-options.js +0 -1
  493. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/multi-select-options.js +0 -1
  494. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/nested-questions.js +0 -7
  495. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +0 -1
  496. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/select-option.js +0 -1
  497. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/select-question-options.js +0 -1
  498. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +0 -1
  499. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +0 -1
  500. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/text-question-options.js +0 -1
  501. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +0 -1
  502. package/dist/ngx-formentry/esm2015/form-entry/question-models/js-expression-validation.model.js +0 -8
  503. package/dist/ngx-formentry/esm2015/form-entry/question-models/max-validation.model.js +0 -9
  504. package/dist/ngx-formentry/esm2015/form-entry/question-models/min-validation.model.js +0 -9
  505. package/dist/ngx-formentry/esm2015/form-entry/question-models/models.js +0 -12
  506. package/dist/ngx-formentry/esm2015/form-entry/question-models/multi-select-question.js +0 -11
  507. package/dist/ngx-formentry/esm2015/form-entry/question-models/pair.model.js +0 -7
  508. package/dist/ngx-formentry/esm2015/form-entry/question-models/question-base.js +0 -24
  509. package/dist/ngx-formentry/esm2015/form-entry/question-models/repeating-question.js +0 -11
  510. package/dist/ngx-formentry/esm2015/form-entry/question-models/select-option.js +0 -7
  511. package/dist/ngx-formentry/esm2015/form-entry/question-models/select-question.js +0 -12
  512. package/dist/ngx-formentry/esm2015/form-entry/question-models/test-order-question.js +0 -15
  513. package/dist/ngx-formentry/esm2015/form-entry/question-models/text-area-input-question.js +0 -13
  514. package/dist/ngx-formentry/esm2015/form-entry/question-models/text-input-question.js +0 -10
  515. package/dist/ngx-formentry/esm2015/form-entry/question-models/ui-select-question.js +0 -11
  516. package/dist/ngx-formentry/esm2015/form-entry/question-models/validation.model.js +0 -7
  517. package/dist/ngx-formentry/esm2015/form-entry/services/debug-mode.service.js +0 -22
  518. package/dist/ngx-formentry/esm2015/form-entry/services/form-errors.service.js +0 -18
  519. package/dist/ngx-formentry/esm2015/form-entry/services/form-schema-compiler.service.js +0 -246
  520. package/dist/ngx-formentry/esm2015/form-entry/services/historical-encounter-data.service.js +0 -171
  521. package/dist/ngx-formentry/esm2015/form-entry/utils/messages.js +0 -12
  522. package/dist/ngx-formentry/esm2015/form-entry/validators/conditional-answered.validator.js +0 -46
  523. package/dist/ngx-formentry/esm2015/form-entry/validators/conditional-required.validator.js +0 -40
  524. package/dist/ngx-formentry/esm2015/form-entry/validators/date.validator.js +0 -18
  525. package/dist/ngx-formentry/esm2015/form-entry/validators/future-date-restriction.validator.js +0 -21
  526. package/dist/ngx-formentry/esm2015/form-entry/validators/js-expression.validator.js +0 -26
  527. package/dist/ngx-formentry/esm2015/form-entry/validators/max-date.validator.js +0 -23
  528. package/dist/ngx-formentry/esm2015/form-entry/validators/max.validator.js +0 -17
  529. package/dist/ngx-formentry/esm2015/form-entry/validators/min-date.validator.js +0 -23
  530. package/dist/ngx-formentry/esm2015/form-entry/validators/min.validator.js +0 -17
  531. package/dist/ngx-formentry/esm2015/form-entry/validators/required.validator.js +0 -11
  532. package/dist/ngx-formentry/esm2015/form-entry/validators/validations.js +0 -5
  533. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/encounter.adapter.js +0 -173
  534. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/obs-adapter-helper.js +0 -490
  535. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/obs.adapter.js +0 -542
  536. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/order.adapter.js +0 -186
  537. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/person-attribute.adapter.js +0 -87
  538. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/value.adapter.js +0 -1
  539. package/dist/ngx-formentry/esm2015/ngx-openmrs-formentry.js +0 -42
  540. package/dist/ngx-formentry/esm2015/public_api.js +0 -51
  541. package/dist/ngx-formentry/esm2015/shared.module.js +0 -15
  542. package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-control-type.js +0 -8
  543. package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-array.js +0 -98
  544. package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-control.js +0 -96
  545. package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-group.js +0 -70
  546. package/dist/ngx-formentry/esm5/abstract-controls-extension/control-extensions.js +0 -5
  547. package/dist/ngx-formentry/esm5/abstract-controls-extension/index.js +0 -5
  548. package/dist/ngx-formentry/esm5/abstract-controls-extension/value-change.listener.js +0 -1
  549. package/dist/ngx-formentry/esm5/change-tracking/control-relation.js +0 -59
  550. package/dist/ngx-formentry/esm5/change-tracking/control-relations.js +0 -46
  551. package/dist/ngx-formentry/esm5/components/afe-ng-select.component.js +0 -87
  552. package/dist/ngx-formentry/esm5/components/appointments-overview/appointments-overview.component.js +0 -123
  553. package/dist/ngx-formentry/esm5/components/check-box/checkbox.component.js +0 -88
  554. package/dist/ngx-formentry/esm5/components/check-box/checkbox.module.js +0 -18
  555. package/dist/ngx-formentry/esm5/components/date-time-picker/date-picker/date-picker.component.js +0 -186
  556. package/dist/ngx-formentry/esm5/components/date-time-picker/date-time-picker.component.js +0 -111
  557. package/dist/ngx-formentry/esm5/components/date-time-picker/date-time-picker.module.js +0 -38
  558. package/dist/ngx-formentry/esm5/components/date-time-picker/picker-modal/modal.component.js +0 -32
  559. package/dist/ngx-formentry/esm5/components/date-time-picker/pipes/moment.pipe.js +0 -17
  560. package/dist/ngx-formentry/esm5/components/date-time-picker/time-picker/time-picker.component.js +0 -117
  561. package/dist/ngx-formentry/esm5/components/file-upload/file-upload.component.js +0 -126
  562. package/dist/ngx-formentry/esm5/components/file-upload/file-upload.module.js +0 -31
  563. package/dist/ngx-formentry/esm5/components/file-upload/secure.pipe.js +0 -105
  564. package/dist/ngx-formentry/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +0 -140
  565. package/dist/ngx-formentry/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +0 -45
  566. package/dist/ngx-formentry/esm5/components/remote-select/remote-select.component.js +0 -163
  567. package/dist/ngx-formentry/esm5/components/remote-select/remote-select.module.js +0 -21
  568. package/dist/ngx-formentry/esm5/components/select/diacritics.js +0 -860
  569. package/dist/ngx-formentry/esm5/components/select/option-list.js +0 -224
  570. package/dist/ngx-formentry/esm5/components/select/option.js +0 -31
  571. package/dist/ngx-formentry/esm5/components/select/select-dropdown.component.js +0 -131
  572. package/dist/ngx-formentry/esm5/components/select/select-dropdown.component.style.js +0 -2
  573. package/dist/ngx-formentry/esm5/components/select/select.component.js +0 -456
  574. package/dist/ngx-formentry/esm5/components/select/select.component.style.js +0 -2
  575. package/dist/ngx-formentry/esm5/components/select/select.module.js +0 -19
  576. package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/file-preview.component.js +0 -109
  577. package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/question-control.component.js +0 -104
  578. package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/remote-answer.component.js +0 -86
  579. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-container/encounter-container.component.js +0 -45
  580. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-pdf-viewer.service.js +0 -521
  581. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +0 -185
  582. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-viewer.module.js +0 -39
  583. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-viewer.service.js +0 -165
  584. package/dist/ngx-formentry/esm5/form-entry/control-alerts/alert-helpers.js +0 -44
  585. package/dist/ngx-formentry/esm5/form-entry/control-alerts/can-generate-alert.js +0 -1
  586. package/dist/ngx-formentry/esm5/form-entry/control-calculators/can-calculate.js +0 -1
  587. package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/can-disable.js +0 -1
  588. package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/can-hide.js +0 -1
  589. package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/disabler-helper.js +0 -37
  590. package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/hider-helpers.js +0 -44
  591. package/dist/ngx-formentry/esm5/form-entry/data-sources/data-sources.js +0 -37
  592. package/dist/ngx-formentry/esm5/form-entry/data-sources/dummy-data-source.js +0 -106
  593. package/dist/ngx-formentry/esm5/form-entry/directives/historical-value-directive.js +0 -72
  594. package/dist/ngx-formentry/esm5/form-entry/error-renderer/error-renderer.component.js +0 -62
  595. package/dist/ngx-formentry/esm5/form-entry/expression-runner/expression-runner.js +0 -158
  596. package/dist/ngx-formentry/esm5/form-entry/form-entry.module.js +0 -107
  597. package/dist/ngx-formentry/esm5/form-entry/form-factory/control-relations.factory.js +0 -243
  598. package/dist/ngx-formentry/esm5/form-entry/form-factory/form-control.service.js +0 -120
  599. package/dist/ngx-formentry/esm5/form-entry/form-factory/form-node.js +0 -116
  600. package/dist/ngx-formentry/esm5/form-entry/form-factory/form.factory.js +0 -136
  601. package/dist/ngx-formentry/esm5/form-entry/form-factory/form.js +0 -213
  602. package/dist/ngx-formentry/esm5/form-entry/form-factory/hiders-disablers.factory.js +0 -68
  603. package/dist/ngx-formentry/esm5/form-entry/form-factory/question.factory.js +0 -838
  604. package/dist/ngx-formentry/esm5/form-entry/form-factory/show-messages.factory.js +0 -32
  605. package/dist/ngx-formentry/esm5/form-entry/form-factory/validation.factory.js +0 -189
  606. package/dist/ngx-formentry/esm5/form-entry/form-renderer/form-renderer.component.css.js +0 -2
  607. package/dist/ngx-formentry/esm5/form-entry/form-renderer/form-renderer.component.js +0 -211
  608. package/dist/ngx-formentry/esm5/form-entry/helpers/historical-expression-helper-service.js +0 -41
  609. package/dist/ngx-formentry/esm5/form-entry/helpers/historical-field-helper-service.js +0 -36
  610. package/dist/ngx-formentry/esm5/form-entry/helpers/js-expression-helper.js +0 -242
  611. package/dist/ngx-formentry/esm5/form-entry/question-models/checkbox.model.js +0 -16
  612. package/dist/ngx-formentry/esm5/form-entry/question-models/conditional-validation.model.js +0 -14
  613. package/dist/ngx-formentry/esm5/form-entry/question-models/date-question.js +0 -17
  614. package/dist/ngx-formentry/esm5/form-entry/question-models/date-validation.model.js +0 -15
  615. package/dist/ngx-formentry/esm5/form-entry/question-models/file-upload-question.js +0 -18
  616. package/dist/ngx-formentry/esm5/form-entry/question-models/group-question.js +0 -17
  617. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/base-options.js +0 -1
  618. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/checkbox-options.js +0 -1
  619. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/data-source.js +0 -1
  620. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/date-question-options.js +0 -1
  621. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +0 -1
  622. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/group-question-options.js +0 -1
  623. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/multi-select-options.js +0 -1
  624. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/nested-questions.js +0 -11
  625. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/repeating-question-options.js +0 -1
  626. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/select-option.js +0 -1
  627. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/select-question-options.js +0 -1
  628. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/test-order-question-options.js +0 -1
  629. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/text-area-question-options.js +0 -1
  630. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/text-question-options.js +0 -1
  631. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +0 -1
  632. package/dist/ngx-formentry/esm5/form-entry/question-models/js-expression-validation.model.js +0 -13
  633. package/dist/ngx-formentry/esm5/form-entry/question-models/max-validation.model.js +0 -14
  634. package/dist/ngx-formentry/esm5/form-entry/question-models/min-validation.model.js +0 -14
  635. package/dist/ngx-formentry/esm5/form-entry/question-models/models.js +0 -12
  636. package/dist/ngx-formentry/esm5/form-entry/question-models/multi-select-question.js +0 -16
  637. package/dist/ngx-formentry/esm5/form-entry/question-models/pair.model.js +0 -9
  638. package/dist/ngx-formentry/esm5/form-entry/question-models/question-base.js +0 -26
  639. package/dist/ngx-formentry/esm5/form-entry/question-models/repeating-question.js +0 -16
  640. package/dist/ngx-formentry/esm5/form-entry/question-models/select-option.js +0 -9
  641. package/dist/ngx-formentry/esm5/form-entry/question-models/select-question.js +0 -17
  642. package/dist/ngx-formentry/esm5/form-entry/question-models/test-order-question.js +0 -20
  643. package/dist/ngx-formentry/esm5/form-entry/question-models/text-area-input-question.js +0 -18
  644. package/dist/ngx-formentry/esm5/form-entry/question-models/text-input-question.js +0 -15
  645. package/dist/ngx-formentry/esm5/form-entry/question-models/ui-select-question.js +0 -16
  646. package/dist/ngx-formentry/esm5/form-entry/question-models/validation.model.js +0 -9
  647. package/dist/ngx-formentry/esm5/form-entry/services/debug-mode.service.js +0 -24
  648. package/dist/ngx-formentry/esm5/form-entry/services/form-errors.service.js +0 -20
  649. package/dist/ngx-formentry/esm5/form-entry/services/form-schema-compiler.service.js +0 -252
  650. package/dist/ngx-formentry/esm5/form-entry/services/historical-encounter-data.service.js +0 -178
  651. package/dist/ngx-formentry/esm5/form-entry/utils/messages.js +0 -16
  652. package/dist/ngx-formentry/esm5/form-entry/validators/conditional-answered.validator.js +0 -49
  653. package/dist/ngx-formentry/esm5/form-entry/validators/conditional-required.validator.js +0 -43
  654. package/dist/ngx-formentry/esm5/form-entry/validators/date.validator.js +0 -21
  655. package/dist/ngx-formentry/esm5/form-entry/validators/future-date-restriction.validator.js +0 -24
  656. package/dist/ngx-formentry/esm5/form-entry/validators/js-expression.validator.js +0 -29
  657. package/dist/ngx-formentry/esm5/form-entry/validators/max-date.validator.js +0 -27
  658. package/dist/ngx-formentry/esm5/form-entry/validators/max.validator.js +0 -21
  659. package/dist/ngx-formentry/esm5/form-entry/validators/min-date.validator.js +0 -27
  660. package/dist/ngx-formentry/esm5/form-entry/validators/min.validator.js +0 -21
  661. package/dist/ngx-formentry/esm5/form-entry/validators/required.validator.js +0 -15
  662. package/dist/ngx-formentry/esm5/form-entry/validators/validations.js +0 -8
  663. package/dist/ngx-formentry/esm5/form-entry/value-adapters/encounter.adapter.js +0 -176
  664. package/dist/ngx-formentry/esm5/form-entry/value-adapters/obs-adapter-helper.js +0 -508
  665. package/dist/ngx-formentry/esm5/form-entry/value-adapters/obs.adapter.js +0 -735
  666. package/dist/ngx-formentry/esm5/form-entry/value-adapters/order.adapter.js +0 -226
  667. package/dist/ngx-formentry/esm5/form-entry/value-adapters/person-attribute.adapter.js +0 -91
  668. package/dist/ngx-formentry/esm5/form-entry/value-adapters/value.adapter.js +0 -1
  669. package/dist/ngx-formentry/esm5/ngx-openmrs-formentry.js +0 -42
  670. package/dist/ngx-formentry/esm5/public_api.js +0 -51
  671. package/dist/ngx-formentry/esm5/shared.module.js +0 -19
  672. package/dist/ngx-formentry/fesm2015/ngx-openmrs-formentry.js +0 -10919
  673. package/dist/ngx-formentry/fesm2015/ngx-openmrs-formentry.js.map +0 -1
  674. package/dist/ngx-formentry/fesm5/ngx-openmrs-formentry.js +0 -10359
  675. package/dist/ngx-formentry/fesm5/ngx-openmrs-formentry.js.map +0 -1
  676. package/dist/ngx-formentry/package.json +0 -35
  677. package/scripts/build.sh +0 -2
  678. package/tsconfig.json +0 -20
  679. package/tslint.json +0 -96
@@ -0,0 +1,186 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as _ from 'lodash';
3
+ export class OrderValueAdapter {
4
+ constructor() {
5
+ this.formOrderNodes = [];
6
+ this.provider = '';
7
+ }
8
+ generateFormPayload(form) {
9
+ this.formOrderNodes = [];
10
+ this._setOrderProvider(form);
11
+ this._findTestOrderQuestionNodes(form.rootNode);
12
+ return this._createOrdersPayload(this.formOrderNodes, form);
13
+ }
14
+ populateForm(form, payload) {
15
+ form.existingOrders = payload;
16
+ this.formOrderNodes = [];
17
+ this._findTestOrderQuestionNodes(form.rootNode);
18
+ const existingOrders = this._getExistingOrders(form);
19
+ this._setOrderValues(this.formOrderNodes, existingOrders);
20
+ }
21
+ _setOrderProvider(form) {
22
+ if (form.valueProcessingInfo.providerUuid) {
23
+ this.provider = form.valueProcessingInfo.providerUuid;
24
+ }
25
+ }
26
+ _createOrdersPayload(orderNodes, form) {
27
+ const payload = [];
28
+ const selectedOrders = [];
29
+ let deletedOrders = [];
30
+ const existingOrders = this._getExistingOrders(form);
31
+ for (const orderNode of orderNodes) {
32
+ const orderNodeValues = orderNode.control.value;
33
+ const orders = [];
34
+ if (existingOrders) {
35
+ existingOrders.map(function (obj) {
36
+ orders[obj.concept] = obj.concept;
37
+ });
38
+ }
39
+ for (const order in orderNodeValues) {
40
+ if (orderNodeValues.hasOwnProperty(order)) {
41
+ const orderValue = orderNodeValues[order][orderNode.question.key];
42
+ const payloadOrder = this._createPayloadOrder(orderValue, orderNode.question.extras);
43
+ if (orders[orderValue] !== orderValue &&
44
+ payloadOrder.concept !== '') {
45
+ payload.push(payloadOrder);
46
+ }
47
+ selectedOrders[orderValue] = orderValue;
48
+ if (payloadOrder.orderNumber === '') {
49
+ delete payloadOrder.orderNumber;
50
+ }
51
+ if (payloadOrder.uuid === '') {
52
+ delete payloadOrder.uuid;
53
+ }
54
+ }
55
+ }
56
+ }
57
+ deletedOrders = this._getDeletedOrders(selectedOrders, existingOrders);
58
+ return this._addDeletedOrdersToPayload(deletedOrders, payload);
59
+ }
60
+ _getExistingOrders(form) {
61
+ if (form.existingOrders && form.existingOrders.orders) {
62
+ let existingOrders = form.existingOrders.orders.map((o) => {
63
+ return {
64
+ concept: o.concept.uuid,
65
+ orderNumber: o.orderNumber,
66
+ orderUuid: o.uuid,
67
+ voided: o.voided,
68
+ dateVoided: o.auditInfo.dateVoided
69
+ };
70
+ });
71
+ return (existingOrders = _.filter(existingOrders, (order) => {
72
+ if (order.voided === true || order.dateVoided) {
73
+ return false;
74
+ }
75
+ else {
76
+ return true;
77
+ }
78
+ }));
79
+ }
80
+ else {
81
+ return;
82
+ }
83
+ }
84
+ _setOrderValues(node, existingOrders) {
85
+ this._findTestOrderQuestionNodes(node);
86
+ const orderNodes = this.formOrderNodes;
87
+ for (const orderNode of orderNodes) {
88
+ this._setOrderNodeValues(orderNode, existingOrders);
89
+ }
90
+ }
91
+ _addDeletedOrdersToPayload(deletedOrders, payload) {
92
+ for (const order in deletedOrders) {
93
+ if (deletedOrders.hasOwnProperty(order)) {
94
+ payload.push({ uuid: deletedOrders[order], voided: true });
95
+ }
96
+ }
97
+ return payload;
98
+ }
99
+ _createPayloadOrder(orderConcept, quesitonExtras) {
100
+ const order = {
101
+ concept: '',
102
+ type: '',
103
+ orderer: '',
104
+ careSetting: ''
105
+ };
106
+ order.concept = orderConcept;
107
+ order.type = quesitonExtras.questionOptions.orderType;
108
+ order.orderer = this.provider;
109
+ order.careSetting = quesitonExtras.questionOptions.orderSettingUuid;
110
+ // delete orderer if provider not provided
111
+ if (order.orderer === '') {
112
+ delete order.orderer;
113
+ }
114
+ return order;
115
+ }
116
+ _getDeletedOrders(selectedOrders, existingOrders) {
117
+ const deleteOrders = [];
118
+ if (selectedOrders) {
119
+ for (const order in existingOrders) {
120
+ if (existingOrders.hasOwnProperty(order)) {
121
+ const existingOrderConcept = existingOrders[order].concept;
122
+ const selectedOrder = selectedOrders[existingOrderConcept];
123
+ if (selectedOrder !== existingOrderConcept) {
124
+ deleteOrders.push(existingOrders[order].orderUuid);
125
+ }
126
+ }
127
+ }
128
+ }
129
+ // console.log('Deleted Orders ', deleteOrders);
130
+ return deleteOrders;
131
+ }
132
+ _setOrderNodeValues(node, orders) {
133
+ let index = 0;
134
+ node['initialValue'] = orders;
135
+ for (const order of orders) {
136
+ node.createChildNode();
137
+ const value = {};
138
+ value[node.question.key] = order.concept;
139
+ const childNode = node.children[index];
140
+ childNode.control.setValue(value);
141
+ childNode['initialValue'] = value;
142
+ childNode['orderNumber'] = order.orderNumber;
143
+ // console.log('Set Value', node.children[index].control.value, node, childNode);
144
+ index++;
145
+ }
146
+ }
147
+ _findTestOrderQuestionNodes(formNode) {
148
+ if (formNode.children) {
149
+ if (formNode.children instanceof Object) {
150
+ for (const key in formNode.children) {
151
+ if (formNode.children.hasOwnProperty(key)) {
152
+ switch (formNode.children[key].question.renderingType) {
153
+ case 'page':
154
+ this._findTestOrderQuestionNodes(formNode.children[key]);
155
+ break;
156
+ case 'section':
157
+ this._findTestOrderQuestionNodes(formNode.children[key]);
158
+ break;
159
+ case 'group':
160
+ this._findTestOrderQuestionNodes(formNode.children[key]);
161
+ break;
162
+ case 'repeating':
163
+ if (formNode.children) {
164
+ // tslint:disable-next-line:forin
165
+ for (const node in formNode.children) {
166
+ const question = formNode.children[node].question;
167
+ if (question.extras &&
168
+ question.extras.type === 'testOrder') {
169
+ this.formOrderNodes.push(formNode.children[node]);
170
+ }
171
+ }
172
+ }
173
+ break;
174
+ default:
175
+ break;
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
182
+ }
183
+ OrderValueAdapter.decorators = [
184
+ { type: Injectable },
185
+ ];
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXIuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS92YWx1ZS1hZGFwdGVycy9vcmRlci5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTTtJQUROO1FBRUUsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDWixhQUFRLEdBQUcsRUFBRSxDQUFDO0lBd014QixDQUFDO0lBdE1DLG1CQUFtQixDQUFDLElBQVU7UUFDNUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxZQUFZLENBQUMsSUFBVSxFQUFFLE9BQU87UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxJQUFVO1FBQ2xDLEVBQUUsQ0FBQyxDQUFDLElB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USxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7d0NBQ3BELENBQUM7b0NBQ0gsQ0FBQztnQ0FDSCxDQUFDO2dDQUNELEtBQUssQ0FBQzs0QkFDUjtnQ0FDRSxLQUFLLENBQUM7d0JBQ1YsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7OztZQTFNRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uL2Zvcm0tZmFjdG9yeS9mb3JtJztcbmltcG9ydCB7IFZhbHVlQWRhcHRlciB9IGZyb20gJy4vdmFsdWUuYWRhcHRlcic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3JkZXJWYWx1ZUFkYXB0ZXIgaW1wbGVtZW50cyBWYWx1ZUFkYXB0ZXIge1xuICBmb3JtT3JkZXJOb2RlcyA9IFtdO1xuICBwcml2YXRlIHByb3ZpZGVyID0gJyc7XG5cbiAgZ2VuZXJhdGVGb3JtUGF5bG9hZChmb3JtOiBGb3JtKSB7XG4gICAgdGhpcy5mb3JtT3JkZXJOb2RlcyA9IFtdO1xuICAgIHRoaXMuX3NldE9yZGVyUHJvdmlkZXIoZm9ybSk7XG4gICAgdGhpcy5fZmluZFRlc3RPcmRlclF1ZXN0aW9uTm9kZXMoZm9ybS5yb290Tm9kZSk7XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZU9yZGVyc1BheWxvYWQodGhpcy5mb3JtT3JkZXJOb2RlcywgZm9ybSk7XG4gIH1cblxuICBwb3B1bGF0ZUZvcm0oZm9ybTogRm9ybSwgcGF5bG9hZCkge1xuICAgIGZvcm0uZXhpc3RpbmdPcmRlcnMgPSBwYXlsb2FkO1xuICAgIHRoaXMuZm9ybU9yZGVyTm9kZXMgPSBbXTtcbiAgICB0aGlzLl9maW5kVGVzdE9yZGVyUXVlc3Rpb25Ob2Rlcyhmb3JtLnJvb3ROb2RlKTtcbiAgICBjb25zdCBleGlzdGluZ09yZGVycyA9IHRoaXMuX2dldEV4aXN0aW5nT3JkZXJzKGZvcm0pO1xuICAgIHRoaXMuX3NldE9yZGVyVmFsdWVzKHRoaXMuZm9ybU9yZGVyTm9kZXMsIGV4aXN0aW5nT3JkZXJzKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE9yZGVyUHJvdmlkZXIoZm9ybTogRm9ybSkge1xuICAgIGlmIChmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8ucHJvdmlkZXJVdWlkKSB7XG4gICAgICB0aGlzLnByb3ZpZGVyID0gZm9ybS52YWx1ZVByb2Nlc3NpbmdJbmZvLnByb3ZpZGVyVXVpZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVPcmRlcnNQYXlsb2FkKG9yZGVyTm9kZXMsIGZvcm06IEZvcm0pIHtcbiAgICBjb25zdCBwYXlsb2FkID0gW107XG4gICAgY29uc3Qgc2VsZWN0ZWRPcmRlcnMgPSBbXTtcbiAgICBsZXQgZGVsZXRlZE9yZGVycyA9IFtdO1xuICAgIGNvbnN0IGV4aXN0aW5nT3JkZXJzID0gdGhpcy5fZ2V0RXhpc3RpbmdPcmRlcnMoZm9ybSk7XG4gICAgZm9yIChjb25zdCBvcmRlck5vZGUgb2Ygb3JkZXJOb2Rlcykge1xuICAgICAgY29uc3Qgb3JkZXJOb2RlVmFsdWVzID0gb3JkZXJOb2RlLmNvbnRyb2wudmFsdWU7XG4gICAgICBjb25zdCBvcmRlcnMgPSBbXTtcbiAgICAgIGlmIChleGlzdGluZ09yZGVycykge1xuICAgICAgICBleGlzdGluZ09yZGVycy5tYXAoZnVuY3Rpb24gKG9iaikge1xuICAgICAgICAgIG9yZGVyc1tvYmouY29uY2VwdF0gPSBvYmouY29uY2VwdDtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3Qgb3JkZXIgaW4gb3JkZXJOb2RlVmFsdWVzKSB7XG4gICAgICAgIGlmIChvcmRlck5vZGVWYWx1ZXMuaGFzT3duUHJvcGVydHkob3JkZXIpKSB7XG4gICAgICAgICAgY29uc3Qgb3JkZXJWYWx1ZSA9IG9yZGVyTm9kZVZhbHVlc1tvcmRlcl1bb3JkZXJOb2RlLnF1ZXN0aW9uLmtleV07XG5cbiAgICAgICAgICBjb25zdCBwYXlsb2FkT3JkZXIgPSB0aGlzLl9jcmVhdGVQYXlsb2FkT3JkZXIoXG4gICAgICAgICAgICBvcmRlclZhbHVlLFxuICAgICAgICAgICAgb3JkZXJOb2RlLnF1ZXN0aW9uLmV4dHJhc1xuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBvcmRlcnNbb3JkZXJWYWx1ZV0gIT09IG9yZGVyVmFsdWUgJiZcbiAgICAgICAgICAgIHBheWxvYWRPcmRlci5jb25jZXB0ICE9PSAnJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgcGF5bG9hZC5wdXNoKHBheWxvYWRPcmRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNlbGVjdGVkT3JkZXJzW29yZGVyVmFsdWVdID0gb3JkZXJWYWx1ZTtcbiAgICAgICAgICBpZiAocGF5bG9hZE9yZGVyLm9yZGVyTnVtYmVyID09PSAnJykge1xuICAgICAgICAgICAgZGVsZXRlIHBheWxvYWRPcmRlci5vcmRlck51bWJlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHBheWxvYWRPcmRlci51dWlkID09PSAnJykge1xuICAgICAgICAgICAgZGVsZXRlIHBheWxvYWRPcmRlci51dWlkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRlbGV0ZWRPcmRlcnMgPSB0aGlzLl9nZXREZWxldGVkT3JkZXJzKHNlbGVjdGVkT3JkZXJzLCBleGlzdGluZ09yZGVycyk7XG4gICAgcmV0dXJuIHRoaXMuX2FkZERlbGV0ZWRPcmRlcnNUb1BheWxvYWQoZGVsZXRlZE9yZGVycywgcGF5bG9hZCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFeGlzdGluZ09yZGVycyhmb3JtOiBGb3JtKSB7XG4gICAgaWYgKGZvcm0uZXhpc3RpbmdPcmRlcnMgJiYgZm9ybS5leGlzdGluZ09yZGVycy5vcmRlcnMpIHtcbiAgICAgIGxldCBleGlzdGluZ09yZGVycyA9IGZvcm0uZXhpc3RpbmdPcmRlcnMub3JkZXJzLm1hcCgobykgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbmNlcHQ6IG8uY29uY2VwdC51dWlkLFxuICAgICAgICAgIG9yZGVyTnVtYmVyOiBvLm9yZGVyTnVtYmVyLFxuICAgICAgICAgIG9yZGVyVXVpZDogby51dWlkLFxuICAgICAgICAgIHZvaWRlZDogby52b2lkZWQsXG4gICAgICAgICAgZGF0ZVZvaWRlZDogby5hdWRpdEluZm8uZGF0ZVZvaWRlZFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiAoZXhpc3RpbmdPcmRlcnMgPSBfLmZpbHRlcihleGlzdGluZ09yZGVycywgKG9yZGVyOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKG9yZGVyLnZvaWRlZCA9PT0gdHJ1ZSB8fCBvcmRlci5kYXRlVm9pZGVkKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRPcmRlclZhbHVlcyhub2RlLCBleGlzdGluZ09yZGVycykge1xuICAgIHRoaXMuX2ZpbmRUZXN0T3JkZXJRdWVzdGlvbk5vZGVzKG5vZGUpO1xuXG4gICAgY29uc3Qgb3JkZXJOb2RlcyA9IHRoaXMuZm9ybU9yZGVyTm9kZXM7XG4gICAgZm9yIChjb25zdCBvcmRlck5vZGUgb2Ygb3JkZXJOb2Rlcykge1xuICAgICAgdGhpcy5fc2V0T3JkZXJOb2RlVmFsdWVzKG9yZGVyTm9kZSwgZXhpc3RpbmdPcmRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FkZERlbGV0ZWRPcmRlcnNUb1BheWxvYWQoZGVsZXRlZE9yZGVycywgcGF5bG9hZCk6IGFueSB7XG4gICAgZm9yIChjb25zdCBvcmRlciBpbiBkZWxldGVkT3JkZXJzKSB7XG4gICAgICBpZiAoZGVsZXRlZE9yZGVycy5oYXNPd25Qcm9wZXJ0eShvcmRlcikpIHtcbiAgICAgICAgcGF5bG9hZC5wdXNoKHsgdXVpZDogZGVsZXRlZE9yZGVyc1tvcmRlcl0sIHZvaWRlZDogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVQYXlsb2FkT3JkZXIob3JkZXJDb25jZXB0LCBxdWVzaXRvbkV4dHJhcyk6IGFueSB7XG4gICAgY29uc3Qgb3JkZXIgPSB7XG4gICAgICBjb25jZXB0OiAnJyxcbiAgICAgIHR5cGU6ICcnLFxuICAgICAgb3JkZXJlcjogJycsXG4gICAgICBjYXJlU2V0dGluZzogJydcbiAgICB9O1xuICAgIG9yZGVyLmNvbmNlcHQgPSBvcmRlckNvbmNlcHQ7XG4gICAgb3JkZXIudHlwZSA9IHF1ZXNpdG9uRXh0cmFzLnF1ZXN0aW9uT3B0aW9ucy5vcmRlclR5cGU7XG4gICAgb3JkZXIub3JkZXJlciA9IHRoaXMucHJvdmlkZXI7XG4gICAgb3JkZXIuY2FyZVNldHRpbmcgPSBxdWVzaXRvbkV4dHJhcy5xdWVzdGlvbk9wdGlvbnMub3JkZXJTZXR0aW5nVXVpZDtcblxuICAgIC8vIGRlbGV0ZSBvcmRlcmVyIGlmIHByb3ZpZGVyIG5vdCBwcm92aWRlZFxuICAgIGlmIChvcmRlci5vcmRlcmVyID09PSAnJykge1xuICAgICAgZGVsZXRlIG9yZGVyLm9yZGVyZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9yZGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGVsZXRlZE9yZGVycyhzZWxlY3RlZE9yZGVycywgZXhpc3RpbmdPcmRlcnMpOiBhbnkge1xuICAgIGNvbnN0IGRlbGV0ZU9yZGVycyA9IFtdO1xuICAgIGlmIChzZWxlY3RlZE9yZGVycykge1xuICAgICAgZm9yIChjb25zdCBvcmRlciBpbiBleGlzdGluZ09yZGVycykge1xuICAgICAgICBpZiAoZXhpc3RpbmdPcmRlcnMuaGFzT3duUHJvcGVydHkob3JkZXIpKSB7XG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdPcmRlckNvbmNlcHQgPSBleGlzdGluZ09yZGVyc1tvcmRlcl0uY29uY2VwdDtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZE9yZGVyID0gc2VsZWN0ZWRPcmRlcnNbZXhpc3RpbmdPcmRlckNvbmNlcHRdO1xuICAgICAgICAgIGlmIChzZWxlY3RlZE9yZGVyICE9PSBleGlzdGluZ09yZGVyQ29uY2VwdCkge1xuICAgICAgICAgICAgZGVsZXRlT3JkZXJzLnB1c2goZXhpc3RpbmdPcmRlcnNbb3JkZXJdLm9yZGVyVXVpZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGNvbnNvbGUubG9nKCdEZWxldGVkIE9yZGVycyAnLCBkZWxldGVPcmRlcnMpO1xuICAgIHJldHVybiBkZWxldGVPcmRlcnM7XG4gIH1cblxuICBwcml2YXRlIF9zZXRPcmRlck5vZGVWYWx1ZXMobm9kZSwgb3JkZXJzKSB7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBub2RlWydpbml0aWFsVmFsdWUnXSA9IG9yZGVycztcbiAgICBmb3IgKGNvbnN0IG9yZGVyIG9mIG9yZGVycykge1xuICAgICAgbm9kZS5jcmVhdGVDaGlsZE5vZGUoKTtcbiAgICAgIGNvbnN0IHZhbHVlID0ge307XG4gICAgICB2YWx1ZVtub2RlLnF1ZXN0aW9uLmtleV0gPSBvcmRlci5jb25jZXB0O1xuICAgICAgY29uc3QgY2hpbGROb2RlID0gbm9kZS5jaGlsZHJlbltpbmRleF07XG4gICAgICBjaGlsZE5vZGUuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICBjaGlsZE5vZGVbJ2luaXRpYWxWYWx1ZSddID0gdmFsdWU7XG4gICAgICBjaGlsZE5vZGVbJ29yZGVyTnVtYmVyJ10gPSBvcmRlci5vcmRlck51bWJlcjtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdTZXQgVmFsdWUnLCBub2RlLmNoaWxkcmVuW2luZGV4XS5jb250cm9sLnZhbHVlLCBub2RlLCBjaGlsZE5vZGUpO1xuICAgICAgaW5kZXgrKztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maW5kVGVzdE9yZGVyUXVlc3Rpb25Ob2Rlcyhmb3JtTm9kZSkge1xuICAgIGlmIChmb3JtTm9kZS5jaGlsZHJlbikge1xuICAgICAgaWYgKGZvcm1Ob2RlLmNoaWxkcmVuIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGZvcm1Ob2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKGZvcm1Ob2RlLmNoaWxkcmVuLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZm9ybU5vZGUuY2hpbGRyZW5ba2V5XS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3BhZ2UnOlxuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbmRUZXN0T3JkZXJRdWVzdGlvbk5vZGVzKGZvcm1Ob2RlLmNoaWxkcmVuW2tleV0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdzZWN0aW9uJzpcbiAgICAgICAgICAgICAgICB0aGlzLl9maW5kVGVzdE9yZGVyUXVlc3Rpb25Ob2Rlcyhmb3JtTm9kZS5jaGlsZHJlbltrZXldKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnZ3JvdXAnOlxuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbmRUZXN0T3JkZXJRdWVzdGlvbk5vZGVzKGZvcm1Ob2RlLmNoaWxkcmVuW2tleV0pO1xuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ3JlcGVhdGluZyc6XG4gICAgICAgICAgICAgICAgaWYgKGZvcm1Ob2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Zm9yaW5cbiAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgbm9kZSBpbiBmb3JtTm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBxdWVzdGlvbiA9IGZvcm1Ob2RlLmNoaWxkcmVuW25vZGVdLnF1ZXN0aW9uO1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb24uZXh0cmFzICYmXG4gICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb24uZXh0cmFzLnR5cGUgPT09ICd0ZXN0T3JkZXInXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybU9yZGVyTm9kZXMucHVzaChmb3JtTm9kZS5jaGlsZHJlbltub2RlXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,87 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NodeBase, GroupNode, ArrayNode } from '../form-factory/form-node';
3
+ export class PersonAttribuAdapter {
4
+ constructor() { }
5
+ generateFormPayload(form) {
6
+ return this.generateNodePayload(form.rootNode);
7
+ }
8
+ generateNodePayload(rootNode) {
9
+ const nodes = this.getPersonAttributeNodes(rootNode);
10
+ const payload = [];
11
+ nodes.forEach((node) => {
12
+ if (node.control.value !== null &&
13
+ node.control.value !== undefined &&
14
+ node.control.value !== '' &&
15
+ node.initialValue !== node.control.value) {
16
+ if (node.question.extras.questionOptions.isSimpleValue === true) {
17
+ payload.push({
18
+ attributeType: node.question.extras.questionOptions.attributeType,
19
+ value: node.control.value
20
+ });
21
+ }
22
+ else {
23
+ payload.push({
24
+ attributeType: node.question.extras.questionOptions.attributeType,
25
+ hydratedObject: node.control.value
26
+ });
27
+ }
28
+ }
29
+ });
30
+ return payload;
31
+ }
32
+ populateForm(form, payload) {
33
+ this.populateNode(form.rootNode, payload);
34
+ }
35
+ populateNode(rootNode, payload) {
36
+ if (!Array.isArray(payload)) {
37
+ throw new Error('Expected an array of attributes');
38
+ }
39
+ const nodes = this.getPersonAttributeNodes(rootNode);
40
+ nodes.forEach((node) => {
41
+ payload.forEach((element) => {
42
+ if (element.attributeType.uuid ===
43
+ node.question.extras.questionOptions.attributeType) {
44
+ if (element.value.uuid) {
45
+ node.control.setValue(element.value.uuid);
46
+ node.initialValue = element.value.uuid;
47
+ }
48
+ else {
49
+ node.control.setValue(element.value);
50
+ node.initialValue = element.value;
51
+ }
52
+ }
53
+ });
54
+ });
55
+ }
56
+ getPersonAttributeNodes(rootNode) {
57
+ const results = [];
58
+ this._getPersonAttributesNodes(rootNode, results);
59
+ return results;
60
+ }
61
+ _getPersonAttributesNodes(rootNode, array) {
62
+ if (rootNode.question.extras &&
63
+ rootNode.question.extras.type === 'personAttribute') {
64
+ array.push(rootNode);
65
+ }
66
+ if (rootNode instanceof GroupNode) {
67
+ const node = rootNode;
68
+ // tslint:disable-next-line:forin
69
+ for (const o in node.children) {
70
+ if (node.children[o] instanceof NodeBase) {
71
+ this._getPersonAttributesNodes(node.children[o], array);
72
+ }
73
+ }
74
+ }
75
+ if (rootNode instanceof ArrayNode) {
76
+ const node = rootNode;
77
+ node.children.forEach((child) => {
78
+ this._getPersonAttributesNodes(child, array);
79
+ });
80
+ }
81
+ }
82
+ }
83
+ PersonAttribuAdapter.decorators = [
84
+ { type: Injectable },
85
+ ];
86
+ PersonAttribuAdapter.ctorParameters = () => [];
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLWF0dHJpYnV0ZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L3ZhbHVlLWFkYXB0ZXJzL3BlcnNvbi1hdHRyaWJ1dGUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSzNFLE1BQU07SUFDSixnQkFBZSxDQUFDO0lBRWhCLG1CQUFtQixDQUFDLElBQVU7UUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQWtCO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLEVBQUUsQ0FBQyxDQUNELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUk7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVM7Z0JBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUNyQyxDQUFDLENBQUMsQ0FBQztnQkFDRCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ2hFLE9BQU8sQ0FBQyxJQUFJLENBQUM7d0JBQ1gsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxhQUFhO3dCQUNqRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO3FCQUMxQixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDO3dCQUNYLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYTt3QkFDakUsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztxQkFDbkMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBVSxFQUFFLE9BQU87UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBa0IsRUFBRSxPQUFPO1FBQ3RDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDMUIsRUFBRSxDQUFDLENBQ0QsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJO29CQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFDdkMsQ0FBQyxDQUFDLENBQUM7b0JBQ0QsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUN6QyxDQUFDO29CQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUNwQyxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQWtCO1FBQ3hDLE1BQU0sT0FBTyxHQUFvQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyx5QkFBeUIsQ0FDL0IsUUFBa0IsRUFDbEIsS0FBc0I7UUFFdEIsRUFBRSxDQUFDLENBQ0QsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ3hCLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxpQkFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxFQUFFLENBQUMsQ0FBQyxRQUFRLFlBQVksU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNsQyxNQUFNLElBQUksR0FBRyxRQUFxQixDQUFDO1lBQ25DLGlDQUFpQztZQUNqQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDOUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUN6QyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDMUQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsRUFBRSxDQUFDLENBQUMsUUFBUSxZQUFZLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsTUFBTSxJQUFJLEdBQUcsUUFBcUIsQ0FBQztZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUM5QixJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7OztZQWhHRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb2RlQmFzZSwgR3JvdXBOb2RlLCBBcnJheU5vZGUgfSBmcm9tICcuLi9mb3JtLWZhY3RvcnkvZm9ybS1ub2RlJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuLi9mb3JtLWZhY3RvcnkvZm9ybSc7XG5pbXBvcnQgeyBWYWx1ZUFkYXB0ZXIgfSBmcm9tICcuL3ZhbHVlLmFkYXB0ZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVyc29uQXR0cmlidUFkYXB0ZXIgaW1wbGVtZW50cyBWYWx1ZUFkYXB0ZXIge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2VuZXJhdGVGb3JtUGF5bG9hZChmb3JtOiBGb3JtKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVOb2RlUGF5bG9hZChmb3JtLnJvb3ROb2RlKTtcbiAgfVxuXG4gIGdlbmVyYXRlTm9kZVBheWxvYWQocm9vdE5vZGU6IE5vZGVCYXNlKSB7XG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmdldFBlcnNvbkF0dHJpYnV0ZU5vZGVzKHJvb3ROb2RlKTtcbiAgICBjb25zdCBwYXlsb2FkID0gW107XG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBub2RlLmNvbnRyb2wudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgbm9kZS5jb250cm9sLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgbm9kZS5jb250cm9sLnZhbHVlICE9PSAnJyAmJlxuICAgICAgICBub2RlLmluaXRpYWxWYWx1ZSAhPT0gbm9kZS5jb250cm9sLnZhbHVlXG4gICAgICApIHtcbiAgICAgICAgaWYgKG5vZGUucXVlc3Rpb24uZXh0cmFzLnF1ZXN0aW9uT3B0aW9ucy5pc1NpbXBsZVZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgICAgcGF5bG9hZC5wdXNoKHtcbiAgICAgICAgICAgIGF0dHJpYnV0ZVR5cGU6IG5vZGUucXVlc3Rpb24uZXh0cmFzLnF1ZXN0aW9uT3B0aW9ucy5hdHRyaWJ1dGVUeXBlLFxuICAgICAgICAgICAgdmFsdWU6IG5vZGUuY29udHJvbC52YWx1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBheWxvYWQucHVzaCh7XG4gICAgICAgICAgICBhdHRyaWJ1dGVUeXBlOiBub2RlLnF1ZXN0aW9uLmV4dHJhcy5xdWVzdGlvbk9wdGlvbnMuYXR0cmlidXRlVHlwZSxcbiAgICAgICAgICAgIGh5ZHJhdGVkT2JqZWN0OiBub2RlLmNvbnRyb2wudmFsdWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwYXlsb2FkO1xuICB9XG5cbiAgcG9wdWxhdGVGb3JtKGZvcm06IEZvcm0sIHBheWxvYWQpIHtcbiAgICB0aGlzLnBvcHVsYXRlTm9kZShmb3JtLnJvb3ROb2RlLCBwYXlsb2FkKTtcbiAgfVxuXG4gIHBvcHVsYXRlTm9kZShyb290Tm9kZTogTm9kZUJhc2UsIHBheWxvYWQpIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGF5bG9hZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgYW4gYXJyYXkgb2YgYXR0cmlidXRlcycpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5nZXRQZXJzb25BdHRyaWJ1dGVOb2Rlcyhyb290Tm9kZSk7XG5cbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBwYXlsb2FkLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGVsZW1lbnQuYXR0cmlidXRlVHlwZS51dWlkID09PVxuICAgICAgICAgIG5vZGUucXVlc3Rpb24uZXh0cmFzLnF1ZXN0aW9uT3B0aW9ucy5hdHRyaWJ1dGVUeXBlXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChlbGVtZW50LnZhbHVlLnV1aWQpIHtcbiAgICAgICAgICAgIG5vZGUuY29udHJvbC5zZXRWYWx1ZShlbGVtZW50LnZhbHVlLnV1aWQpO1xuICAgICAgICAgICAgbm9kZS5pbml0aWFsVmFsdWUgPSBlbGVtZW50LnZhbHVlLnV1aWQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5vZGUuY29udHJvbC5zZXRWYWx1ZShlbGVtZW50LnZhbHVlKTtcbiAgICAgICAgICAgIG5vZGUuaW5pdGlhbFZhbHVlID0gZWxlbWVudC52YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGVyc29uQXR0cmlidXRlTm9kZXMocm9vdE5vZGU6IE5vZGVCYXNlKTogQXJyYXk8Tm9kZUJhc2U+IHtcbiAgICBjb25zdCByZXN1bHRzOiBBcnJheTxOb2RlQmFzZT4gPSBbXTtcbiAgICB0aGlzLl9nZXRQZXJzb25BdHRyaWJ1dGVzTm9kZXMocm9vdE5vZGUsIHJlc3VsdHMpO1xuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0UGVyc29uQXR0cmlidXRlc05vZGVzKFxuICAgIHJvb3ROb2RlOiBOb2RlQmFzZSxcbiAgICBhcnJheTogQXJyYXk8Tm9kZUJhc2U+XG4gICkge1xuICAgIGlmIChcbiAgICAgIHJvb3ROb2RlLnF1ZXN0aW9uLmV4dHJhcyAmJlxuICAgICAgcm9vdE5vZGUucXVlc3Rpb24uZXh0cmFzLnR5cGUgPT09ICdwZXJzb25BdHRyaWJ1dGUnXG4gICAgKSB7XG4gICAgICBhcnJheS5wdXNoKHJvb3ROb2RlKTtcbiAgICB9XG5cbiAgICBpZiAocm9vdE5vZGUgaW5zdGFuY2VvZiBHcm91cE5vZGUpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSByb290Tm9kZSBhcyBHcm91cE5vZGU7XG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Zm9yaW5cbiAgICAgIGZvciAoY29uc3QgbyBpbiBub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuW29dIGluc3RhbmNlb2YgTm9kZUJhc2UpIHtcbiAgICAgICAgICB0aGlzLl9nZXRQZXJzb25BdHRyaWJ1dGVzTm9kZXMobm9kZS5jaGlsZHJlbltvXSwgYXJyYXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgQXJyYXlOb2RlKSB7XG4gICAgICBjb25zdCBub2RlID0gcm9vdE5vZGUgYXMgQXJyYXlOb2RlO1xuICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICB0aGlzLl9nZXRQZXJzb25BdHRyaWJ1dGVzTm9kZXMoY2hpbGQsIGFycmF5KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS92YWx1ZS1hZGFwdGVycy92YWx1ZS5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi4vZm9ybS1mYWN0b3J5L2Zvcm0nO1xuZXhwb3J0IGludGVyZmFjZSBWYWx1ZUFkYXB0ZXIge1xuICBnZW5lcmF0ZUZvcm1QYXlsb2FkKGZvcm06IEZvcm0pOyAvLyBnZW5lcmF0ZXMgdGhlIG9yZGVycyBwYXlsb2FkXG4gIHBvcHVsYXRlRm9ybShmb3JtOiBGb3JtLCBwYXlsb2FkKTsgLy8gcG9wdWxhdGVzIHRoZSBmb3JtIHdpdGggb3JkZXJzXG59XG4iXX0=
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Public API Surface of ngx-formentry
3
+ */
4
+ export { FormEntryModule } from './form-entry/form-entry.module';
5
+ // export { DateTimePickerModule } from './components/date-time-picker/date-time-picker.module';
6
+ export { AfeFormControl } from './abstract-controls-extension/afe-form-control';
7
+ export { AfeFormGroup } from './abstract-controls-extension/afe-form-group';
8
+ export { AfeFormArray } from './abstract-controls-extension/afe-form-array';
9
+ export { AfeControlType } from './abstract-controls-extension/afe-control-type';
10
+ export { EncounterPdfViewerService } from './encounter-viewer/encounter-pdf-viewer.service';
11
+ export { ControlRelationsFactory } from './form-entry/form-factory/control-relations.factory';
12
+ export { FormControlService } from './form-entry/form-factory/form-control.service';
13
+ export { FormFactory } from './form-entry/form-factory/form.factory';
14
+ export { Form } from './form-entry/form-factory/form';
15
+ export { QuestionFactory } from './form-entry/form-factory/question.factory';
16
+ export { ValidationFactory } from './form-entry/form-factory/validation.factory';
17
+ export { FormSchemaCompiler } from './form-entry/services/form-schema-compiler.service';
18
+ export { HistoricalEncounterDataService } from './form-entry/services/historical-encounter-data.service';
19
+ export { FormErrorsService } from './form-entry/services/form-errors.service';
20
+ export { EncounterAdapter } from './form-entry/value-adapters/encounter.adapter';
21
+ export { PersonAttribuAdapter } from './form-entry/value-adapters/person-attribute.adapter';
22
+ export { OrderValueAdapter } from './form-entry/value-adapters/order.adapter';
23
+ export { ObsValueAdapter } from './form-entry/value-adapters/obs.adapter';
24
+ export { ObsAdapterHelper } from './form-entry/value-adapters/obs-adapter-helper';
25
+ export { DataSources } from './form-entry/data-sources/data-sources';
26
+ export { CheckBoxQuestion } from './form-entry/question-models/checkbox.model';
27
+ export { ConditionalValidationModel } from './form-entry/question-models/conditional-validation.model';
28
+ export { DateQuestion } from './form-entry/question-models/date-question';
29
+ export { DateValidationModel } from './form-entry/question-models/date-validation.model';
30
+ export { FileUploadQuestion } from './form-entry/question-models/file-upload-question';
31
+ export { QuestionGroup } from './form-entry/question-models/group-question';
32
+ export { JsExpressionValidationModel } from './form-entry/question-models/js-expression-validation.model';
33
+ export { MaxValidationModel } from './form-entry/question-models/max-validation.model';
34
+ export { MinValidationModel } from './form-entry/question-models/min-validation.model';
35
+ export { MultiSelectQuestion } from './form-entry/question-models/multi-select-question';
36
+ export { Pair } from './form-entry/question-models/pair.model';
37
+ export { QuestionBase } from './form-entry/question-models/question-base';
38
+ export { RenderingType } from './form-entry/question-models/rendering-type';
39
+ export { RepeatingQuestion } from './form-entry/question-models/repeating-question';
40
+ export { Option } from './form-entry/question-models/select-option';
41
+ export { SelectQuestion } from './form-entry/question-models/select-question';
42
+ export { TestOrderQuestion } from './form-entry/question-models/test-order-question';
43
+ export { TextAreaInputQuestion } from './form-entry/question-models/text-area-input-question';
44
+ export { TextInputQuestion } from './form-entry/question-models/text-input-question';
45
+ export { UiSelectQuestion } from './form-entry/question-models/ui-select-question';
46
+ export { ValidationModel } from './form-entry/question-models/validation.model';
47
+ export { NestedQuestion } from './form-entry/question-models/interfaces/nested-questions';
48
+ export { DateTimePickerModule } from './components/date-time-picker/date-time-picker.module';
49
+ export { NgxDateTimePickerModule } from './components/ngx-date-time-picker/ngx-date-time-picker.module';
50
+ export { JsExpressionHelper } from './form-entry/helpers/js-expression-helper';
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxnR0FBZ0c7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUVsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUloRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1mb3JtZW50cnlcbiAqL1xuZXhwb3J0IHsgRm9ybUVudHJ5TW9kdWxlIH0gZnJvbSAnLi9mb3JtLWVudHJ5L2Zvcm0tZW50cnkubW9kdWxlJztcbi8vIGV4cG9ydCB7IERhdGVUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0IHsgQWZlRm9ybUNvbnRyb2wgfSBmcm9tICcuL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1jb250cm9sJztcbmV4cG9ydCB7IEFmZUZvcm1Hcm91cCB9IGZyb20gJy4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1mb3JtLWdyb3VwJztcbmV4cG9ydCB7IEFmZUZvcm1BcnJheSB9IGZyb20gJy4vYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1mb3JtLWFycmF5JztcbmV4cG9ydCB7IEFmZUNvbnRyb2xUeXBlIH0gZnJvbSAnLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24vYWZlLWNvbnRyb2wtdHlwZSc7XG5leHBvcnQgeyBFbmNvdW50ZXJQZGZWaWV3ZXJTZXJ2aWNlIH0gZnJvbSAnLi9lbmNvdW50ZXItdmlld2VyL2VuY291bnRlci1wZGYtdmlld2VyLnNlcnZpY2UnO1xuZXhwb3J0IHsgQ29udHJvbFJlbGF0aW9uc0ZhY3RvcnkgfSBmcm9tICcuL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L2NvbnRyb2wtcmVsYXRpb25zLmZhY3RvcnknO1xuZXhwb3J0IHsgRm9ybUNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWVudHJ5L2Zvcm0tZmFjdG9yeS9mb3JtLWNvbnRyb2wuc2VydmljZSc7XG5leHBvcnQgeyBGb3JtRmFjdG9yeSB9IGZyb20gJy4vZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvZm9ybS5mYWN0b3J5JztcbmV4cG9ydCB7IEZvcm0gfSBmcm9tICcuL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L2Zvcm0nO1xuZXhwb3J0IHsgUXVlc3Rpb25GYWN0b3J5IH0gZnJvbSAnLi9mb3JtLWVudHJ5L2Zvcm0tZmFjdG9yeS9xdWVzdGlvbi5mYWN0b3J5JztcbmV4cG9ydCB7IFZhbGlkYXRpb25GYWN0b3J5IH0gZnJvbSAnLi9mb3JtLWVudHJ5L2Zvcm0tZmFjdG9yeS92YWxpZGF0aW9uLmZhY3RvcnknO1xuZXhwb3J0IHsgRm9ybVNjaGVtYUNvbXBpbGVyIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3NlcnZpY2VzL2Zvcm0tc2NoZW1hLWNvbXBpbGVyLnNlcnZpY2UnO1xuZXhwb3J0IHsgSGlzdG9yaWNhbEVuY291bnRlckRhdGFTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3NlcnZpY2VzL2hpc3RvcmljYWwtZW5jb3VudGVyLWRhdGEuc2VydmljZSc7XG5leHBvcnQgeyBGb3JtRXJyb3JzU2VydmljZSB9IGZyb20gJy4vZm9ybS1lbnRyeS9zZXJ2aWNlcy9mb3JtLWVycm9ycy5zZXJ2aWNlJztcbmV4cG9ydCB7IEVuY291bnRlckFkYXB0ZXIgfSBmcm9tICcuL2Zvcm0tZW50cnkvdmFsdWUtYWRhcHRlcnMvZW5jb3VudGVyLmFkYXB0ZXInO1xuZXhwb3J0IHsgUGVyc29uQXR0cmlidUFkYXB0ZXIgfSBmcm9tICcuL2Zvcm0tZW50cnkvdmFsdWUtYWRhcHRlcnMvcGVyc29uLWF0dHJpYnV0ZS5hZGFwdGVyJztcbmV4cG9ydCB7IE9yZGVyVmFsdWVBZGFwdGVyIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3ZhbHVlLWFkYXB0ZXJzL29yZGVyLmFkYXB0ZXInO1xuZXhwb3J0IHsgT2JzVmFsdWVBZGFwdGVyIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3ZhbHVlLWFkYXB0ZXJzL29icy5hZGFwdGVyJztcbmV4cG9ydCB7IE9ic0FkYXB0ZXJIZWxwZXIgfSBmcm9tICcuL2Zvcm0tZW50cnkvdmFsdWUtYWRhcHRlcnMvb2JzLWFkYXB0ZXItaGVscGVyJztcbmV4cG9ydCB7IFZhbHVlQWRhcHRlciB9IGZyb20gJy4vZm9ybS1lbnRyeS92YWx1ZS1hZGFwdGVycy92YWx1ZS5hZGFwdGVyJztcbmV4cG9ydCB7IERhdGFTb3VyY2VzIH0gZnJvbSAnLi9mb3JtLWVudHJ5L2RhdGEtc291cmNlcy9kYXRhLXNvdXJjZXMnO1xuZXhwb3J0IHsgQ2hlY2tCb3hRdWVzdGlvbiB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvY2hlY2tib3gubW9kZWwnO1xuZXhwb3J0IHsgQ29uZGl0aW9uYWxWYWxpZGF0aW9uTW9kZWwgfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2NvbmRpdGlvbmFsLXZhbGlkYXRpb24ubW9kZWwnO1xuZXhwb3J0IHsgRGF0ZVF1ZXN0aW9uIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9kYXRlLXF1ZXN0aW9uJztcbmV4cG9ydCB7IERhdGVWYWxpZGF0aW9uTW9kZWwgfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2RhdGUtdmFsaWRhdGlvbi5tb2RlbCc7XG5leHBvcnQgeyBGaWxlVXBsb2FkUXVlc3Rpb24gfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ZpbGUtdXBsb2FkLXF1ZXN0aW9uJztcbmV4cG9ydCB7IFF1ZXN0aW9uR3JvdXAgfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2dyb3VwLXF1ZXN0aW9uJztcbmV4cG9ydCB7IEpzRXhwcmVzc2lvblZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvanMtZXhwcmVzc2lvbi12YWxpZGF0aW9uLm1vZGVsJztcbmV4cG9ydCB7IE1heFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvbWF4LXZhbGlkYXRpb24ubW9kZWwnO1xuZXhwb3J0IHsgTWluVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9taW4tdmFsaWRhdGlvbi5tb2RlbCc7XG5leHBvcnQgeyBNdWx0aVNlbGVjdFF1ZXN0aW9uIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9tdWx0aS1zZWxlY3QtcXVlc3Rpb24nO1xuZXhwb3J0IHsgUGFpciB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvcGFpci5tb2RlbCc7XG5leHBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL3F1ZXN0aW9uLWJhc2UnO1xuZXhwb3J0IHsgUmVuZGVyaW5nVHlwZSB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvcmVuZGVyaW5nLXR5cGUnO1xuZXhwb3J0IHsgUmVwZWF0aW5nUXVlc3Rpb24gfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL3JlcGVhdGluZy1xdWVzdGlvbic7XG5leHBvcnQgeyBPcHRpb24gfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL3NlbGVjdC1vcHRpb24nO1xuZXhwb3J0IHsgU2VsZWN0UXVlc3Rpb24gfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL3NlbGVjdC1xdWVzdGlvbic7XG5leHBvcnQgeyBUZXN0T3JkZXJRdWVzdGlvbiB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvdGVzdC1vcmRlci1xdWVzdGlvbic7XG5leHBvcnQgeyBUZXh0QXJlYUlucHV0UXVlc3Rpb24gfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL3RleHQtYXJlYS1pbnB1dC1xdWVzdGlvbic7XG5leHBvcnQgeyBUZXh0SW5wdXRRdWVzdGlvbiB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvdGV4dC1pbnB1dC1xdWVzdGlvbic7XG5leHBvcnQgeyBVaVNlbGVjdFF1ZXN0aW9uIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy91aS1zZWxlY3QtcXVlc3Rpb24nO1xuZXhwb3J0IHsgVmFsaWRhdGlvbk1vZGVsIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy92YWxpZGF0aW9uLm1vZGVsJztcbmV4cG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL2Jhc2Utb3B0aW9ucyc7XG5leHBvcnQgeyBSZXBlYXRpbmdRdWVzdGlvbk9wdGlvbnMgfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvcmVwZWF0aW5nLXF1ZXN0aW9uLW9wdGlvbnMnO1xuZXhwb3J0IHsgR3JvdXBRdWVzdGlvbk9wdGlvbnMgfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvZ3JvdXAtcXVlc3Rpb24tb3B0aW9ucyc7XG5leHBvcnQgeyBOZXN0ZWRRdWVzdGlvbiB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9uZXN0ZWQtcXVlc3Rpb25zJztcbmV4cG9ydCB7IERhdGVUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0IHsgTmd4RGF0ZVRpbWVQaWNrZXJNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LWRhdGUtdGltZS1waWNrZXIvbmd4LWRhdGUtdGltZS1waWNrZXIubW9kdWxlJztcbmV4cG9ydCB7IEpzRXhwcmVzc2lvbkhlbHBlciB9IGZyb20gJy4vZm9ybS1lbnRyeS9oZWxwZXJzL2pzLWV4cHJlc3Npb24taGVscGVyJztcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { SecurePipe } from './components/file-upload/secure.pipe';
4
+ import { DataSources } from './form-entry/data-sources/data-sources';
5
+ export class SharedModule {
6
+ }
7
+ SharedModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ declarations: [SecurePipe],
10
+ imports: [CommonModule],
11
+ exports: [SecurePipe],
12
+ providers: [DataSources]
13
+ },] },
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsic2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBT3JFLE1BQU07OztZQU5MLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNyQixTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUM7YUFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNlY3VyZVBpcGUgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvc2VjdXJlLnBpcGUnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZXMgfSBmcm9tICcuL2Zvcm0tZW50cnkvZGF0YS1zb3VyY2VzL2RhdGEtc291cmNlcyc7XG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTZWN1cmVQaXBlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtTZWN1cmVQaXBlXSxcbiAgcHJvdmlkZXJzOiBbRGF0YVNvdXJjZXNdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,8 @@
1
+ export var AfeControlType;
2
+ (function (AfeControlType) {
3
+ AfeControlType[AfeControlType["AfeFormControl"] = 0] = "AfeFormControl";
4
+ AfeControlType[AfeControlType["AfeFormArray"] = 1] = "AfeFormArray";
5
+ AfeControlType[AfeControlType["AfeFormGroup"] = 2] = "AfeFormGroup";
6
+ AfeControlType[AfeControlType["None"] = 3] = "None";
7
+ })(AfeControlType || (AfeControlType = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZlLWNvbnRyb2wtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2FmZS1jb250cm9sLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4Qix1RUFBYyxDQUFBO0lBQ2QsbUVBQVksQ0FBQTtJQUNaLG1FQUFZLENBQUE7SUFDWixtREFBSSxDQUFBO0FBQ04sQ0FBQyxFQUxXLGNBQWMsS0FBZCxjQUFjLFFBS3pCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQWZlQ29udHJvbFR5cGUge1xuICBBZmVGb3JtQ29udHJvbCxcbiAgQWZlRm9ybUFycmF5LFxuICBBZmVGb3JtR3JvdXAsXG4gIE5vbmVcbn1cbiJdfQ==
@@ -0,0 +1,98 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { FormArray } from '@angular/forms';
3
+ import { ControlRelations } from '../change-tracking/control-relations';
4
+ import { HiderHelper } from '../form-entry/control-hiders-disablers/hider-helpers';
5
+ import { AlertHelper } from '../form-entry/control-alerts/alert-helpers';
6
+ import { DisablerHelper } from '../form-entry/control-hiders-disablers/disabler-helper';
7
+ var AfeFormArray = /** @class */ (function (_super) {
8
+ tslib_1.__extends(AfeFormArray, _super);
9
+ function AfeFormArray(controls, validator, asyncValidator) {
10
+ var _this = _super.call(this, controls, validator, asyncValidator) || this;
11
+ _this.hiderHelper = new HiderHelper();
12
+ _this.AlertHelper = new AlertHelper();
13
+ _this.disablerHelper = new DisablerHelper();
14
+ _this._controlRelations = new ControlRelations(_this);
15
+ _this.hiders = [];
16
+ _this.alerts = [];
17
+ _this.disablers = [];
18
+ _this.valueChanges.subscribe(function (value) {
19
+ if (_this._previousValue !== value) {
20
+ _this.fireValueChangeListener(value);
21
+ _this._previousValue = value;
22
+ }
23
+ });
24
+ return _this;
25
+ }
26
+ Object.defineProperty(AfeFormArray.prototype, "uuid", {
27
+ get: function () {
28
+ return this._uuid;
29
+ },
30
+ set: function (val) {
31
+ this._uuid = val;
32
+ },
33
+ enumerable: true,
34
+ configurable: true
35
+ });
36
+ Object.defineProperty(AfeFormArray.prototype, "controlRelations", {
37
+ get: function () {
38
+ return this._controlRelations;
39
+ },
40
+ enumerable: true,
41
+ configurable: true
42
+ });
43
+ AfeFormArray.prototype.hide = function () {
44
+ this.hiderHelper.hideControl(this);
45
+ };
46
+ AfeFormArray.prototype.show = function () {
47
+ this.hiderHelper.showControl(this);
48
+ };
49
+ AfeFormArray.prototype.disable = function (param) {
50
+ _super.prototype.disable.call(this, param);
51
+ _super.prototype.setValue.call(this, []);
52
+ };
53
+ AfeFormArray.prototype.setHidingFn = function (newHider) {
54
+ this.hiderHelper.setHiderForControl(this, newHider);
55
+ };
56
+ AfeFormArray.prototype.clearHidingFns = function () {
57
+ this.hiderHelper.clearHidersForControl(this);
58
+ };
59
+ AfeFormArray.prototype.updateHiddenState = function () {
60
+ this.hiderHelper.evaluateControlHiders(this);
61
+ };
62
+ AfeFormArray.prototype.setDisablingFn = function (newDisabler) {
63
+ this.disablerHelper.setDisablerForControl(this, newDisabler);
64
+ };
65
+ AfeFormArray.prototype.clearDisablingFns = function () {
66
+ this.disablerHelper.clearDisablersForControl(this);
67
+ };
68
+ AfeFormArray.prototype.updateDisabledState = function () {
69
+ this.disablerHelper.evaluateControlDisablers(this);
70
+ };
71
+ AfeFormArray.prototype.setAlertFn = function (newHider) {
72
+ this.AlertHelper.setAlertsForControl(this, newHider);
73
+ };
74
+ AfeFormArray.prototype.clearMessageFns = function () {
75
+ this.AlertHelper.clearAlertsForControl(this);
76
+ };
77
+ AfeFormArray.prototype.updateAlert = function () {
78
+ this.AlertHelper.evaluateControlAlerts(this);
79
+ };
80
+ AfeFormArray.prototype.addValueChangeListener = function (func) {
81
+ this._valueChangeListener = func;
82
+ };
83
+ AfeFormArray.prototype.fireValueChangeListener = function (value) {
84
+ if (this.alerts.length > 0) {
85
+ this.updateAlert();
86
+ }
87
+ if (this._valueChangeListener &&
88
+ typeof this._valueChangeListener === 'function') {
89
+ this._valueChangeListener(value);
90
+ }
91
+ };
92
+ AfeFormArray.prototype.setValue = function (value) {
93
+ _super.prototype.setValue.call(this, value);
94
+ };
95
+ return AfeFormArray;
96
+ }(FormArray));
97
+ export { AfeFormArray };
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZlLWZvcm0tYXJyYXkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImFic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1hcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBY3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXhGO0lBQ1Usd0NBQVM7SUFvQmpCLHNCQUNFLFFBQTJCLEVBQzNCLFNBQXVCLEVBQ3ZCLGNBQWlDO1FBSG5DLFlBS0Usa0JBQU0sUUFBUSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsU0FZM0M7UUFyQk8saUJBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM3QyxpQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzdDLG9CQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFRNUQsS0FBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksZ0JBQWdCLENBQUMsS0FBSSxDQUFDLENBQUM7UUFDcEQsS0FBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsS0FBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsS0FBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFcEIsS0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBQyxLQUFLO1lBQ2hDLEVBQUUsQ0FBQyxDQUFDLEtBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztn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USxZQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDSCxtQkFBQztBQUFELENBQUMsQUF2SEQsQ0FDVSxTQUFTLEdBc0hsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZvcm1BcnJheSxcbiAgVmFsaWRhdG9yRm4sXG4gIEFzeW5jVmFsaWRhdG9yRm4sXG4gIEFic3RyYWN0Q29udHJvbFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENvbnRyb2xSZWxhdGlvbnMgfSBmcm9tICcuLi9jaGFuZ2UtdHJhY2tpbmcvY29udHJvbC1yZWxhdGlvbnMnO1xuaW1wb3J0IHsgVmFsdWVDaGFuZ2VMaXN0ZW5lciB9IGZyb20gJy4vdmFsdWUtY2hhbmdlLmxpc3RlbmVyJztcbmltcG9ydCB7XG4gIENhbkhpZGUsXG4gIEhpZGVyXG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1oaWRlJztcbmltcG9ydCB7XG4gIENhbkdlbmVyYXRlQWxlcnQsXG4gIEFsZXJ0XG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1hbGVydHMvY2FuLWdlbmVyYXRlLWFsZXJ0JztcbmltcG9ydCB7XG4gIENhbkRpc2FibGUsXG4gIERpc2FibGVyXG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1kaXNhYmxlJztcbmltcG9ydCB7IEhpZGVySGVscGVyIH0gZnJvbSAnLi4vZm9ybS1lbnRyeS9jb250cm9sLWhpZGVycy1kaXNhYmxlcnMvaGlkZXItaGVscGVycyc7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1hbGVydHMvYWxlcnQtaGVscGVycyc7XG5pbXBvcnQgeyBEaXNhYmxlckhlbHBlciB9IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Rpc2FibGVyLWhlbHBlcic7XG5cbmV4cG9ydCBjbGFzcyBBZmVGb3JtQXJyYXlcbiAgZXh0ZW5kcyBGb3JtQXJyYXlcbiAgaW1wbGVtZW50cyBDYW5IaWRlLCBDYW5EaXNhYmxlLCBDYW5HZW5lcmF0ZUFsZXJ0LCBWYWx1ZUNoYW5nZUxpc3RlbmVyIHtcbiAgcHJpdmF0ZSBfY29udHJvbFJlbGF0aW9uczogQ29udHJvbFJlbGF0aW9ucztcbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VMaXN0ZW5lcjogYW55O1xuICBwcml2YXRlIF9wcmV2aW91c1ZhbHVlO1xuICBwcml2YXRlIF91dWlkOiBzdHJpbmc7XG4gIHB1YmxpYyBwYXRoRnJvbVJvb3Q6IHN0cmluZztcblxuICBoaWRkZW46IGZhbHNlO1xuICBoaWRlcnM6IEhpZGVyW107XG5cbiAgYWxlcnQ6IHN0cmluZztcbiAgYWxlcnRzOiBBbGVydFtdO1xuXG4gIGRpc2FibGVyczogRGlzYWJsZXJbXTtcblxuICBwcml2YXRlIGhpZGVySGVscGVyOiBIaWRlckhlbHBlciA9IG5ldyBIaWRlckhlbHBlcigpO1xuICBwcml2YXRlIEFsZXJ0SGVscGVyOiBBbGVydEhlbHBlciA9IG5ldyBBbGVydEhlbHBlcigpO1xuICBwcml2YXRlIGRpc2FibGVySGVscGVyOiBEaXNhYmxlckhlbHBlciA9IG5ldyBEaXNhYmxlckhlbHBlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSxcbiAgICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbixcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm5cbiAgKSB7XG4gICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvciwgYXN5bmNWYWxpZGF0b3IpO1xuICAgIHRoaXMuX2NvbnRyb2xSZWxhdGlvbnMgPSBuZXcgQ29udHJvbFJlbGF0aW9ucyh0aGlzKTtcbiAgICB0aGlzLmhpZGVycyA9IFtdO1xuICAgIHRoaXMuYWxlcnRzID0gW107XG4gICAgdGhpcy5kaXNhYmxlcnMgPSBbXTtcblxuICAgIHRoaXMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIGlmICh0aGlzLl9wcmV2aW91c1ZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgICB0aGlzLmZpcmVWYWx1ZUNoYW5nZUxpc3RlbmVyKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNWYWx1ZSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHV1aWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdXVpZDtcbiAgfVxuICBzZXQgdXVpZCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX3V1aWQgPSB2YWw7XG4gIH1cblxuICBnZXQgY29udHJvbFJlbGF0aW9ucygpOiBDb250cm9sUmVsYXRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbFJlbGF0aW9ucztcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5oaWRlQ29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIHNob3coKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5zaG93Q29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIGRpc2FibGUocGFyYW0/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KSB7XG4gICAgc3VwZXIuZGlzYWJsZShwYXJhbSk7XG4gICAgc3VwZXIuc2V0VmFsdWUoW10pO1xuICB9XG5cbiAgc2V0SGlkaW5nRm4obmV3SGlkZXI6IEhpZGVyKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5zZXRIaWRlckZvckNvbnRyb2wodGhpcywgbmV3SGlkZXIpO1xuICB9XG5cbiAgY2xlYXJIaWRpbmdGbnMoKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5jbGVhckhpZGVyc0ZvckNvbnRyb2wodGhpcyk7XG4gIH1cblxuICB1cGRhdGVIaWRkZW5TdGF0ZSgpIHtcbiAgICB0aGlzLmhpZGVySGVscGVyLmV2YWx1YXRlQ29udHJvbEhpZGVycyh0aGlzKTtcbiAgfVxuXG4gIHNldERpc2FibGluZ0ZuKG5ld0Rpc2FibGVyOiBEaXNhYmxlcikge1xuICAgIHRoaXMuZGlzYWJsZXJIZWxwZXIuc2V0RGlzYWJsZXJGb3JDb250cm9sKHRoaXMsIG5ld0Rpc2FibGVyKTtcbiAgfVxuXG4gIGNsZWFyRGlzYWJsaW5nRm5zKCkge1xuICAgIHRoaXMuZGlzYWJsZXJIZWxwZXIuY2xlYXJEaXNhYmxlcnNGb3JDb250cm9sKHRoaXMpO1xuICB9XG5cbiAgdXBkYXRlRGlzYWJsZWRTdGF0ZSgpIHtcbiAgICB0aGlzLmRpc2FibGVySGVscGVyLmV2YWx1YXRlQ29udHJvbERpc2FibGVycyh0aGlzKTtcbiAgfVxuXG4gIHNldEFsZXJ0Rm4obmV3SGlkZXI6IEFsZXJ0KSB7XG4gICAgdGhpcy5BbGVydEhlbHBlci5zZXRBbGVydHNGb3JDb250cm9sKHRoaXMsIG5ld0hpZGVyKTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZUZucygpIHtcbiAgICB0aGlzLkFsZXJ0SGVscGVyLmNsZWFyQWxlcnRzRm9yQ29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIHVwZGF0ZUFsZXJ0KCkge1xuICAgIHRoaXMuQWxlcnRIZWxwZXIuZXZhbHVhdGVDb250cm9sQWxlcnRzKHRoaXMpO1xuICB9XG5cbiAgYWRkVmFsdWVDaGFuZ2VMaXN0ZW5lcihmdW5jOiBhbnkpIHtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZUxpc3RlbmVyID0gZnVuYztcbiAgfVxuXG4gIGZpcmVWYWx1ZUNoYW5nZUxpc3RlbmVyKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5hbGVydHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy51cGRhdGVBbGVydCgpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLl92YWx1ZUNoYW5nZUxpc3RlbmVyICYmXG4gICAgICB0eXBlb2YgdGhpcy5fdmFsdWVDaGFuZ2VMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VMaXN0ZW5lcih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IGFueSkge1xuICAgIHN1cGVyLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxufVxuIl19