@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,185 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import { NodeBase } from '../../form-entry/form-factory/form-node';
4
+ import { AfeFormGroup } from '../../abstract-controls-extension/afe-form-group';
5
+ import { DataSources } from '../../form-entry/data-sources/data-sources';
6
+ import { EncounterViewerService } from '../encounter-viewer.service';
7
+ var EncounterViewerComponent = /** @class */ (function () {
8
+ function EncounterViewerComponent(encounterViewerService, dataSources) {
9
+ this.encounterViewerService = encounterViewerService;
10
+ this.dataSources = dataSources;
11
+ }
12
+ Object.defineProperty(EncounterViewerComponent.prototype, "node", {
13
+ set: function (rootNode) {
14
+ this.rootNode = rootNode;
15
+ },
16
+ enumerable: true,
17
+ configurable: true
18
+ });
19
+ Object.defineProperty(EncounterViewerComponent.prototype, "schema", {
20
+ set: function (schema) {
21
+ this._schema = schema;
22
+ },
23
+ enumerable: true,
24
+ configurable: true
25
+ });
26
+ Object.defineProperty(EncounterViewerComponent.prototype, "encounter", {
27
+ set: function (enc) {
28
+ this.enc = enc;
29
+ },
30
+ enumerable: true,
31
+ configurable: true
32
+ });
33
+ Object.defineProperty(EncounterViewerComponent.prototype, "form", {
34
+ set: function (form) {
35
+ this.rootNode = form.rootNode;
36
+ this._schema = form.schema;
37
+ console.log(this.getQuestionNodes(this.traverse(this.rootNode)));
38
+ },
39
+ enumerable: true,
40
+ configurable: true
41
+ });
42
+ EncounterViewerComponent.prototype.getQuestionNodes = function (pages) {
43
+ var merged = [];
44
+ var arrays = [];
45
+ try {
46
+ for (var pages_1 = tslib_1.__values(pages), pages_1_1 = pages_1.next(); !pages_1_1.done; pages_1_1 = pages_1.next()) {
47
+ var page = pages_1_1.value;
48
+ arrays.push(page.page);
49
+ }
50
+ }
51
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
52
+ finally {
53
+ try {
54
+ if (pages_1_1 && !pages_1_1.done && (_a = pages_1.return)) _a.call(pages_1);
55
+ }
56
+ finally { if (e_1) throw e_1.error; }
57
+ }
58
+ return merged.concat.apply([], arrays);
59
+ var e_1, _a;
60
+ };
61
+ EncounterViewerComponent.prototype.ngOnInit = function () {
62
+ if (this.rootNode) {
63
+ }
64
+ if (this.rootNode &&
65
+ this.rootNode.question.extras &&
66
+ this.rootNode.question.renderingType === 'file') {
67
+ this.fileDataSource = this.dataSources.dataSources[this.rootNode.question.dataSource];
68
+ }
69
+ else if (this.rootNode &&
70
+ this.rootNode.question.extras &&
71
+ this.rootNode.question.renderingType === 'remote-select') {
72
+ this.remoteDataSource = this.dataSources.dataSources[this.rootNode.question.dataSource];
73
+ }
74
+ else {
75
+ this.customDataSource = this.encounterViewerService;
76
+ }
77
+ };
78
+ EncounterViewerComponent.prototype.questionsAnswered = function (node) {
79
+ var $answered = this.encounterViewerService.questionsAnswered(node);
80
+ return $answered;
81
+ };
82
+ EncounterViewerComponent.prototype.questionAnswered = function (node) {
83
+ var answered = this.encounterViewerService.hasAnswer(node);
84
+ return answered;
85
+ };
86
+ EncounterViewerComponent.prototype.checkForColon = function (questionLabel) {
87
+ if (questionLabel.indexOf(':') === -1) {
88
+ return true;
89
+ }
90
+ else {
91
+ return false;
92
+ }
93
+ };
94
+ EncounterViewerComponent.prototype.traverse = function (o, type) {
95
+ var questions = [];
96
+ if (o.children) {
97
+ if (o.children instanceof Array) {
98
+ var returned = this.repeatingGroup(o.children);
99
+ return returned;
100
+ }
101
+ if (o.children instanceof Object) {
102
+ for (var key in o.children) {
103
+ if (o.children.hasOwnProperty(key)) {
104
+ switch (o.children[key].question.renderingType) {
105
+ case 'page':
106
+ var page = this.traverse(o.children[key]);
107
+ questions.push({ page: page });
108
+ break;
109
+ case 'section':
110
+ var section = this.traverse(o.children[key]);
111
+ questions.push({ section: section });
112
+ break;
113
+ case 'group':
114
+ var qs = this.traverse(o.children[key]);
115
+ questions.push({
116
+ node: o.children[key],
117
+ question: o.children[key].question,
118
+ groupMembers: qs
119
+ });
120
+ break;
121
+ case 'repeating':
122
+ var rep = this.repeatingGroup(o.children[key].children);
123
+ questions.push({
124
+ node: o.children[key],
125
+ question: o.children[key].question,
126
+ groupMembers: rep
127
+ });
128
+ break;
129
+ default:
130
+ questions.push(o.children[key]);
131
+ break;
132
+ }
133
+ }
134
+ }
135
+ }
136
+ else {
137
+ console.log('Console.log', o);
138
+ }
139
+ }
140
+ return questions;
141
+ };
142
+ EncounterViewerComponent.prototype.repeatingGroup = function (nodes) {
143
+ var toReturn = [];
144
+ try {
145
+ for (var nodes_1 = tslib_1.__values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {
146
+ var node = nodes_1_1.value;
147
+ toReturn.push({
148
+ question: node.question,
149
+ groupMembers: this.traverse(node)
150
+ });
151
+ }
152
+ }
153
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
154
+ finally {
155
+ try {
156
+ if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);
157
+ }
158
+ finally { if (e_2) throw e_2.error; }
159
+ }
160
+ return toReturn;
161
+ var e_2, _a;
162
+ };
163
+ EncounterViewerComponent.decorators = [
164
+ { type: Component, args: [{
165
+ selector: 'encounter-viewer',
166
+ template: "<div class=\"viewer\">\n <div *ngIf=\"rootNode.question.renderingType === 'form'\" class=\"form\">\n <div *ngFor=\"let question of rootNode.question.questions; let i = index\">\n <div *ngIf=\"questionsAnswered(rootNode.children[question.key])\">\n <div [attr.id]=\"'page' + i\" class=\"panel panel-default\">\n <p class=\"page-label panel-heading text-primary\">\n {{ question.label }}\n </p>\n <div class=\"panel-body\">\n <encounter-viewer\n [node]=\"rootNode.children[question.key]\"\n [schema]=\"_schema\"\n [parentComponent]=\"this\"\n [parentGroup]=\"rootNode.control\"\n ></encounter-viewer>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"rootNode.question.renderingType === 'page'\" class=\"page\">\n <encounter-viewer\n *ngFor=\"let question of rootNode.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"rootNode.children[question.key]\"\n [schema]=\"_schema\"\n [parentGroup]=\"parentGroup\"\n ></encounter-viewer>\n </div>\n\n <div\n *ngIf=\"\n rootNode.question.renderingType === 'section' &&\n questionsAnswered(rootNode)\n \"\n class=\"section\"\n >\n <div class=\"panel panel-primary\">\n <p class=\"panel-heading section-label\">{{ rootNode.question.label }}</p>\n </div>\n <div *ngFor=\"let question of rootNode.question.questions\">\n <encounter-viewer\n [node]=\"rootNode.children[question.key]\"\n [parentComponent]=\"this\"\n [schema]=\"_schema\"\n [parentGroup]=\"parentGroup\"\n ></encounter-viewer>\n </div>\n </div>\n\n <!--Leaf Controls-->\n <div style=\"margin-left: 10px\">\n <form *ngIf=\"rootNode.question.controlType === 0\" [formGroup]=\"parentGroup\">\n <div *ngIf=\"rootNode.control.value\">\n <div class=\"question-answer\">\n <label\n *ngIf=\"rootNode.question.label\"\n [attr.for]=\"rootNode.question.key\"\n style=\"font-weight: 400\"\n >\n {{ rootNode.question.label }}\n </label>\n <span *ngIf=\"checkForColon(rootNode.question.label)\">:</span>\n <div\n [ngSwitch]=\"rootNode.question.renderingType\"\n style=\"display: inline-block; font-weight: bold\"\n >\n <div *ngSwitchCase=\"'file'\">\n <file-preview\n [formControlName]=\"rootNode.question.key\"\n [id]=\"rootNode.question.key + 'id'\"\n [dataSource]=\"fileDataSource\"\n ></file-preview>\n </div>\n <div *ngSwitchCase=\"'remote-select'\">\n <remote-answer\n [formControlName]=\"rootNode.question.key\"\n [id]=\"rootNode.question.key + 'id'\"\n [dataSource]=\"remoteDataSource\"\n ></remote-answer>\n </div>\n <div *ngSwitchDefault style=\"display: inline-block\">\n <question-control\n [schema]=\"_schema\"\n [value]=\"rootNode.control.value\"\n [dataSource]=\"customDataSource\"\n ></question-control>\n </div>\n </div>\n </div>\n </div>\n </form>\n </div>\n\n <!--Array Controls-->\n <div\n *ngIf=\"rootNode.question.controlType === 1 && questionsAnswered(rootNode)\"\n >\n <div [ngSwitch]=\"rootNode.question.renderingType\">\n <div *ngSwitchCase=\"'repeating'\">\n <div [ngSwitch]=\"rootNode.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <label>{{ rootNode.question.label }}:</label>\n <div *ngFor=\"let child of rootNode.children; let i = index\">\n <encounter-viewer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [schema]=\"_schema\"\n ></encounter-viewer>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\">\n <div *ngFor=\"let child of rootNode.children; let i = index\">\n <encounter-viewer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [schema]=\"_schema\"\n ></encounter-viewer>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"rootNode.question.controlType === 2\">\n <!--GROUP-->\n <div [ngSwitch]=\"rootNode.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <encounter-viewer\n *ngFor=\"let question of rootNode.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"rootNode.children[question.key]\"\n [parentGroup]=\"rootNode.control\"\n [schema]=\"_schema\"\n ></encounter-viewer>\n </div>\n <div *ngSwitchCase=\"'field-set'\">\n <encounter-viewer\n *ngFor=\"let question of rootNode.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"rootNode.children[question.key]\"\n [parentGroup]=\"rootNode.control\"\n [schema]=\"_schema\"\n ></encounter-viewer>\n </div>\n </div>\n </div>\n</div>\n",
167
+ styles: [".page-label{font-size:20px;font-weight:700}.section-label{font-size:18px;font-weight:500}.panel-primary{border:none!important}.question-answer{font-size:16px}.panel{margin-bottom:5px}div.section{margin-bottom:15px!important}.line-breaker{white-space:pre-line}hr{margin:10px}"]
168
+ },] },
169
+ ];
170
+ EncounterViewerComponent.ctorParameters = function () { return [
171
+ { type: EncounterViewerService },
172
+ { type: DataSources }
173
+ ]; };
174
+ EncounterViewerComponent.propDecorators = {
175
+ parentGroup: [{ type: Input }],
176
+ parentComponent: [{ type: Input }],
177
+ node: [{ type: Input }],
178
+ schema: [{ type: Input }],
179
+ encounter: [{ type: Input }],
180
+ form: [{ type: Input }]
181
+ };
182
+ return EncounterViewerComponent;
183
+ }());
184
+ export { EncounterViewerComponent };
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb3VudGVyLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImVuY291bnRlci12aWV3ZXIvZW5jb3VudGVyLXZpZXcvZW5jb3VudGVyLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFDTCxRQUFRLEVBR1QsTUFBTSx5Q0FBeUMsQ0FBQztBQUlqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJFO0lBMExFLGtDQUNVLHNCQUE4QyxFQUM5QyxXQUF3QjtRQUR4QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQy9CLENBQUM7SUFwQkosc0JBQWEsMENBQUk7YUFBakIsVUFBa0IsUUFBa0I7WUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDM0IsQ0FBQzs7O09BQUE7SUFFRCxzQkFBb0IsNENBQU07YUFBMUIsVUFBMkIsTUFBVztZQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDOzs7T0FBQTtJQUVELHNCQUFvQiwrQ0FBUzthQUE3QixVQUE4QixHQUFRO1lBQ3BDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLENBQUM7OztPQUFBO0lBQ0Qsc0JBQWEsMENBQUk7YUFBakIsVUFBa0IsSUFBUztZQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFBSSxD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LEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7aUJBQ2xDLENBQUMsQ0FBQzthQUNKOzs7Ozs7Ozs7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDOztJQUNsQixDQUFDOztnQkExU0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxrL0tBMkpYO29CQUNDLE1BQU0sRUFBRSxDQUFDLG9SQUFvUixDQUFDO2lCQUMvUjs7O2dCQWpLUSxzQkFBc0I7Z0JBSHRCLFdBQVc7Ozs4QkE0S2pCLEtBQUs7a0NBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUlMLEtBQUs7NEJBSUwsS0FBSzt1QkFHTCxLQUFLOztJQXVIUiwrQkFBQztDQUFBLEFBM1NELElBMlNDO1NBM0lZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOb2RlQmFzZSxcbiAgR3JvdXBOb2RlLFxuICBMZWFmTm9kZVxufSBmcm9tICcuLi8uLi9mb3JtLWVudHJ5L2Zvcm0tZmFjdG9yeS9mb3JtLW5vZGUnO1xuaW1wb3J0IHsgUXVlc3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvcXVlc3Rpb24tYmFzZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEFmZUZvcm1Hcm91cCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1ncm91cCc7XG5pbXBvcnQgeyBEYXRhU291cmNlcyB9IGZyb20gJy4uLy4uL2Zvcm0tZW50cnkvZGF0YS1zb3VyY2VzL2RhdGEtc291cmNlcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5cbmltcG9ydCB7IEVuY291bnRlclZpZXdlclNlcnZpY2UgfSBmcm9tICcuLi9lbmNvdW50ZXItdmlld2VyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbmNvdW50ZXItdmlld2VyJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwidmlld2VyXCI+XG4gIDxkaXYgKm5nSWY9XCJyb290Tm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlID09PSAnZm9ybSdcIiBjbGFzcz1cImZvcm1cIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBxdWVzdGlvbiBvZiByb290Tm9kZS5xdWVzdGlvbi5xdWVzdGlvbnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJxdWVzdGlvbnNBbnN3ZXJlZChyb290Tm9kZS5jaGlsZHJlbltxdWVzdGlvbi5rZXldKVwiPlxuICAgICAgICA8ZGl2IFthdHRyLmlkXT1cIidwYWdlJyArIGlcIiBjbGFzcz1cInBhbmVsIHBhbmVsLWRlZmF1bHRcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cInBhZ2UtbGFiZWwgcGFuZWwtaGVhZGluZyB0ZXh0LXByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7IHF1ZXN0aW9uLmxhYmVsIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCI+XG4gICAgICAgICAgICA8ZW5jb3VudGVyLXZpZXdlclxuICAgICAgICAgICAgICBbbm9kZV09XCJyb290Tm9kZS5jaGlsZHJlbltxdWVzdGlvbi5rZXldXCJcbiAgICAgICAgICAgICAgW3NjaGVtYV09XCJfc2NoZW1hXCJcbiAgICAgICAgICAgICAgW3BhcmVudENvbXBvbmVudF09XCJ0aGlzXCJcbiAgICAgICAgICAgICAgW3BhcmVudEdyb3VwXT1cInJvb3ROb2RlLmNvbnRyb2xcIlxuICAgICAgICAgICAgPjwvZW5jb3VudGVyLXZpZXdlcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInJvb3ROb2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdwYWdlJ1wiIGNsYXNzPVwicGFnZVwiPlxuICAgIDxlbmNvdW50ZXItdmlld2VyXG4gICAgICAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2Ygcm9vdE5vZGUucXVlc3Rpb24ucXVlc3Rpb25zXCJcbiAgICAgIFtwYXJlbnRDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICBbbm9kZV09XCJyb290Tm9kZS5jaGlsZHJlbltxdWVzdGlvbi5rZXldXCJcbiAgICAgIFtzY2hlbWFdPVwiX3NjaGVtYVwiXG4gICAgICBbcGFyZW50R3JvdXBdPVwicGFyZW50R3JvdXBcIlxuICAgID48L2VuY291bnRlci12aWV3ZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICAqbmdJZj1cIlxuICAgICAgcm9vdE5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3NlY3Rpb24nICYmXG4gICAgICBxdWVzdGlvbnNBbnN3ZXJlZChyb290Tm9kZSlcbiAgICBcIlxuICAgIGNsYXNzPVwic2VjdGlvblwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicGFuZWwgcGFuZWwtcHJpbWFyeVwiPlxuICAgICAgPHAgY2xhc3M9XCJwYW5lbC1oZWFkaW5nIHNlY3Rpb24tbGFiZWxcIj57eyByb290Tm9kZS5xdWVzdGlvbi5sYWJlbCB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBxdWVzdGlvbiBvZiByb290Tm9kZS5xdWVzdGlvbi5xdWVzdGlvbnNcIj5cbiAgICAgIDxlbmNvdW50ZXItdmlld2VyXG4gICAgICAgIFtub2RlXT1cInJvb3ROb2RlLmNoaWxkcmVuW3F1ZXN0aW9uLmtleV1cIlxuICAgICAgICBbcGFyZW50Q29tcG9uZW50XT1cInRoaXNcIlxuICAgICAgICBbc2NoZW1hXT1cIl9zY2hlbWFcIlxuICAgICAgICBbcGFyZW50R3JvdXBdPVwicGFyZW50R3JvdXBcIlxuICAgICAgPjwvZW5jb3VudGVyLXZpZXdlcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLUxlYWYgQ29udHJvbHMtLT5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4XCI+XG4gICAgPGZvcm0gKm5nSWY9XCJyb290Tm9kZS5xdWVzdGlvbi5jb250cm9sVHlwZSA9PT0gMFwiIFtmb3JtR3JvdXBdPVwicGFyZW50R3JvdXBcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJyb290Tm9kZS5jb250cm9sLnZhbHVlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbi1hbnN3ZXJcIj5cbiAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICpuZ0lmPVwicm9vdE5vZGUucXVlc3Rpb24ubGFiZWxcIlxuICAgICAgICAgICAgW2F0dHIuZm9yXT1cInJvb3ROb2RlLnF1ZXN0aW9uLmtleVwiXG4gICAgICAgICAgICBzdHlsZT1cImZvbnQtd2VpZ2h0OiA0MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHJvb3ROb2RlLnF1ZXN0aW9uLmxhYmVsIH19XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImNoZWNrRm9yQ29sb24ocm9vdE5vZGUucXVlc3Rpb24ubGFiZWwpXCI+Ojwvc3Bhbj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbbmdTd2l0Y2hdPVwicm9vdE5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZVwiXG4gICAgICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC13ZWlnaHQ6IGJvbGRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidmaWxlJ1wiPlxuICAgICAgICAgICAgICA8ZmlsZS1wcmV2aWV3XG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJyb290Tm9kZS5xdWVzdGlvbi5rZXlcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJyb290Tm9kZS5xdWVzdGlvbi5rZXkgKyAnaWQnXCJcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJmaWxlRGF0YVNvdXJjZVwiXG4gICAgICAgICAgICAgID48L2ZpbGUtcHJldmlldz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3JlbW90ZS1zZWxlY3QnXCI+XG4gICAgICAgICAgICAgIDxyZW1vdGUtYW5zd2VyXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJyb290Tm9kZS5xdWVzdGlvbi5rZXlcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJyb290Tm9kZS5xdWVzdGlvbi5rZXkgKyAnaWQnXCJcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJyZW1vdGVEYXRhU291cmNlXCJcbiAgICAgICAgICAgICAgPjwvcmVtb3RlLWFuc3dlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hEZWZhdWx0IHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrXCI+XG4gICAgICAgICAgICAgIDxxdWVzdGlvbi1jb250cm9sXG4gICAgICAgICAgICAgICAgW3NjaGVtYV09XCJfc2NoZW1hXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwicm9vdE5vZGUuY29udHJvbC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiY3VzdG9tRGF0YVNvdXJjZVwiXG4gICAgICAgICAgICAgID48L3F1ZXN0aW9uLWNvbnRyb2w+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuXG4gIDwhLS1BcnJheSBDb250cm9scy0tPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJyb290Tm9kZS5xdWVzdGlvbi5jb250cm9sVHlwZSA9PT0gMSAmJiBxdWVzdGlvbnNBbnN3ZXJlZChyb290Tm9kZSlcIlxuICA+XG4gICAgPGRpdiBbbmdTd2l0Y2hdPVwicm9vdE5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZVwiPlxuICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3JlcGVhdGluZydcIj5cbiAgICAgICAgPGRpdiBbbmdTd2l0Y2hdPVwicm9vdE5vZGUucXVlc3Rpb24uZXh0cmFzLnR5cGVcIj5cbiAgICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCIndGVzdE9yZGVyJ1wiPlxuICAgICAgICAgICAgPGxhYmVsPnt7IHJvb3ROb2RlLnF1ZXN0aW9uLmxhYmVsIH19OjwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjaGlsZCBvZiByb290Tm9kZS5jaGlsZHJlbjsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICA8ZW5jb3VudGVyLXZpZXdlclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBxdWVzdGlvbiBvZiBjaGlsZC5xdWVzdGlvbi5xdWVzdGlvbnNcIlxuICAgICAgICAgICAgICAgIFtwYXJlbnRDb21wb25lbnRdPVwidGhpc1wiXG4gICAgICAgICAgICAgICAgW25vZGVdPVwiY2hpbGQuY2hpbGRyZW5bcXVlc3Rpb24ua2V5XVwiXG4gICAgICAgICAgICAgICAgW3BhcmVudEdyb3VwXT1cImNoaWxkLmNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtzY2hlbWFdPVwiX3NjaGVtYVwiXG4gICAgICAgICAgICAgID48L2VuY291bnRlci12aWV3ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidvYnNHcm91cCdcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNoaWxkIG9mIHJvb3ROb2RlLmNoaWxkcmVuOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgIDxlbmNvdW50ZXItdmlld2VyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIGNoaWxkLnF1ZXN0aW9uLnF1ZXN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3BhcmVudENvbXBvbmVudF09XCJ0aGlzXCJcbiAgICAgICAgICAgICAgICBbbm9kZV09XCJjaGlsZC5jaGlsZHJlbltxdWVzdGlvbi5rZXldXCJcbiAgICAgICAgICAgICAgICBbcGFyZW50R3JvdXBdPVwiY2hpbGQuY29udHJvbFwiXG4gICAgICAgICAgICAgICAgW3NjaGVtYV09XCJfc2NoZW1hXCJcbiAgICAgICAgICAgICAgPjwvZW5jb3VudGVyLXZpZXdlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwicm9vdE5vZGUucXVlc3Rpb24uY29udHJvbFR5cGUgPT09IDJcIj5cbiAgICA8IS0tR1JPVVAtLT5cbiAgICA8ZGl2IFtuZ1N3aXRjaF09XCJyb290Tm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlXCI+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInZ3JvdXAnXCI+XG4gICAgICAgIDxlbmNvdW50ZXItdmlld2VyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIHJvb3ROb2RlLnF1ZXN0aW9uLnF1ZXN0aW9uc1wiXG4gICAgICAgICAgW3BhcmVudENvbXBvbmVudF09XCJ0aGlzXCJcbiAgICAgICAgICBbbm9kZV09XCJyb290Tm9kZS5jaGlsZHJlbltxdWVzdGlvbi5rZXldXCJcbiAgICAgICAgICBbcGFyZW50R3JvdXBdPVwicm9vdE5vZGUuY29udHJvbFwiXG4gICAgICAgICAgW3NjaGVtYV09XCJfc2NoZW1hXCJcbiAgICAgICAgPjwvZW5jb3VudGVyLXZpZXdlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ZpZWxkLXNldCdcIj5cbiAgICAgICAgPGVuY291bnRlci12aWV3ZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2Ygcm9vdE5vZGUucXVlc3Rpb24ucXVlc3Rpb25zXCJcbiAgICAgICAgICBbcGFyZW50Q29tcG9uZW50XT1cInRoaXNcIlxuICAgICAgICAgIFtub2RlXT1cInJvb3ROb2RlLmNoaWxkcmVuW3F1ZXN0aW9uLmtleV1cIlxuICAgICAgICAgIFtwYXJlbnRHcm91cF09XCJyb290Tm9kZS5jb250cm9sXCJcbiAgICAgICAgICBbc2NoZW1hXT1cIl9zY2hlbWFcIlxuICAgICAgICA+PC9lbmNvdW50ZXItdmlld2VyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gLFxuICBzdHlsZXM6IFtgLnBhZ2UtbGFiZWx7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwfS5zZWN0aW9uLWxhYmVse2ZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0OjUwMH0ucGFuZWwtcHJpbWFyeXtib3JkZXI6bm9uZSFpbXBvcnRhbnR9LnF1ZXN0aW9uLWFuc3dlcntmb250LXNpemU6MTZweH0ucGFuZWx7bWFyZ2luLWJvdHRvbTo1cHh9ZGl2LnNlY3Rpb257bWFyZ2luLWJvdHRvbToxNXB4IWltcG9ydGFudH0ubGluZS1icmVha2Vye3doaXRlLXNwYWNlOnByZS1saW5lfWhye21hcmdpbjoxMHB4fWBdXG59KVxuZXhwb3J0IGNsYXNzIEVuY291bnRlclZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByb290Tm9kZTogTm9kZUJhc2U7XG4gIHB1YmxpYyBlbmM6IGFueTtcbiAgcHVibGljIGZpbGVEYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBwdWJsaWMgcmVtb3RlRGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcHVibGljIGN1c3RvbURhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHB1YmxpYyBfc2NoZW1hO1xuICBASW5wdXQoKSBwdWJsaWMgcGFyZW50R3JvdXA6IEFmZUZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHBhcmVudENvbXBvbmVudDogRW5jb3VudGVyVmlld2VyQ29tcG9uZW50O1xuICBASW5wdXQoKSBzZXQgbm9kZShyb290Tm9kZTogTm9kZUJhc2UpIHtcbiAgICB0aGlzLnJvb3ROb2RlID0gcm9vdE5vZGU7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNjaGVtYShzY2hlbWE6IGFueSkge1xuICAgIHRoaXMuX3NjaGVtYSA9IHNjaGVtYTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgZW5jb3VudGVyKGVuYzogYW55KSB7XG4gICAgdGhpcy5lbmMgPSBlbmM7XG4gIH1cbiAgQElucHV0KCkgc2V0IGZvcm0oZm9ybTogYW55KSB7XG4gICAgdGhpcy5yb290Tm9kZSA9IGZvcm0ucm9vdE5vZGU7XG4gICAgdGhpcy5fc2NoZW1hID0gZm9ybS5zY2hlbWE7XG4gICAgY29uc29sZS5sb2codGhpcy5nZXRRdWVzdGlvbk5vZGVzKHRoaXMudHJhdmVyc2UodGhpcy5yb290Tm9kZSkpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZW5jb3VudGVyVmlld2VyU2VydmljZTogRW5jb3VudGVyVmlld2VyU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTb3VyY2VzOiBEYXRhU291cmNlc1xuICApIHt9XG5cbiAgZ2V0UXVlc3Rpb25Ob2RlcyhwYWdlcykge1xuICAgIGNvbnN0IG1lcmdlZCA9IFtdO1xuICAgIGNvbnN0IGFycmF5cyA9IFtdO1xuICAgIGZvciAoY29uc3QgcGFnZSBvZiBwYWdlcykge1xuICAgICAgYXJyYXlzLnB1c2gocGFnZS5wYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lcmdlZC5jb25jYXQuYXBwbHkoW10sIGFycmF5cyk7XG4gIH1cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnJvb3ROb2RlKSB7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHRoaXMucm9vdE5vZGUgJiZcbiAgICAgIHRoaXMucm9vdE5vZGUucXVlc3Rpb24uZXh0cmFzICYmXG4gICAgICB0aGlzLnJvb3ROb2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdmaWxlJ1xuICAgICkge1xuICAgICAgdGhpcy5maWxlRGF0YVNvdXJjZSA9IHRoaXMuZGF0YVNvdXJjZXMuZGF0YVNvdXJjZXNbXG4gICAgICAgIHRoaXMucm9vdE5vZGUucXVlc3Rpb24uZGF0YVNvdXJjZVxuICAgICAgXTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5yb290Tm9kZSAmJlxuICAgICAgdGhpcy5yb290Tm9kZS5xdWVzdGlvbi5leHRyYXMgJiZcbiAgICAgIHRoaXMucm9vdE5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3JlbW90ZS1zZWxlY3QnXG4gICAgKSB7XG4gICAgICB0aGlzLnJlbW90ZURhdGFTb3VyY2UgPSB0aGlzLmRhdGFTb3VyY2VzLmRhdGFTb3VyY2VzW1xuICAgICAgICB0aGlzLnJvb3ROb2RlLnF1ZXN0aW9uLmRhdGFTb3VyY2VcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VzdG9tRGF0YVNvdXJjZSA9IHRoaXMuZW5jb3VudGVyVmlld2VyU2VydmljZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcXVlc3Rpb25zQW5zd2VyZWQobm9kZTogYW55KSB7XG4gICAgY29uc3QgJGFuc3dlcmVkID0gdGhpcy5lbmNvdW50ZXJWaWV3ZXJTZXJ2aWNlLnF1ZXN0aW9uc0Fuc3dlcmVkKG5vZGUpO1xuICAgIHJldHVybiAkYW5zd2VyZWQ7XG4gIH1cblxuICBwdWJsaWMgcXVlc3Rpb25BbnN3ZXJlZChub2RlOiBOb2RlQmFzZSkge1xuICAgIGNvbnN0IGFuc3dlcmVkID0gdGhpcy5lbmNvdW50ZXJWaWV3ZXJTZXJ2aWNlLmhhc0Fuc3dlcihub2RlKTtcbiAgICByZXR1cm4gYW5zd2VyZWQ7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tGb3JDb2xvbihxdWVzdGlvbkxhYmVsOiBzdHJpbmcpIHtcbiAgICBpZiAocXVlc3Rpb25MYWJlbC5pbmRleE9mKCc6JykgPT09IC0xKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRyYXZlcnNlKG8sIHR5cGU/KSB7XG4gICAgY29uc3QgcXVlc3Rpb25zID0gW107XG4gICAgaWYgKG8uY2hpbGRyZW4pIHtcbiAgICAgIGlmIChvLmNoaWxkcmVuIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgY29uc3QgcmV0dXJuZWQgPSB0aGlzLnJlcGVhdGluZ0dyb3VwKG8uY2hpbGRyZW4pO1xuICAgICAgICByZXR1cm4gcmV0dXJuZWQ7XG4gICAgICB9XG4gICAgICBpZiAoby5jaGlsZHJlbiBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvLmNoaWxkcmVuKSB7XG4gICAgICAgICAgaWYgKG8uY2hpbGRyZW4uaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgc3dpdGNoIChvLmNoaWxkcmVuW2tleV0ucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSkge1xuICAgICAgICAgICAgICBjYXNlICdwYWdlJzpcbiAgICAgICAgICAgICAgICBjb25zdCBwYWdlID0gdGhpcy50cmF2ZXJzZShvLmNoaWxkcmVuW2tleV0pO1xuICAgICAgICAgICAgICAgIHF1ZXN0aW9ucy5wdXNoKHsgcGFnZTogcGFnZSB9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSAnc2VjdGlvbic6XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHRoaXMudHJhdmVyc2Uoby5jaGlsZHJlbltrZXldKTtcbiAgICAgICAgICAgICAgICBxdWVzdGlvbnMucHVzaCh7IHNlY3Rpb246IHNlY3Rpb24gfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgICAgICAgICAgICBjb25zdCBxcyA9IHRoaXMudHJhdmVyc2Uoby5jaGlsZHJlbltrZXldKTtcbiAgICAgICAgICAgICAgICBxdWVzdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICBub2RlOiBvLmNoaWxkcmVuW2tleV0sXG4gICAgICAgICAgICAgICAgICBxdWVzdGlvbjogby5jaGlsZHJlbltrZXldLnF1ZXN0aW9uLFxuICAgICAgICAgICAgICAgICAgZ3JvdXBNZW1iZXJzOiBxc1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlICdyZXBlYXRpbmcnOlxuICAgICAgICAgICAgICAgIGNvbnN0IHJlcCA9IHRoaXMucmVwZWF0aW5nR3JvdXAoby5jaGlsZHJlbltrZXldLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICBxdWVzdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICBub2RlOiBvLmNoaWxkcmVuW2tleV0sXG4gICAgICAgICAgICAgICAgICBxdWVzdGlvbjogby5jaGlsZHJlbltrZXldLnF1ZXN0aW9uLFxuICAgICAgICAgICAgICAgICAgZ3JvdXBNZW1iZXJzOiByZXBcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBxdWVzdGlvbnMucHVzaChvLmNoaWxkcmVuW2tleV0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0NvbnNvbGUubG9nJywgbyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBxdWVzdGlvbnM7XG4gIH1cblxuICByZXBlYXRpbmdHcm91cChub2Rlcykge1xuICAgIGNvbnN0IHRvUmV0dXJuID0gW107XG4gICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICB0b1JldHVybi5wdXNoKHtcbiAgICAgICAgcXVlc3Rpb246IG5vZGUucXVlc3Rpb24sXG4gICAgICAgIGdyb3VwTWVtYmVyczogdGhpcy50cmF2ZXJzZShub2RlKVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0b1JldHVybjtcbiAgfVxufVxuIl19
@@ -0,0 +1,39 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { EncounterViewerComponent } from './encounter-view/encounter-viewer.component';
4
+ import { EncounterContainerComponent } from './encounter-container/encounter-container.component';
5
+ import { EncounterViewerService } from './encounter-viewer.service';
6
+ import { EncounterPdfViewerService } from './encounter-pdf-viewer.service';
7
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
8
+ import { QuestionControlComponent } from './display-controls/question-control.component';
9
+ import { FilePreviewComponent } from './display-controls/file-preview.component';
10
+ import { RemoteAnswerComponent } from './display-controls/remote-answer.component';
11
+ import { HttpClientModule } from '@angular/common/http';
12
+ import { SharedModule } from '../shared.module';
13
+ var EncounterViewerModule = /** @class */ (function () {
14
+ function EncounterViewerModule() {
15
+ }
16
+ EncounterViewerModule.decorators = [
17
+ { type: NgModule, args: [{
18
+ declarations: [
19
+ EncounterViewerComponent,
20
+ EncounterContainerComponent,
21
+ QuestionControlComponent,
22
+ FilePreviewComponent,
23
+ RemoteAnswerComponent
24
+ ],
25
+ imports: [
26
+ FormsModule,
27
+ ReactiveFormsModule,
28
+ CommonModule,
29
+ HttpClientModule,
30
+ SharedModule
31
+ ],
32
+ providers: [EncounterViewerService, EncounterPdfViewerService],
33
+ exports: [EncounterContainerComponent, HttpClientModule]
34
+ },] },
35
+ ];
36
+ return EncounterViewerModule;
37
+ }());
38
+ export { EncounterViewerModule };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb3VudGVyLXZpZXdlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImVuY291bnRlci12aWV3ZXIvZW5jb3VudGVyLXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRDtJQUFBO0lBa0JvQyxDQUFDOztnQkFsQnBDLFFBQVEsU0FBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3dCQUN4QiwyQkFBMkI7d0JBQzNCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFlBQVk7cUJBQ2I7b0JBQ0QsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUseUJBQXlCLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLGdCQUFnQixDQUFDO2lCQUN6RDs7SUFDbUMsNEJBQUM7Q0FBQSxBQWxCckMsSUFrQnFDO1NBQXhCLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRW5jb3VudGVyVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lbmNvdW50ZXItdmlldy9lbmNvdW50ZXItdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbmNvdW50ZXJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2VuY291bnRlci1jb250YWluZXIvZW5jb3VudGVyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW5jb3VudGVyVmlld2VyU2VydmljZSB9IGZyb20gJy4vZW5jb3VudGVyLXZpZXdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEVuY291bnRlclBkZlZpZXdlclNlcnZpY2UgfSBmcm9tICcuL2VuY291bnRlci1wZGYtdmlld2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBRdWVzdGlvbkNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2Rpc3BsYXktY29udHJvbHMvcXVlc3Rpb24tY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL2Rpc3BsYXktY29udHJvbHMvZmlsZS1wcmV2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZW1vdGVBbnN3ZXJDb21wb25lbnQgfSBmcm9tICcuL2Rpc3BsYXktY29udHJvbHMvcmVtb3RlLWFuc3dlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC5tb2R1bGUnO1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRW5jb3VudGVyVmlld2VyQ29tcG9uZW50LFxuICAgIEVuY291bnRlckNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBRdWVzdGlvbkNvbnRyb2xDb21wb25lbnQsXG4gICAgRmlsZVByZXZpZXdDb21wb25lbnQsXG4gICAgUmVtb3RlQW5zd2VyQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIFNoYXJlZE1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtFbmNvdW50ZXJWaWV3ZXJTZXJ2aWNlLCBFbmNvdW50ZXJQZGZWaWV3ZXJTZXJ2aWNlXSxcbiAgZXhwb3J0czogW0VuY291bnRlckNvbnRhaW5lckNvbXBvbmVudCwgSHR0cENsaWVudE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRW5jb3VudGVyVmlld2VyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,165 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as _ from 'lodash';
3
+ var comma = ', ';
4
+ var newLine = '\n';
5
+ var EncounterViewerService = /** @class */ (function () {
6
+ function EncounterViewerService() {
7
+ }
8
+ EncounterViewerService.prototype.resolveSelectedValue = function (value) {
9
+ return;
10
+ };
11
+ EncounterViewerService.prototype.searchOptions = function (searchText) {
12
+ return;
13
+ };
14
+ EncounterViewerService.prototype.fileUpload = function (data) {
15
+ return;
16
+ };
17
+ EncounterViewerService.prototype.fetchFile = function (url) {
18
+ return;
19
+ };
20
+ EncounterViewerService.prototype.resolveSelectedValueFromSchema = function (answerUuid, schema) {
21
+ var _this = this;
22
+ var label;
23
+ if (schema.pages) {
24
+ _.forEach(schema.pages, function (page) {
25
+ var l = _this.resolveSelectedValueFromSchema(answerUuid, page);
26
+ if (l) {
27
+ label = l;
28
+ }
29
+ });
30
+ }
31
+ if (schema.sections) {
32
+ _.forEach(schema.sections, function (section) {
33
+ var l = _this.resolveSelectedValueFromSchema(answerUuid, section);
34
+ if (l) {
35
+ label = l;
36
+ }
37
+ });
38
+ }
39
+ if (schema.questions) {
40
+ _.forEach(schema.questions, function (question) {
41
+ if (question.questions) {
42
+ var l = _this.resolveSelectedValueFromSchema(answerUuid, question);
43
+ if (l) {
44
+ label = l;
45
+ }
46
+ }
47
+ else {
48
+ if (question.questionOptions.answers) {
49
+ _.forEach(question.questionOptions.answers, function (answer) {
50
+ if (answer.concept === answerUuid) {
51
+ label = answer.label;
52
+ }
53
+ });
54
+ }
55
+ else if (question.questionOptions.selectableOrders) {
56
+ _.forEach(question.questionOptions.selectableOrders, function (order) {
57
+ if (order.concept === answerUuid) {
58
+ label = order.label;
59
+ }
60
+ });
61
+ }
62
+ }
63
+ });
64
+ }
65
+ return label;
66
+ };
67
+ EncounterViewerService.prototype.hasAnswer = function (node) {
68
+ var answered = false;
69
+ if (node.initialValue) {
70
+ answered = true;
71
+ }
72
+ return answered;
73
+ };
74
+ EncounterViewerService.prototype.questionsAnswered = function (node, answered) {
75
+ var _this = this;
76
+ var $answered = answered || [];
77
+ if (node.question.renderingType === 'page') {
78
+ _.forEach(node.children, function (childNode) {
79
+ _this.questionsAnswered(childNode, $answered);
80
+ });
81
+ }
82
+ else if (node.question.renderingType === 'section') {
83
+ _.forEach(node.children, function (childNode) {
84
+ if (childNode.question.renderingType === 'group') {
85
+ _.forEach(childNode.children, function (child) {
86
+ var ans = _this.questionsAnswered(child, $answered);
87
+ if (ans) {
88
+ $answered.push(ans);
89
+ }
90
+ });
91
+ }
92
+ else if (_this.hasAnswer(childNode)) {
93
+ $answered.push(true);
94
+ }
95
+ });
96
+ }
97
+ else {
98
+ return this.hasAnswer(node);
99
+ }
100
+ if ($answered.length > 0) {
101
+ return true;
102
+ }
103
+ else {
104
+ return false;
105
+ }
106
+ };
107
+ EncounterViewerService.prototype.isDate = function (val) {
108
+ if (Date.parse(val)) {
109
+ return true;
110
+ }
111
+ else {
112
+ return false;
113
+ }
114
+ };
115
+ EncounterViewerService.prototype.convertTime = function (unixTimestamp) {
116
+ var a = new Date(unixTimestamp);
117
+ var months = [
118
+ 'Jan',
119
+ 'Feb',
120
+ 'Mar',
121
+ 'Apr',
122
+ 'May',
123
+ 'Jun',
124
+ 'Jul',
125
+ 'Aug',
126
+ 'Sep',
127
+ 'Oct',
128
+ 'Nov',
129
+ 'Dec'
130
+ ];
131
+ var year = a.getFullYear();
132
+ var month = months[a.getMonth()];
133
+ var date = a.getDate();
134
+ var hour = a.getHours();
135
+ var min = a.getMinutes();
136
+ var sec = a.getSeconds();
137
+ var suffix = hour < 12 ? 'AM' : 'PM';
138
+ var time;
139
+ if (hour === 0 && min === 0) {
140
+ time = date + ' ' + month + ' ' + year;
141
+ }
142
+ else {
143
+ time =
144
+ date +
145
+ ' ' +
146
+ month +
147
+ ' ' +
148
+ year +
149
+ ' ' +
150
+ hour +
151
+ ':' +
152
+ min +
153
+ suffix +
154
+ ' (EAT)';
155
+ }
156
+ return time;
157
+ };
158
+ EncounterViewerService.decorators = [
159
+ { type: Injectable },
160
+ ];
161
+ EncounterViewerService.ctorParameters = function () { return []; };
162
+ return EncounterViewerService;
163
+ }());
164
+ export { EncounterViewerService };
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb3VudGVyLXZpZXdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJlbmNvdW50ZXItdmlld2VyL2VuY291bnRlci12aWV3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBSTVCLElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQztBQUNuQixJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFFckI7SUFFRTtJQUFlLENBQUM7SUFDVCxxREFBb0IsR0FBM0IsVUFBNEIsS0FBVTtRQUNwQyxNQUFNLENBQUM7SUFDVCxDQUFDO0lBQ00sOENBQWEsR0FBcEIsVUFBcUIsVUFBZTtRQUNsQyxNQUFNLENBQUM7SUFDVCxDQUFDO0lBQ00sMkNBQVUsR0FBakIsVUFBa0IsSUFBUztRQUN6QixNQUFNLENBQUM7SUFDVCxDQUFDO0lBQ00sMENBQVMsR0FBaEIsVUFBaUIsR0FBUTtRQUN2QixNQUFNLENBQUM7SUFDVCxDQUFDO0lBRU0sK0RBQThCLEdBQXJDLFVBQ0UsVUFBa0IsRUFDbEIsTUFBVztRQUZiLGlCQWdEQztRQTVDQyxJQUFJLEtBQUssQ0FBQztRQUNWLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFDLElBQUk7Z0JBQzNCLElBQU0sQ0FBQyxHQUFHLEtBQUksQ0FBQyw4QkFBOEIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ04sS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDWixDQUFDO1lBQ0gsQ0FB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LENBQUMsQ0FBQztZQUNOLElBQUk7Z0JBQ0YsSUFBSTtvQkFDSixHQUFHO29CQUNILEtBQUs7b0JBQ0wsR0FBRztvQkFDSCxJQUFJO29CQUNKLEdBQUc7b0JBQ0gsSUFBSTtvQkFDSixHQUFHO29CQUNILEdBQUc7b0JBQ0gsTUFBTTtvQkFDTixRQUFRLENBQUM7UUFDYixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUM7O2dCQXhKRixVQUFVOzs7SUF5SlgsNkJBQUM7Q0FBQSxBQXpKRCxJQXlKQztTQXhKWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBHcm91cE5vZGUsXG4gIExlYWZOb2RlLFxuICBBcnJheU5vZGUsXG4gIE5vZGVCYXNlXG59IGZyb20gJy4uL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L2Zvcm0tbm9kZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL3NlbGVjdC1vcHRpb24nO1xuY29uc3QgY29tbWEgPSAnLCAnO1xuY29uc3QgbmV3TGluZSA9ICdcXG4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW5jb3VudGVyVmlld2VyU2VydmljZSBpbXBsZW1lbnRzIERhdGFTb3VyY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG4gIHB1YmxpYyByZXNvbHZlU2VsZWN0ZWRWYWx1ZSh2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb24+IHtcbiAgICByZXR1cm47XG4gIH1cbiAgcHVibGljIHNlYXJjaE9wdGlvbnMoc2VhcmNoVGV4dDogYW55KTogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb25bXT4ge1xuICAgIHJldHVybjtcbiAgfVxuICBwdWJsaWMgZmlsZVVwbG9hZChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuICBwdWJsaWMgZmV0Y2hGaWxlKHVybDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZVNlbGVjdGVkVmFsdWVGcm9tU2NoZW1hKFxuICAgIGFuc3dlclV1aWQ6IHN0cmluZyxcbiAgICBzY2hlbWE6IGFueVxuICApOiBzdHJpbmcge1xuICAgIGxldCBsYWJlbDtcbiAgICBpZiAoc2NoZW1hLnBhZ2VzKSB7XG4gICAgICBfLmZvckVhY2goc2NoZW1hLnBhZ2VzLCAocGFnZSkgPT4ge1xuICAgICAgICBjb25zdCBsID0gdGhpcy5yZXNvbHZlU2VsZWN0ZWRWYWx1ZUZyb21TY2hlbWEoYW5zd2VyVXVpZCwgcGFnZSk7XG4gICAgICAgIGlmIChsKSB7XG4gICAgICAgICAgbGFiZWwgPSBsO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoc2NoZW1hLnNlY3Rpb25zKSB7XG4gICAgICBfLmZvckVhY2goc2NoZW1hLnNlY3Rpb25zLCAoc2VjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBsID0gdGhpcy5yZXNvbHZlU2VsZWN0ZWRWYWx1ZUZyb21TY2hlbWEoYW5zd2VyVXVpZCwgc2VjdGlvbik7XG4gICAgICAgIGlmIChsKSB7XG4gICAgICAgICAgbGFiZWwgPSBsO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoc2NoZW1hLnF1ZXN0aW9ucykge1xuICAgICAgXy5mb3JFYWNoKHNjaGVtYS5xdWVzdGlvbnMsIChxdWVzdGlvbikgPT4ge1xuICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25zKSB7XG4gICAgICAgICAgY29uc3QgbCA9IHRoaXMucmVzb2x2ZVNlbGVjdGVkVmFsdWVGcm9tU2NoZW1hKGFuc3dlclV1aWQsIHF1ZXN0aW9uKTtcbiAgICAgICAgICBpZiAobCkge1xuICAgICAgICAgICAgbGFiZWwgPSBsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAocXVlc3Rpb24ucXVlc3Rpb25PcHRpb25zLmFuc3dlcnMpIHtcbiAgICAgICAgICAgIF8uZm9yRWFjaChxdWVzdGlvbi5xdWVzdGlvbk9wdGlvbnMuYW5zd2VycywgKGFuc3dlcikgPT4ge1xuICAgICAgICAgICAgICBpZiAoYW5zd2VyLmNvbmNlcHQgPT09IGFuc3dlclV1aWQpIHtcbiAgICAgICAgICAgICAgICBsYWJlbCA9IGFuc3dlci5sYWJlbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChxdWVzdGlvbi5xdWVzdGlvbk9wdGlvbnMuc2VsZWN0YWJsZU9yZGVycykge1xuICAgICAgICAgICAgXy5mb3JFYWNoKHF1ZXN0aW9uLnF1ZXN0aW9uT3B0aW9ucy5zZWxlY3RhYmxlT3JkZXJzLCAob3JkZXIpID0+IHtcbiAgICAgICAgICAgICAgaWYgKG9yZGVyLmNvbmNlcHQgPT09IGFuc3dlclV1aWQpIHtcbiAgICAgICAgICAgICAgICBsYWJlbCA9IG9yZGVyLmxhYmVsO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICBwdWJsaWMgaGFzQW5zd2VyKG5vZGU6IE5vZGVCYXNlKSB7XG4gICAgbGV0IGFuc3dlcmVkID0gZmFsc2U7XG4gICAgaWYgKG5vZGUuaW5pdGlhbFZhbHVlKSB7XG4gICAgICBhbnN3ZXJlZCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBhbnN3ZXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBxdWVzdGlvbnNBbnN3ZXJlZChub2RlOiBhbnksIGFuc3dlcmVkPzogYm9vbGVhbltdKSB7XG4gICAgY29uc3QgJGFuc3dlcmVkID0gYW5zd2VyZWQgfHwgW107XG4gICAgaWYgKG5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3BhZ2UnKSB7XG4gICAgICBfLmZvckVhY2gobm9kZS5jaGlsZHJlbiwgKGNoaWxkTm9kZTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucXVlc3Rpb25zQW5zd2VyZWQoY2hpbGROb2RlLCAkYW5zd2VyZWQpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdzZWN0aW9uJykge1xuICAgICAgXy5mb3JFYWNoKG5vZGUuY2hpbGRyZW4sIChjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgaWYgKGNoaWxkTm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlID09PSAnZ3JvdXAnKSB7XG4gICAgICAgICAgXy5mb3JFYWNoKGNoaWxkTm9kZS5jaGlsZHJlbiwgKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbnMgPSB0aGlzLnF1ZXN0aW9uc0Fuc3dlcmVkKGNoaWxkLCAkYW5zd2VyZWQpO1xuICAgICAgICAgICAgaWYgKGFucykge1xuICAgICAgICAgICAgICAkYW5zd2VyZWQucHVzaChhbnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzQW5zd2VyKGNoaWxkTm9kZSkpIHtcbiAgICAgICAgICAkYW5zd2VyZWQucHVzaCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmhhc0Fuc3dlcihub2RlKTtcbiAgICB9XG5cbiAgICBpZiAoJGFuc3dlcmVkLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzRGF0ZSh2YWw6IGFueSkge1xuICAgIGlmIChEYXRlLnBhcnNlKHZhbCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBjb252ZXJ0VGltZSh1bml4VGltZXN0YW1wOiBudW1iZXIpIHtcbiAgICBjb25zdCBhID0gbmV3IERhdGUodW5peFRpbWVzdGFtcCk7XG4gICAgY29uc3QgbW9udGhzID0gW1xuICAgICAgJ0phbicsXG4gICAgICAnRmViJyxcbiAgICAgICdNYXInLFxuICAgICAgJ0FwcicsXG4gICAgICAnTWF5JyxcbiAgICAgICdKdW4nLFxuICAgICAgJ0p1bCcsXG4gICAgICAnQXVnJyxcbiAgICAgICdTZXAnLFxuICAgICAgJ09jdCcsXG4gICAgICAnTm92JyxcbiAgICAgICdEZWMnXG4gICAgXTtcbiAgICBjb25zdCB5ZWFyID0gYS5nZXRGdWxsWWVhcigpO1xuICAgIGNvbnN0IG1vbnRoID0gbW9udGhzW2EuZ2V0TW9udGgoKV07XG4gICAgY29uc3QgZGF0ZSA9IGEuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IGhvdXIgPSBhLmdldEhvdXJzKCk7XG4gICAgY29uc3QgbWluID0gYS5nZXRNaW51dGVzKCk7XG4gICAgY29uc3Qgc2VjID0gYS5nZXRTZWNvbmRzKCk7XG4gICAgY29uc3Qgc3VmZml4ID0gaG91ciA8IDEyID8gJ0FNJyA6ICdQTSc7XG4gICAgbGV0IHRpbWU7XG4gICAgaWYgKGhvdXIgPT09IDAgJiYgbWluID09PSAwKSB7XG4gICAgICB0aW1lID0gZGF0ZSArICcgJyArIG1vbnRoICsgJyAnICsgeWVhcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGltZSA9XG4gICAgICAgIGRhdGUgK1xuICAgICAgICAnICcgK1xuICAgICAgICBtb250aCArXG4gICAgICAgICcgJyArXG4gICAgICAgIHllYXIgK1xuICAgICAgICAnICcgK1xuICAgICAgICBob3VyICtcbiAgICAgICAgJzonICtcbiAgICAgICAgbWluICtcbiAgICAgICAgc3VmZml4ICtcbiAgICAgICAgJyAoRUFUKSc7XG4gICAgfVxuICAgIHJldHVybiB0aW1lO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ var AlertHelper = /** @class */ (function () {
2
+ function AlertHelper() {
3
+ }
4
+ AlertHelper.prototype.hideAlert = function (control) {
5
+ control.shown = false;
6
+ };
7
+ AlertHelper.prototype.showAlert = function (control) {
8
+ control.shown = true;
9
+ };
10
+ AlertHelper.prototype.setAlertsForControl = function (control, alert) {
11
+ control.alerts.push(alert);
12
+ };
13
+ AlertHelper.prototype.clearAlertsForControl = function (control) {
14
+ control.alerts.splice(0);
15
+ control.alert = '';
16
+ };
17
+ AlertHelper.prototype.evaluateControlAlerts = function (control) {
18
+ var messageValue = '';
19
+ control.alerts.forEach(function (message) {
20
+ message.reEvaluateAlertExpression();
21
+ if (message.shown === true) {
22
+ messageValue = message.alertMessage;
23
+ }
24
+ else {
25
+ messageValue = '';
26
+ }
27
+ });
28
+ control.alert = messageValue;
29
+ // if (control.message && control.disable) {
30
+ // control.disable();
31
+ // // control.setValue(null);
32
+ // }
33
+ };
34
+ AlertHelper.prototype.setUpReEvaluationWhenValueChanges = function (control) {
35
+ if (control.updateAlert) {
36
+ control.valueChanges.subscribe(function (val) {
37
+ control.updateAlert();
38
+ });
39
+ }
40
+ };
41
+ return AlertHelper;
42
+ }());
43
+ export { AlertHelper };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9jb250cm9sLWFsZXJ0cy9hbGVydC1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0lBQUE7SUEyQ0EsQ0FBQztJQTFDUSwrQkFBUyxHQUFoQixVQUFpQixPQUFjO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSwrQkFBUyxHQUFoQixVQUFpQixPQUFjO1FBQzdCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSx5Q0FBbUIsR0FBMUIsVUFBMkIsT0FBeUIsRUFBRSxLQUFZO1FBQ2hFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSwyQ0FBcUIsR0FBNUIsVUFBNkIsT0FBeUI7UUFDcEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLDJDQUFxQixHQUE1QixVQUE2QixPQUF5QjtRQUNwRCxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBQyxPQUFPO1lBQzdCLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ3BDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDM0IsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDdEMsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNOLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7UUFDN0IsNENBQTRDO1FBQzVDLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsSUFBSTtJQUNOLENBQUM7SUFFTSx1REFBaUMsR0FBeEMsVUFBeUMsT0FBeUI7UUFDaEUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDeEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBQyxHQUFHO2dCQUNqQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FBQyxBQTNDRCxJQTJDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbkdlbmVyYXRlQWxlcnQsIEFsZXJ0IH0gZnJvbSAnLi9jYW4tZ2VuZXJhdGUtYWxlcnQnO1xuZXhwb3J0IGNsYXNzIEFsZXJ0SGVscGVyIHtcbiAgcHVibGljIGhpZGVBbGVydChjb250cm9sOiBBbGVydCkge1xuICAgIGNvbnRyb2wuc2hvd24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93QWxlcnQoY29udHJvbDogQWxlcnQpIHtcbiAgICBjb250cm9sLnNob3duID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBbGVydHNGb3JDb250cm9sKGNvbnRyb2w6IENhbkdlbmVyYXRlQWxlcnQsIGFsZXJ0OiBBbGVydCkge1xuICAgIGNvbnRyb2wuYWxlcnRzLnB1c2goYWxlcnQpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyQWxlcnRzRm9yQ29udHJvbChjb250cm9sOiBDYW5HZW5lcmF0ZUFsZXJ0KSB7XG4gICAgY29udHJvbC5hbGVydHMuc3BsaWNlKDApO1xuICAgIGNvbnRyb2wuYWxlcnQgPSAnJztcbiAgfVxuXG4gIHB1YmxpYyBldmFsdWF0ZUNvbnRyb2xBbGVydHMoY29udHJvbDogQ2FuR2VuZXJhdGVBbGVydCkge1xuICAgIGxldCBtZXNzYWdlVmFsdWUgPSAnJztcbiAgICBjb250cm9sLmFsZXJ0cy5mb3JFYWNoKChtZXNzYWdlKSA9PiB7XG4gICAgICBtZXNzYWdlLnJlRXZhbHVhdGVBbGVydEV4cHJlc3Npb24oKTtcbiAgICAgIGlmIChtZXNzYWdlLnNob3duID09PSB0cnVlKSB7XG4gICAgICAgIG1lc3NhZ2VWYWx1ZSA9IG1lc3NhZ2UuYWxlcnRNZXNzYWdlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZVZhbHVlID0gJyc7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb250cm9sLmFsZXJ0ID0gbWVzc2FnZVZhbHVlO1xuICAgIC8vIGlmIChjb250cm9sLm1lc3NhZ2UgJiYgY29udHJvbC5kaXNhYmxlKSB7XG4gICAgLy8gICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIC8vICAgICAvLyBjb250cm9sLnNldFZhbHVlKG51bGwpO1xuICAgIC8vIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRVcFJlRXZhbHVhdGlvbldoZW5WYWx1ZUNoYW5nZXMoY29udHJvbDogQ2FuR2VuZXJhdGVBbGVydCkge1xuICAgIGlmIChjb250cm9sLnVwZGF0ZUFsZXJ0KSB7XG4gICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgICBjb250cm9sLnVwZGF0ZUFsZXJ0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWdlbmVyYXRlLWFsZXJ0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L2NvbnRyb2wtYWxlcnRzL2Nhbi1nZW5lcmF0ZS1hbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbkdlbmVyYXRlQWxlcnQge1xuICBhbGVydHM6IEFsZXJ0W107XG4gIGFsZXJ0OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlcz86IE9ic2VydmFibGU8YW55PjtcbiAgc2V0QWxlcnRGbihuZXdNZXNzYWdlOiBBbGVydCk7XG4gIGNsZWFyTWVzc2FnZUZucygpO1xuICB1cGRhdGVBbGVydCgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0IHtcbiAgc2hvd246IGJvb2xlYW47XG4gIGFsZXJ0V2hlbkV4cHJlc3Npb246IHN0cmluZztcbiAgYWxlcnRNZXNzYWdlOiBzdHJpbmc7XG4gIHJlRXZhbHVhdGVBbGVydEV4cHJlc3Npb246IEV2YWx1YXRlRXhwcmVzc2lvbkZuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRlRXhwcmVzc2lvbkZuIHtcbiAgKCk7XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNhbGN1bGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9jb250cm9sLWNhbGN1bGF0b3JzL2Nhbi1jYWxjdWxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FuQ2FsY3VsYXRlIHtcbiAgY2FsY3VsYXRvcjogRnVuY3Rpb247XG4gIHNldENhbGN1bGF0b3JGbihuZXdDYWxjdWxhdG9yOiBGdW5jdGlvbik7XG4gIHVwZGF0ZUNhbGN1bGF0ZWRWYWx1ZSgpO1xufVxuIl19
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRpc2FibGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImZvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1kaXNhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuRGlzYWJsZSB7XG4gIGRpc2FibGVyczogRGlzYWJsZXJbXTtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHZhbHVlQ2hhbmdlcz86IE9ic2VydmFibGU8YW55PjtcbiAgZGlzYWJsZSgpO1xuICBlbmFibGUoKTtcbiAgc2V0RGlzYWJsaW5nRm4obmV3SGlkZXI6IERpc2FibGVyKTtcbiAgY2xlYXJEaXNhYmxpbmdGbnMoKTtcbiAgdXBkYXRlRGlzYWJsZWRTdGF0ZSgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc2FibGVyIHtcbiAgdG9EaXNhYmxlOiBib29sZWFuO1xuICBkaXNhYmxlV2hlbkV4cHJlc3Npb246IHN0cmluZztcbiAgcmVFdmFsdWF0ZURpc2FibGluZ0V4cHJlc3Npb246IEV2YWx1YXRlRXhwcmVzc2lvbkZuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRlRXhwcmVzc2lvbkZuIHtcbiAgKCk7XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWhpZGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImZvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1oaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV2YWx1YXRlRXhwcmVzc2lvbkZuIH0gZnJvbSAnLi9jYW4tZGlzYWJsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuSGlkZSB7XG4gIGhpZGVyczogSGlkZXJbXTtcbiAgaGlkZGVuOiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHZhbHVlQ2hhbmdlcz86IE9ic2VydmFibGU8YW55PjtcbiAgZGlzYWJsZT8oKTtcbiAgaGlkZSgpO1xuICBzaG93KCk7XG4gIHNldEhpZGluZ0ZuKG5ld0hpZGVyOiBIaWRlcik7XG4gIGNsZWFySGlkaW5nRm5zKCk7XG4gIHVwZGF0ZUhpZGRlblN0YXRlKCk7XG4gIHNldFZhbHVlPyh2YWx1ZTogYW55KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIaWRlciB7XG4gIHRvSGlkZTogYm9vbGVhbjtcbiAgaGlkZVdoZW5FeHByZXNzaW9uOiBzdHJpbmc7XG4gIHJlRXZhbHVhdGVIaWRpbmdFeHByZXNzaW9uOiBFdmFsdWF0ZUV4cHJlc3Npb25Gbjtcbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ var DisablerHelper = /** @class */ (function () {
2
+ function DisablerHelper() {
3
+ }
4
+ DisablerHelper.prototype.setDisablerForControl = function (control, disabler) {
5
+ control.disablers.push(disabler);
6
+ };
7
+ DisablerHelper.prototype.clearDisablersForControl = function (control) {
8
+ control.disablers.splice(0);
9
+ control.disable();
10
+ };
11
+ DisablerHelper.prototype.evaluateControlDisablers = function (control) {
12
+ var toDisable = false;
13
+ control.disablers.forEach(function (hider) {
14
+ hider.reEvaluateDisablingExpression();
15
+ if (hider.toDisable === true) {
16
+ toDisable = true;
17
+ }
18
+ });
19
+ // console.log('Control', control);
20
+ if (toDisable) {
21
+ control.disable();
22
+ }
23
+ else {
24
+ control.enable();
25
+ }
26
+ };
27
+ DisablerHelper.prototype.setUpReEvaluationWhenValueChanges = function (control) {
28
+ if (control.updateDisabledState) {
29
+ control.valueChanges.subscribe(function (val) {
30
+ control.updateDisabledState();
31
+ });
32
+ }
33
+ };
34
+ return DisablerHelper;
35
+ }());
36
+ export { DisablerHelper };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZXItaGVscGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJmb3JtLWVudHJ5L2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9kaXNhYmxlci1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7SUFBQTtJQW1DQSxDQUFDO0lBbENRLDhDQUFxQixHQUE1QixVQUE2QixPQUFtQixFQUFFLFFBQWtCO1FBQ2xFLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxpREFBd0IsR0FBL0IsVUFBZ0MsT0FBbUI7UUFDakQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxpREFBd0IsR0FBL0IsVUFBZ0MsT0FBbUI7UUFDakQsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSztZQUM5QixLQUFLLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUN0QyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzdCLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsbUNBQW1DO1FBRW5DLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDZCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRU0sMERBQWlDLEdBQXhDLFVBQXlDLE9BQW1CO1FBQzFELEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBQyxHQUFHO2dCQUNqQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBQ0gscUJBQUM7QUFBRCxDQUFDLEFBbkNELElBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FuRGlzYWJsZSwgRGlzYWJsZXIgfSBmcm9tICcuL2Nhbi1kaXNhYmxlJztcbmV4cG9ydCBjbGFzcyBEaXNhYmxlckhlbHBlciB7XG4gIHB1YmxpYyBzZXREaXNhYmxlckZvckNvbnRyb2woY29udHJvbDogQ2FuRGlzYWJsZSwgZGlzYWJsZXI6IERpc2FibGVyKSB7XG4gICAgY29udHJvbC5kaXNhYmxlcnMucHVzaChkaXNhYmxlcik7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJEaXNhYmxlcnNGb3JDb250cm9sKGNvbnRyb2w6IENhbkRpc2FibGUpIHtcbiAgICBjb250cm9sLmRpc2FibGVycy5zcGxpY2UoMCk7XG4gICAgY29udHJvbC5kaXNhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZXZhbHVhdGVDb250cm9sRGlzYWJsZXJzKGNvbnRyb2w6IENhbkRpc2FibGUpIHtcbiAgICBsZXQgdG9EaXNhYmxlID0gZmFsc2U7XG4gICAgY29udHJvbC5kaXNhYmxlcnMuZm9yRWFjaCgoaGlkZXIpID0+IHtcbiAgICAgIGhpZGVyLnJlRXZhbHVhdGVEaXNhYmxpbmdFeHByZXNzaW9uKCk7XG4gICAgICBpZiAoaGlkZXIudG9EaXNhYmxlID09PSB0cnVlKSB7XG4gICAgICAgIHRvRGlzYWJsZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBjb25zb2xlLmxvZygnQ29udHJvbCcsIGNvbnRyb2wpO1xuXG4gICAgaWYgKHRvRGlzYWJsZSkge1xuICAgICAgY29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFVwUmVFdmFsdWF0aW9uV2hlblZhbHVlQ2hhbmdlcyhjb250cm9sOiBDYW5EaXNhYmxlKSB7XG4gICAgaWYgKGNvbnRyb2wudXBkYXRlRGlzYWJsZWRTdGF0ZSkge1xuICAgICAgY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWwpID0+IHtcbiAgICAgICAgY29udHJvbC51cGRhdGVEaXNhYmxlZFN0YXRlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ var HiderHelper = /** @class */ (function () {
2
+ function HiderHelper() {
3
+ }
4
+ HiderHelper.prototype.hideControl = function (control) {
5
+ control.hidden = true;
6
+ if (control.disable) {
7
+ control.disable();
8
+ }
9
+ };
10
+ HiderHelper.prototype.showControl = function (control) {
11
+ control.hidden = false;
12
+ };
13
+ HiderHelper.prototype.setHiderForControl = function (control, hider) {
14
+ control.hiders.push(hider);
15
+ };
16
+ HiderHelper.prototype.clearHidersForControl = function (control) {
17
+ control.hiders.splice(0);
18
+ control.hidden = false;
19
+ };
20
+ HiderHelper.prototype.evaluateControlHiders = function (control) {
21
+ var hiddenValue = false;
22
+ control.hiders.forEach(function (hider) {
23
+ hider.reEvaluateHidingExpression();
24
+ if (hider.toHide === true) {
25
+ hiddenValue = true;
26
+ }
27
+ });
28
+ control.hidden = hiddenValue;
29
+ if (control.hidden && control.disable) {
30
+ control.disable();
31
+ // control.setValue(null);
32
+ }
33
+ };
34
+ HiderHelper.prototype.setUpReEvaluationWhenValueChanges = function (control) {
35
+ if (control.updateHiddenState) {
36
+ control.valueChanges.subscribe(function (val) {
37
+ control.updateHiddenState();
38
+ });
39
+ }
40
+ };
41
+ return HiderHelper;
42
+ }());
43
+ export { HiderHelper };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlkZXItaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhbXBhdGgta2VueWEvbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiZm9ybS1lbnRyeS9jb250cm9sLWhpZGVycy1kaXNhYmxlcnMvaGlkZXItaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtJQUFBO0lBNENBLENBQUM7SUEzQ1EsaUNBQVcsR0FBbEIsVUFBbUIsT0FBZ0I7UUFDakMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDdEIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDcEIsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRU0saUNBQVcsR0FBbEIsVUFBbUIsT0FBZ0I7UUFDakMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVNLHdDQUFrQixHQUF6QixVQUEwQixPQUFnQixFQUFFLEtBQVk7UUFDdEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLDJDQUFxQixHQUE1QixVQUE2QixPQUFnQjtRQUMzQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixPQUFPLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRU0sMkNBQXFCLEdBQTVCLFVBQTZCLE9BQWdCO1FBQzNDLElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN4QixPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQUs7WUFDM0IsS0FBSyxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDbkMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1FBQzdCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLDBCQUEwQjtRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVNLHVEQUFpQyxHQUF4QyxVQUF5QyxPQUFnQjtRQUN2RCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQUMsR0FBRztnQkFDakMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FBQyxBQTVDRCxJQTRDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbkhpZGUsIEhpZGVyIH0gZnJvbSAnLi9jYW4taGlkZSc7XG5leHBvcnQgY2xhc3MgSGlkZXJIZWxwZXIge1xuICBwdWJsaWMgaGlkZUNvbnRyb2woY29udHJvbDogQ2FuSGlkZSkge1xuICAgIGNvbnRyb2wuaGlkZGVuID0gdHJ1ZTtcbiAgICBpZiAoY29udHJvbC5kaXNhYmxlKSB7XG4gICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvd0NvbnRyb2woY29udHJvbDogQ2FuSGlkZSkge1xuICAgIGNvbnRyb2wuaGlkZGVuID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2V0SGlkZXJGb3JDb250cm9sKGNvbnRyb2w6IENhbkhpZGUsIGhpZGVyOiBIaWRlcikge1xuICAgIGNvbnRyb2wuaGlkZXJzLnB1c2goaGlkZXIpO1xuICB9XG5cbiAgcHVibGljIGNsZWFySGlkZXJzRm9yQ29udHJvbChjb250cm9sOiBDYW5IaWRlKSB7XG4gICAgY29udHJvbC5oaWRlcnMuc3BsaWNlKDApO1xuICAgIGNvbnRyb2wuaGlkZGVuID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZXZhbHVhdGVDb250cm9sSGlkZXJzKGNvbnRyb2w6IENhbkhpZGUpIHtcbiAgICBsZXQgaGlkZGVuVmFsdWUgPSBmYWxzZTtcbiAgICBjb250cm9sLmhpZGVycy5mb3JFYWNoKChoaWRlcikgPT4ge1xuICAgICAgaGlkZXIucmVFdmFsdWF0ZUhpZGluZ0V4cHJlc3Npb24oKTtcbiAgICAgIGlmIChoaWRlci50b0hpZGUgPT09IHRydWUpIHtcbiAgICAgICAgaGlkZGVuVmFsdWUgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29udHJvbC5oaWRkZW4gPSBoaWRkZW5WYWx1ZTtcbiAgICBpZiAoY29udHJvbC5oaWRkZW4gJiYgY29udHJvbC5kaXNhYmxlKSB7XG4gICAgICBjb250cm9sLmRpc2FibGUoKTtcbiAgICAgIC8vIGNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFVwUmVFdmFsdWF0aW9uV2hlblZhbHVlQ2hhbmdlcyhjb250cm9sOiBDYW5IaWRlKSB7XG4gICAgaWYgKGNvbnRyb2wudXBkYXRlSGlkZGVuU3RhdGUpIHtcbiAgICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgIGNvbnRyb2wudXBkYXRlSGlkZGVuU3RhdGUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19