@openmrs/ngx-formentry 3.2.1-pre.276 → 3.2.1-pre.279

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 (412) hide show
  1. package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/question.factory.mjs +3 -1
  2. package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-renderer/form-renderer.component.mjs +3 -3
  3. package/esm2020/form-entry/value-adapters/diagnosis.adapter.mjs +229 -0
  4. package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/value-adapters/encounter.adapter.mjs +1 -1
  5. package/{dist/ngx-formentry/fesm2015 → fesm2015}/openmrs-ngx-formentry.mjs +105 -16
  6. package/fesm2015/openmrs-ngx-formentry.mjs.map +1 -0
  7. package/{dist/ngx-formentry/fesm2020 → fesm2020}/openmrs-ngx-formentry.mjs +101 -16
  8. package/fesm2020/openmrs-ngx-formentry.mjs.map +1 -0
  9. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/diagnosis.adapter.d.ts +3 -0
  10. package/package.json +37 -94
  11. package/README.md +0 -429
  12. package/dist/ngx-formentry/esm2020/form-entry/value-adapters/diagnosis.adapter.mjs +0 -144
  13. package/dist/ngx-formentry/fesm2015/openmrs-ngx-formentry.mjs.map +0 -1
  14. package/dist/ngx-formentry/fesm2020/openmrs-ngx-formentry.mjs.map +0 -1
  15. package/dist/ngx-formentry/package.json +0 -48
  16. package/src/app/adult-1.4.json +0 -6858
  17. package/src/app/adult-1.6.json +0 -8082
  18. package/src/app/adult.json +0 -5700
  19. package/src/app/app.component.css +0 -0
  20. package/src/app/app.component.html +0 -25
  21. package/src/app/app.component.spec.ts +0 -23
  22. package/src/app/app.component.ts +0 -414
  23. package/src/app/app.module.ts +0 -24
  24. package/src/app/mock/mock-form.ts +0 -101
  25. package/src/app/mock/mock-obs.ts +0 -440
  26. package/src/app/mock/mock-translations.ts +0 -73
  27. package/src/app/mock/obs.json +0 -4188
  28. package/src/app/mock/orders.json +0 -338
  29. package/src/app/mock/schema/adult-return.json +0 -72
  30. package/src/app/mock/schema/compiled-adult-return.json +0 -706
  31. package/src/app/mock/schema/component_art.json +0 -1705
  32. package/src/app/mock/schema/component_hospitalization.json +0 -133
  33. package/src/app/mock/schema/component_preclinic-review.json +0 -480
  34. package/src/app/ncd-registration-1.0.json +0 -456
  35. package/src/app/translate/json-loader.ts +0 -10
  36. package/src/app/translate/translate.module.ts +0 -23
  37. package/src/assets/.gitkeep +0 -0
  38. package/src/assets/carbon.select.theme.css +0 -356
  39. package/src/environments/environment.prod.ts +0 -3
  40. package/src/environments/environment.ts +0 -15
  41. package/src/favicon.ico +0 -0
  42. package/src/index.html +0 -23
  43. package/src/karma.conf.js +0 -37
  44. package/src/main.ts +0 -13
  45. package/src/polyfills.ts +0 -68
  46. package/src/styles.scss +0 -8
  47. package/src/test.ts +0 -23
  48. package/src/translations/en.json +0 -53
  49. package/src/translations/fr.json +0 -53
  50. package/src/tsconfig.app.json +0 -13
  51. package/src/tsconfig.spec.json +0 -9
  52. package/src/tslint.json +0 -9
  53. package/src/typings.d.ts +0 -4
  54. /package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-control-type.d.ts +0 -0
  55. /package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-array.d.ts +0 -0
  56. /package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-control.d.ts +0 -0
  57. /package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-group.d.ts +0 -0
  58. /package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/control-extensions.d.ts +0 -0
  59. /package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/index.d.ts +0 -0
  60. /package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/value-change.listener.d.ts +0 -0
  61. /package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relation.d.ts +0 -0
  62. /package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relations.d.ts +0 -0
  63. /package/{dist/ngx-formentry/components → components}/afe-ng-select.component.d.ts +0 -0
  64. /package/{dist/ngx-formentry/components → components}/appointments-overview/appointments-overview.component.d.ts +0 -0
  65. /package/{dist/ngx-formentry/components → components}/check-box/checkbox.component.d.ts +0 -0
  66. /package/{dist/ngx-formentry/components → components}/check-box/checkbox.module.d.ts +0 -0
  67. /package/{dist/ngx-formentry/components → components}/custom-component-wrapper/custom-component-wrapper..module.d.ts +0 -0
  68. /package/{dist/ngx-formentry/components → components}/custom-component-wrapper/custom-component-wrapper.component.d.ts +0 -0
  69. /package/{dist/ngx-formentry/components → components}/custom-control-wrapper/custom-control-wrapper..module.d.ts +0 -0
  70. /package/{dist/ngx-formentry/components → components}/custom-control-wrapper/custom-control-wrapper.component.d.ts +0 -0
  71. /package/{dist/ngx-formentry/components → components}/date-time-picker/date-picker/date-picker.component.d.ts +0 -0
  72. /package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.component.d.ts +0 -0
  73. /package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.module.d.ts +0 -0
  74. /package/{dist/ngx-formentry/components → components}/date-time-picker/index.d.ts +0 -0
  75. /package/{dist/ngx-formentry/components → components}/date-time-picker/picker-modal/modal.component.d.ts +0 -0
  76. /package/{dist/ngx-formentry/components → components}/date-time-picker/pipes/moment.pipe.d.ts +0 -0
  77. /package/{dist/ngx-formentry/components → components}/date-time-picker/time-picker/time-picker.component.d.ts +0 -0
  78. /package/{dist/ngx-formentry/components → components}/file-upload/file-upload.component.d.ts +0 -0
  79. /package/{dist/ngx-formentry/components → components}/file-upload/file-upload.module.d.ts +0 -0
  80. /package/{dist/ngx-formentry/components → components}/file-upload/secure.pipe.d.ts +0 -0
  81. /package/{dist/ngx-formentry/components → components}/input/input.directive.d.ts +0 -0
  82. /package/{dist/ngx-formentry/components → components}/input/input.module.d.ts +0 -0
  83. /package/{dist/ngx-formentry/components → components}/input/label.component.d.ts +0 -0
  84. /package/{dist/ngx-formentry/components → components}/input/text-area.directive.d.ts +0 -0
  85. /package/{dist/ngx-formentry/components → components}/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +0 -0
  86. /package/{dist/ngx-formentry/components → components}/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +0 -0
  87. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.d.ts +0 -0
  88. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.d.ts +0 -0
  89. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +0 -0
  90. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.d.ts +0 -0
  91. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +0 -0
  92. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +0 -0
  93. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +0 -0
  94. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +0 -0
  95. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +0 -0
  96. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +0 -0
  97. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +0 -0
  98. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +0 -0
  99. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +0 -0
  100. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +0 -0
  101. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +0 -0
  102. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time-picker.animations.d.ts +0 -0
  103. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +0 -0
  104. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +0 -0
  105. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +0 -0
  106. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +0 -0
  107. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +0 -0
  108. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/date-time/timer.component.d.ts +0 -0
  109. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/dialog/dialog-config.class.d.ts +0 -0
  110. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +0 -0
  111. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/dialog/dialog-ref.class.d.ts +0 -0
  112. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +0 -0
  113. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +0 -0
  114. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/utils/index.d.ts +0 -0
  115. /package/{dist/ngx-formentry/components → components}/ngx-pick-datetime/lib/utils/object.utils.d.ts +0 -0
  116. /package/{dist/ngx-formentry/components → components}/ngx-remote-select/ngx-remote-select.component.d.ts +0 -0
  117. /package/{dist/ngx-formentry/components → components}/ngx-remote-select/ngx-remote-select.module.d.ts +0 -0
  118. /package/{dist/ngx-formentry/components → components}/ngx-tabset/components/ngx-tab-set.component.d.ts +0 -0
  119. /package/{dist/ngx-formentry/components → components}/ngx-tabset/components/tab.component.d.ts +0 -0
  120. /package/{dist/ngx-formentry/components → components}/ngx-tabset/directives/hover-class.directive.d.ts +0 -0
  121. /package/{dist/ngx-formentry/components → components}/ngx-tabset/modules/ngx-tabset.module.d.ts +0 -0
  122. /package/{dist/ngx-formentry/components → components}/number-input/number-input.component.d.ts +0 -0
  123. /package/{dist/ngx-formentry/components → components}/number-input/number-input.module.d.ts +0 -0
  124. /package/{dist/ngx-formentry/components → components}/number-input/number.directive.d.ts +0 -0
  125. /package/{dist/ngx-formentry/components → components}/radio-button/radio.component.d.ts +0 -0
  126. /package/{dist/ngx-formentry/components → components}/radio-button/radio.module.d.ts +0 -0
  127. /package/{dist/ngx-formentry/components → components}/select/optgroup.directive.d.ts +0 -0
  128. /package/{dist/ngx-formentry/components → components}/select/option.directive.d.ts +0 -0
  129. /package/{dist/ngx-formentry/components → components}/select/select.component.d.ts +0 -0
  130. /package/{dist/ngx-formentry/components → components}/select/select.module.d.ts +0 -0
  131. /package/{dist/ngx-formentry/esm2020 → esm2020}/abstract-controls-extension/afe-control-type.mjs +0 -0
  132. /package/{dist/ngx-formentry/esm2020 → esm2020}/abstract-controls-extension/afe-form-array.mjs +0 -0
  133. /package/{dist/ngx-formentry/esm2020 → esm2020}/abstract-controls-extension/afe-form-control.mjs +0 -0
  134. /package/{dist/ngx-formentry/esm2020 → esm2020}/abstract-controls-extension/afe-form-group.mjs +0 -0
  135. /package/{dist/ngx-formentry/esm2020 → esm2020}/abstract-controls-extension/control-extensions.mjs +0 -0
  136. /package/{dist/ngx-formentry/esm2020 → esm2020}/abstract-controls-extension/index.mjs +0 -0
  137. /package/{dist/ngx-formentry/esm2020 → esm2020}/abstract-controls-extension/value-change.listener.mjs +0 -0
  138. /package/{dist/ngx-formentry/esm2020 → esm2020}/change-tracking/control-relation.mjs +0 -0
  139. /package/{dist/ngx-formentry/esm2020 → esm2020}/change-tracking/control-relations.mjs +0 -0
  140. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/afe-ng-select.component.mjs +0 -0
  141. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/appointments-overview/appointments-overview.component.mjs +0 -0
  142. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/check-box/checkbox.component.mjs +0 -0
  143. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/check-box/checkbox.module.mjs +0 -0
  144. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/custom-component-wrapper/custom-component-wrapper..module.mjs +0 -0
  145. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/custom-component-wrapper/custom-component-wrapper.component.mjs +0 -0
  146. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/custom-control-wrapper/custom-control-wrapper..module.mjs +0 -0
  147. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/custom-control-wrapper/custom-control-wrapper.component.mjs +0 -0
  148. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/date-time-picker/date-picker/date-picker.component.mjs +0 -0
  149. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/date-time-picker/date-time-picker.component.mjs +0 -0
  150. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/date-time-picker/date-time-picker.module.mjs +0 -0
  151. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/date-time-picker/index.mjs +0 -0
  152. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/date-time-picker/picker-modal/modal.component.mjs +0 -0
  153. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/date-time-picker/pipes/moment.pipe.mjs +0 -0
  154. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/date-time-picker/time-picker/time-picker.component.mjs +0 -0
  155. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/file-upload/file-upload.component.mjs +0 -0
  156. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/file-upload/file-upload.module.mjs +0 -0
  157. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/file-upload/secure.pipe.mjs +0 -0
  158. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/input/input.directive.mjs +0 -0
  159. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/input/input.module.mjs +0 -0
  160. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/input/label.component.mjs +0 -0
  161. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/input/text-area.directive.mjs +0 -0
  162. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-datetime-picker/ngx-datetime-picker.component.mjs +0 -0
  163. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-datetime-picker/ngx-datetime-picker.module.mjs +0 -0
  164. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.mjs +0 -0
  165. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.mjs +0 -0
  166. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.mjs +0 -0
  167. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.mjs +0 -0
  168. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.mjs +0 -0
  169. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/calendar-body.component.mjs +0 -0
  170. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.mjs +0 -0
  171. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.mjs +0 -0
  172. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.mjs +0 -0
  173. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/calendar.component.mjs +0 -0
  174. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.mjs +0 -0
  175. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.mjs +0 -0
  176. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.mjs +0 -0
  177. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.mjs +0 -0
  178. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.mjs +0 -0
  179. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.mjs +0 -0
  180. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.mjs +0 -0
  181. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time.class.mjs +0 -0
  182. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/date-time.module.mjs +0 -0
  183. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.mjs +0 -0
  184. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/timer-box.component.mjs +0 -0
  185. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/date-time/timer.component.mjs +0 -0
  186. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/dialog/dialog-config.class.mjs +0 -0
  187. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/dialog/dialog-container.component.mjs +0 -0
  188. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.mjs +0 -0
  189. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/dialog/dialog.module.mjs +0 -0
  190. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/dialog/dialog.service.mjs +0 -0
  191. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/utils/index.mjs +0 -0
  192. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-pick-datetime/lib/utils/object.utils.mjs +0 -0
  193. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-remote-select/ngx-remote-select.component.mjs +0 -0
  194. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-remote-select/ngx-remote-select.module.mjs +0 -0
  195. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-tabset/components/ngx-tab-set.component.mjs +0 -0
  196. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-tabset/components/tab.component.mjs +0 -0
  197. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-tabset/directives/hover-class.directive.mjs +0 -0
  198. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/ngx-tabset/modules/ngx-tabset.module.mjs +0 -0
  199. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/number-input/number-input.component.mjs +0 -0
  200. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/number-input/number-input.module.mjs +0 -0
  201. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/number-input/number.directive.mjs +0 -0
  202. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/radio-button/radio.component.mjs +0 -0
  203. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/radio-button/radio.module.mjs +0 -0
  204. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/select/optgroup.directive.mjs +0 -0
  205. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/select/option.directive.mjs +0 -0
  206. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/select/select.component.mjs +0 -0
  207. /package/{dist/ngx-formentry/esm2020 → esm2020}/components/select/select.module.mjs +0 -0
  208. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/control-alerts/alert-helpers.mjs +0 -0
  209. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/control-alerts/can-generate-alert.mjs +0 -0
  210. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/control-calculators/can-calculate.mjs +0 -0
  211. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/control-hiders-disablers/can-disable.mjs +0 -0
  212. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/control-hiders-disablers/can-hide.mjs +0 -0
  213. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/control-hiders-disablers/disabler-helper.mjs +0 -0
  214. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/control-hiders-disablers/hider-helpers.mjs +0 -0
  215. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/data-sources/data-sources.mjs +0 -0
  216. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/data-sources/dummy-data-source.mjs +0 -0
  217. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/directives/collapse-animations.mjs +0 -0
  218. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/directives/collapse.directive.mjs +0 -0
  219. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/directives/historical-value.directive.mjs +0 -0
  220. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/error-renderer/error-renderer.component.mjs +0 -0
  221. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/expression-runner/expression-runner.mjs +0 -0
  222. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-entry.module.mjs +0 -0
  223. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/control-relations.factory.mjs +0 -0
  224. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/form-control.service.mjs +0 -0
  225. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/form-node.mjs +0 -0
  226. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/form.factory.mjs +0 -0
  227. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/form.mjs +0 -0
  228. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/hiders-disablers.factory.mjs +0 -0
  229. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/index.mjs +0 -0
  230. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/show-messages.factory.mjs +0 -0
  231. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/form-factory/validation.factory.mjs +0 -0
  232. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/helpers/historical-expression-helper-service.mjs +0 -0
  233. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/helpers/historical-field-helper-service.mjs +0 -0
  234. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/helpers/js-expression-helper.mjs +0 -0
  235. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/helpers/risk-dataset-table.mjs +0 -0
  236. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/pipes/time-ago.pipe.mjs +0 -0
  237. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/checkbox.model.mjs +0 -0
  238. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/conditional-validation.model.mjs +0 -0
  239. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/custom-control-question.model.mjs +0 -0
  240. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/date-question.mjs +0 -0
  241. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/date-validation.model.mjs +0 -0
  242. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/diagnosis-question.mjs +0 -0
  243. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/file-upload-question.mjs +0 -0
  244. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/group-question.mjs +0 -0
  245. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/base-options.mjs +0 -0
  246. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/checkbox-options.mjs +0 -0
  247. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/data-source.mjs +0 -0
  248. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/date-question-options.mjs +0 -0
  249. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/diagnosis-question-options.mjs +0 -0
  250. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/file-upload-question-options.mjs +0 -0
  251. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/group-question-options.mjs +0 -0
  252. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/multi-select-options.mjs +0 -0
  253. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/nested-questions.mjs +0 -0
  254. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/radio-button-options.mjs +0 -0
  255. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/repeating-question-options.mjs +0 -0
  256. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/select-option.mjs +0 -0
  257. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/select-question-options.mjs +0 -0
  258. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/test-order-question-options.mjs +0 -0
  259. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/text-area-question-options.mjs +0 -0
  260. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/text-question-options.mjs +0 -0
  261. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/interfaces/ui-select-question-options.mjs +0 -0
  262. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/js-expression-validation.model.mjs +0 -0
  263. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/max-length-validation.model.mjs +0 -0
  264. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/max-validation.model.mjs +0 -0
  265. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/min-length-validation.model.mjs +0 -0
  266. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/min-validation.model.mjs +0 -0
  267. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/models.mjs +0 -0
  268. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/multi-select-question.mjs +0 -0
  269. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/pair.model.mjs +0 -0
  270. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/question-base.mjs +0 -0
  271. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/radio-button.model.mjs +0 -0
  272. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/rendering-type.mjs +0 -0
  273. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/repeating-question.mjs +0 -0
  274. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/select-option.mjs +0 -0
  275. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/select-question.mjs +0 -0
  276. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/test-order-question.mjs +0 -0
  277. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/text-area-input-question.mjs +0 -0
  278. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/text-input-question.mjs +0 -0
  279. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/ui-select-question.mjs +0 -0
  280. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/question-models/validation.model.mjs +0 -0
  281. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/services/debug-mode.service.mjs +0 -0
  282. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/services/form-errors.service.mjs +0 -0
  283. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/services/form-schema-compiler.service.mjs +0 -0
  284. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/services/historical-encounter-data.service.mjs +0 -0
  285. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/conditional-answered.validator.mjs +0 -0
  286. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/conditional-required.validator.mjs +0 -0
  287. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/date.validator.mjs +0 -0
  288. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/future-date-restriction.validator.mjs +0 -0
  289. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/js-expression.validator.mjs +0 -0
  290. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/max-date.validator.mjs +0 -0
  291. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/max-length.validator.mjs +0 -0
  292. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/max.validator.mjs +0 -0
  293. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/min-date.validator.mjs +0 -0
  294. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/min-length.validator.mjs +0 -0
  295. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/min.validator.mjs +0 -0
  296. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/required.validator.mjs +0 -0
  297. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/validators/validations.mjs +0 -0
  298. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/value-adapters/obs-adapter-helper.mjs +0 -0
  299. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/value-adapters/obs.adapter.mjs +0 -0
  300. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/value-adapters/order.adapter.mjs +0 -0
  301. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/value-adapters/patient-identifier.adapter.mjs +0 -0
  302. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/value-adapters/person-attribute.adapter.mjs +0 -0
  303. /package/{dist/ngx-formentry/esm2020 → esm2020}/form-entry/value-adapters/value.adapter.mjs +0 -0
  304. /package/{dist/ngx-formentry/esm2020 → esm2020}/lib/index.mjs +0 -0
  305. /package/{dist/ngx-formentry/esm2020 → esm2020}/openmrs-ngx-formentry.mjs +0 -0
  306. /package/{dist/ngx-formentry/esm2020 → esm2020}/public_api.mjs +0 -0
  307. /package/{dist/ngx-formentry/esm2020 → esm2020}/shared.module.mjs +0 -0
  308. /package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/alert-helpers.d.ts +0 -0
  309. /package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/can-generate-alert.d.ts +0 -0
  310. /package/{dist/ngx-formentry/form-entry → form-entry}/control-calculators/can-calculate.d.ts +0 -0
  311. /package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-disable.d.ts +0 -0
  312. /package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-hide.d.ts +0 -0
  313. /package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/disabler-helper.d.ts +0 -0
  314. /package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/hider-helpers.d.ts +0 -0
  315. /package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/data-sources.d.ts +0 -0
  316. /package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/dummy-data-source.d.ts +0 -0
  317. /package/{dist/ngx-formentry/form-entry → form-entry}/directives/collapse-animations.d.ts +0 -0
  318. /package/{dist/ngx-formentry/form-entry → form-entry}/directives/collapse.directive.d.ts +0 -0
  319. /package/{dist/ngx-formentry/form-entry → form-entry}/directives/historical-value.directive.d.ts +0 -0
  320. /package/{dist/ngx-formentry/form-entry → form-entry}/error-renderer/error-renderer.component.d.ts +0 -0
  321. /package/{dist/ngx-formentry/form-entry → form-entry}/expression-runner/expression-runner.d.ts +0 -0
  322. /package/{dist/ngx-formentry/form-entry → form-entry}/form-entry.module.d.ts +0 -0
  323. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/control-relations.factory.d.ts +0 -0
  324. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-control.service.d.ts +0 -0
  325. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-node.d.ts +0 -0
  326. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.d.ts +0 -0
  327. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.factory.d.ts +0 -0
  328. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/hiders-disablers.factory.d.ts +0 -0
  329. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/index.d.ts +0 -0
  330. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/question.factory.d.ts +0 -0
  331. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/show-messages.factory.d.ts +0 -0
  332. /package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/validation.factory.d.ts +0 -0
  333. /package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.d.ts +0 -0
  334. /package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-expression-helper-service.d.ts +0 -0
  335. /package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-field-helper-service.d.ts +0 -0
  336. /package/{dist/ngx-formentry/form-entry → form-entry}/helpers/js-expression-helper.d.ts +0 -0
  337. /package/{dist/ngx-formentry/form-entry → form-entry}/helpers/risk-dataset-table.d.ts +0 -0
  338. /package/{dist/ngx-formentry/form-entry → form-entry}/pipes/time-ago.pipe.d.ts +0 -0
  339. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/checkbox.model.d.ts +0 -0
  340. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/conditional-validation.model.d.ts +0 -0
  341. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/custom-control-question.model.d.ts +0 -0
  342. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-question.d.ts +0 -0
  343. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-validation.model.d.ts +0 -0
  344. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/diagnosis-question.d.ts +0 -0
  345. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/file-upload-question.d.ts +0 -0
  346. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/group-question.d.ts +0 -0
  347. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/base-options.d.ts +0 -0
  348. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/checkbox-options.d.ts +0 -0
  349. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/data-source.d.ts +0 -0
  350. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/date-question-options.d.ts +0 -0
  351. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/diagnosis-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/radio-button-options.d.ts +0 -0
  357. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/repeating-question-options.d.ts +0 -0
  358. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-option.d.ts +0 -0
  359. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-question-options.d.ts +0 -0
  360. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/test-order-question-options.d.ts +0 -0
  361. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-area-question-options.d.ts +0 -0
  362. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-question-options.d.ts +0 -0
  363. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/ui-select-question-options.d.ts +0 -0
  364. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/js-expression-validation.model.d.ts +0 -0
  365. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/max-length-validation.model.d.ts +0 -0
  366. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/max-validation.model.d.ts +0 -0
  367. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/min-length-validation.model.d.ts +0 -0
  368. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/min-validation.model.d.ts +0 -0
  369. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/models.d.ts +0 -0
  370. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/multi-select-question.d.ts +0 -0
  371. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/pair.model.d.ts +0 -0
  372. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/question-base.d.ts +0 -0
  373. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/radio-button.model.d.ts +0 -0
  374. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/rendering-type.d.ts +0 -0
  375. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/repeating-question.d.ts +0 -0
  376. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-option.d.ts +0 -0
  377. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-question.d.ts +0 -0
  378. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/test-order-question.d.ts +0 -0
  379. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-area-input-question.d.ts +0 -0
  380. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-input-question.d.ts +0 -0
  381. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/ui-select-question.d.ts +0 -0
  382. /package/{dist/ngx-formentry/form-entry → form-entry}/question-models/validation.model.d.ts +0 -0
  383. /package/{dist/ngx-formentry/form-entry → form-entry}/services/debug-mode.service.d.ts +0 -0
  384. /package/{dist/ngx-formentry/form-entry → form-entry}/services/form-errors.service.d.ts +0 -0
  385. /package/{dist/ngx-formentry/form-entry → form-entry}/services/form-schema-compiler.service.d.ts +0 -0
  386. /package/{dist/ngx-formentry/form-entry → form-entry}/services/historical-encounter-data.service.d.ts +0 -0
  387. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-answered.validator.d.ts +0 -0
  388. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-required.validator.d.ts +0 -0
  389. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/date.validator.d.ts +0 -0
  390. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/future-date-restriction.validator.d.ts +0 -0
  391. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/js-expression.validator.d.ts +0 -0
  392. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/max-date.validator.d.ts +0 -0
  393. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/max-length.validator.d.ts +0 -0
  394. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/max.validator.d.ts +0 -0
  395. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/min-date.validator.d.ts +0 -0
  396. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/min-length.validator.d.ts +0 -0
  397. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/min.validator.d.ts +0 -0
  398. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/required.validator.d.ts +0 -0
  399. /package/{dist/ngx-formentry/form-entry → form-entry}/validators/validations.d.ts +0 -0
  400. /package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/encounter.adapter.d.ts +0 -0
  401. /package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs-adapter-helper.d.ts +0 -0
  402. /package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs.adapter.d.ts +0 -0
  403. /package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/order.adapter.d.ts +0 -0
  404. /package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/patient-identifier.adapter.d.ts +0 -0
  405. /package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/person-attribute.adapter.d.ts +0 -0
  406. /package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/value.adapter.d.ts +0 -0
  407. /package/{dist/ngx-formentry/lib → lib}/index.d.ts +0 -0
  408. /package/{dist/ngx-formentry/openmrs-ngx-formentry.d.ts → openmrs-ngx-formentry.d.ts} +0 -0
  409. /package/{dist/ngx-formentry/public_api.d.ts → public_api.d.ts} +0 -0
  410. /package/{dist/ngx-formentry/shared.module.d.ts → shared.module.d.ts} +0 -0
  411. /package/{dist/ngx-formentry/styles → styles}/ngx-formentry.css +0 -0
  412. /package/{dist/ngx-formentry/styles → styles}/picker.min.css +0 -0
@@ -8718,10 +8718,10 @@ class FormRendererComponent {
8718
8718
  }
8719
8719
  }
8720
8720
  FormRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormRendererComponent, deps: [{ token: ValidationFactory }, { token: DataSources }, { token: FormErrorsService }, { token: i4.TranslateService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
8721
- FormRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FormRendererComponent, selector: "ofe-form-renderer", inputs: { parentComponent: "parentComponent", node: "node", parentGroup: "parentGroup", theme: "theme", labelMap: "labelMap", controlId: "controlId" }, usesOnChanges: true, ngImport: i0, template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ofe-tab-set (tabSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ofe-tab\n [tabTitle]=\"question.label | translate\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <ofe-form-renderer\n [node]=\"node.children[question.key] | translate\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </ofe-form-renderer>\n </ofe-tab>\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label | translate }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode | translate) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n {{ 'fix' | translate }}\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ofe-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div class=\"cds--layout\">\n <ul class=\"cds--accordion cds--accordion--end\">\n <li\n class=\"cds--accordion__item accordion-content-override\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n type=\"button\"\n aria-controls=\"accordion-item-:r27:\"\n aria-expanded=\"false\"\n (click)=\"isCollapsed = !isCollapsed\"\n class=\"cds--accordion__heading\"\n >\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n class=\"cds--accordion__arrow\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <div class=\"cds--accordion__title\">\n {{ node.question.label | translate }}\n </div>\n </button>\n <div id=\"accordion-item-:r27:\" class=\"cds--accordion__content\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </li>\n </ul>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">&times;</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <ofe-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key | translate\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : '' }}\n {{ node.question.label | translate }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <ofe-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </ofe-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ofe-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </option>\n </ofe-select>\n\n <div *ngSwitchCase=\"'file'\">\n <ofe-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </ofe-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ofeTextAreaInput\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder | translate\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ofe-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder | translate\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ofe-remote-select>\n\n <ofe-ngx-date-time-picker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ofe-ngx-date-time-picker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [multiple]=\"true\"\n [appendTo]=\"'form'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ofe-number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [maxlength]=\"node.question.extras.questionOptions.maxLength\"\n [minlength]=\"node.question.extras.questionOptions.minLength\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n >\n </ofe-number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ofeTextInput\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <ofe-radio-button\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [allowUnselect]=\"node.question.allowUnselect\"\n [selected]=\"node.control.value\"\n [orientation]=\"node.question.orientation\"\n ></ofe-radio-button>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <ofe-checkbox\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></ofe-checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"use-value\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\"\n >{{ 'previousValue' | translate }}:\n </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n {{ 'useValue' | translate }}\n </button>\n </div>\n </div>\n </div>\n <ofe-appointments-overview [node]=\"node\"></ofe-appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo | translate }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">\n {{ node.question.label | translate }}\n </h4>\n <div>\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.min\"\n style=\"margin-right: 2px\"\n >min: {{ node.question.extras.questionOptions.min }}</label\n >\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.max\"\n >max: {{ node.question.extras.questionOptions.max }}</label\n >\n </div>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <div>{{ child.orderNumber }}</div>\n <div class=\"cds--layout\">\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n </div>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'diagnosis'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary cds--btn--sm\"\n (click)=\"node.createChildNode()\"\n [ngClass]=\"{\n disabled:\n node.children.length >= node.question.extras.questionOptions.max\n }\"\n >\n {{ 'add' | translate }}\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:700}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transition-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:.125rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box;border-bottom:none;padding:0;text-wrap:wrap}.accordion-content-override:hover{opacity:unset;border-bottom:none}.question-area{width:18rem;max-width:18rem}.question-area>label{text-wrap:wrap}.in-line{display:inline-block;padding-right:.5rem}.use-value{text-wrap:wrap}.custom-text-area{width:100%}\n"], components: [{ type: TabSetComponent, selector: "ofe-tab-set", inputs: ["disableStyle", "customNavClass", "customTabsClass", "selectedIndex"], outputs: ["tabSelect"] }, { type: TabComponent, selector: "ofe-tab", inputs: ["tabTitle", "tabSubTitle", "active", "disabled", "bypassDOM", "customPaneClass"] }, { type: FormRendererComponent, selector: "ofe-form-renderer", inputs: ["parentComponent", "node", "parentGroup", "theme", "labelMap", "controlId"] }, { type: CustomComponentWrapperComponent, selector: "ofe-custom-component-wrapper", inputs: ["componentConfigs", "dark"] }, { type: CustomControlWrapperComponent, selector: "ofe-custom-control-wrapper", inputs: ["question"] }, { type: SelectComponent, selector: "ofe-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { type: FileUploadComponent, selector: "ofe-file-upload", inputs: ["dataSource"] }, { type: RemoteSelectComponent, selector: "ofe-remote-select", inputs: ["placeholder", "componentID", "disabled", "theme", "dataSource"], outputs: ["done"] }, { type: NgxDatetimeComponent, selector: "ofe-ngx-date-time-picker", inputs: ["id", "theme", "datePickerFormat", "showWeeks", "weeks"] }, { type: i13.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i13.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }, { type: NumberInputComponent, selector: "ofe-number-input", inputs: ["theme", "disabled", "skeleton", "invalid", "id", "size", "required", "value", "min", "max", "maxlength", "minlength", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "decrementLabel", "incrementLabel"], outputs: ["numberChange"] }, { type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: ["id", "options", "selected", "allowUnselect", "orientation"] }, { type: CheckboxControlComponent, selector: "ofe-checkbox", inputs: ["id", "options", "selected"] }, { type: AppointmentsOverviewComponent, selector: "ofe-appointments-overview", inputs: ["node"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: HistoricalValueDirective, selector: "[node]", inputs: ["_node", "node"], outputs: ["_nodeChange"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i20.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i20.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i20.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i20.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i20.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i20.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i20.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: TextAreaDirective, selector: "[ofeTextAreaInput]", inputs: ["theme", "invalid", "skeleton"] }, { type: i20.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i20.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: TextInputDirective, selector: "[ofeTextInput]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }], pipes: { "translate": i4.TranslatePipe, "date": i1.DatePipe, "timeAgo": TimeAgoPipe } });
8721
+ FormRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FormRendererComponent, selector: "ofe-form-renderer", inputs: { parentComponent: "parentComponent", node: "node", parentGroup: "parentGroup", theme: "theme", labelMap: "labelMap", controlId: "controlId" }, usesOnChanges: true, ngImport: i0, template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ofe-tab-set (tabSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ofe-tab\n [tabTitle]=\"question.label | translate\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <ofe-form-renderer\n [node]=\"node.children[question.key] | translate\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </ofe-form-renderer>\n </ofe-tab>\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label | translate }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode | translate) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n {{ 'fix' | translate }}\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ofe-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div class=\"cds--layout\">\n <ul class=\"cds--accordion cds--accordion--end\">\n <li\n class=\"cds--accordion__item accordion-content-override\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n type=\"button\"\n aria-controls=\"accordion-item-:r27:\"\n aria-expanded=\"false\"\n (click)=\"isCollapsed = !isCollapsed\"\n class=\"cds--accordion__heading\"\n >\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n class=\"cds--accordion__arrow\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <div class=\"cds--accordion__title\">\n {{ node.question.label | translate }}\n </div>\n </button>\n <div id=\"accordion-item-:r27:\" class=\"cds--accordion__content\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </li>\n </ul>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">&times;</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <ofe-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key | translate\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : '' }}\n {{ node.question.label | translate }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <ofe-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </ofe-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ofe-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </option>\n </ofe-select>\n\n <div *ngSwitchCase=\"'file'\">\n <ofe-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </ofe-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ofeTextAreaInput\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder | translate\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ofe-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder | translate\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ofe-remote-select>\n\n <ofe-ngx-date-time-picker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ofe-ngx-date-time-picker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [multiple]=\"true\"\n [appendTo]=\"'form'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ofe-number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [maxlength]=\"node.question.extras.questionOptions.maxLength\"\n [minlength]=\"node.question.extras.questionOptions.minLength\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n >\n </ofe-number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ofeTextInput\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <ofe-radio-button\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [allowUnselect]=\"node.question.allowUnselect\"\n [selected]=\"node.control.value\"\n [orientation]=\"node.question.orientation\"\n ></ofe-radio-button>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <ofe-checkbox\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></ofe-checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"use-value\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\"\n >{{ 'previousValue' | translate }}:\n </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n {{ 'useValue' | translate }}\n </button>\n </div>\n </div>\n </div>\n <ofe-appointments-overview [node]=\"node\"></ofe-appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo | translate }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">\n {{ node.question.label | translate }}\n </h4>\n <div>\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.min\"\n style=\"margin-right: 2px\"\n >min: {{ node.question.extras.questionOptions.min }}</label\n >\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.max\"\n >max: {{ node.question.extras.questionOptions.max }}</label\n >\n </div>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <div>{{ child.orderNumber }}</div>\n <div class=\"cds--layout\">\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n </div>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'diagnosis'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n <div *ngSwitchCase=\"'diagnosisGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary cds--btn--sm\"\n (click)=\"node.createChildNode()\"\n [ngClass]=\"{\n disabled:\n node.children.length >= node.question.extras.questionOptions.max\n }\"\n >\n {{ 'add' | translate }}\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:700}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transition-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:.125rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box;border-bottom:none;padding:0;text-wrap:wrap}.accordion-content-override:hover{opacity:unset;border-bottom:none}.question-area{width:18rem;max-width:18rem}.question-area>label{text-wrap:wrap}.in-line{display:inline-block;padding-right:.5rem}.use-value{text-wrap:wrap}.custom-text-area{width:100%}\n"], components: [{ type: TabSetComponent, selector: "ofe-tab-set", inputs: ["disableStyle", "customNavClass", "customTabsClass", "selectedIndex"], outputs: ["tabSelect"] }, { type: TabComponent, selector: "ofe-tab", inputs: ["tabTitle", "tabSubTitle", "active", "disabled", "bypassDOM", "customPaneClass"] }, { type: FormRendererComponent, selector: "ofe-form-renderer", inputs: ["parentComponent", "node", "parentGroup", "theme", "labelMap", "controlId"] }, { type: CustomComponentWrapperComponent, selector: "ofe-custom-component-wrapper", inputs: ["componentConfigs", "dark"] }, { type: CustomControlWrapperComponent, selector: "ofe-custom-control-wrapper", inputs: ["question"] }, { type: SelectComponent, selector: "ofe-select", inputs: ["display", "label", "helperText", "invalidText", "warn", "warnText", "id", "size", "disabled", "skeleton", "invalid", "theme", "ariaLabel", "value"], outputs: ["valueChange"] }, { type: FileUploadComponent, selector: "ofe-file-upload", inputs: ["dataSource"] }, { type: RemoteSelectComponent, selector: "ofe-remote-select", inputs: ["placeholder", "componentID", "disabled", "theme", "dataSource"], outputs: ["done"] }, { type: NgxDatetimeComponent, selector: "ofe-ngx-date-time-picker", inputs: ["id", "theme", "datePickerFormat", "showWeeks", "weeks"] }, { type: i13.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i13.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }, { type: NumberInputComponent, selector: "ofe-number-input", inputs: ["theme", "disabled", "skeleton", "invalid", "id", "size", "required", "value", "min", "max", "maxlength", "minlength", "label", "helperText", "invalidText", "step", "precision", "warn", "warnText", "decrementLabel", "incrementLabel"], outputs: ["numberChange"] }, { type: RadioButtonControlComponent, selector: "ofe-radio-button", inputs: ["id", "options", "selected", "allowUnselect", "orientation"] }, { type: CheckboxControlComponent, selector: "ofe-checkbox", inputs: ["id", "options", "selected"] }, { type: AppointmentsOverviewComponent, selector: "ofe-appointments-overview", inputs: ["node"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: HistoricalValueDirective, selector: "[node]", inputs: ["_node", "node"], outputs: ["_nodeChange"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i20.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i20.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i20.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i20.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i20.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i20.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i20.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: TextAreaDirective, selector: "[ofeTextAreaInput]", inputs: ["theme", "invalid", "skeleton"] }, { type: i20.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i20.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: TextInputDirective, selector: "[ofeTextInput]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }], pipes: { "translate": i4.TranslatePipe, "date": i1.DatePipe, "timeAgo": TimeAgoPipe } });
8722
8722
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormRendererComponent, decorators: [{
8723
8723
  type: Component,
8724
- args: [{ selector: 'ofe-form-renderer', template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ofe-tab-set (tabSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ofe-tab\n [tabTitle]=\"question.label | translate\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <ofe-form-renderer\n [node]=\"node.children[question.key] | translate\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </ofe-form-renderer>\n </ofe-tab>\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label | translate }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode | translate) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n {{ 'fix' | translate }}\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ofe-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div class=\"cds--layout\">\n <ul class=\"cds--accordion cds--accordion--end\">\n <li\n class=\"cds--accordion__item accordion-content-override\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n type=\"button\"\n aria-controls=\"accordion-item-:r27:\"\n aria-expanded=\"false\"\n (click)=\"isCollapsed = !isCollapsed\"\n class=\"cds--accordion__heading\"\n >\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n class=\"cds--accordion__arrow\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <div class=\"cds--accordion__title\">\n {{ node.question.label | translate }}\n </div>\n </button>\n <div id=\"accordion-item-:r27:\" class=\"cds--accordion__content\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </li>\n </ul>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">&times;</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <ofe-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key | translate\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : '' }}\n {{ node.question.label | translate }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <ofe-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </ofe-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ofe-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </option>\n </ofe-select>\n\n <div *ngSwitchCase=\"'file'\">\n <ofe-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </ofe-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ofeTextAreaInput\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder | translate\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ofe-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder | translate\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ofe-remote-select>\n\n <ofe-ngx-date-time-picker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ofe-ngx-date-time-picker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [multiple]=\"true\"\n [appendTo]=\"'form'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ofe-number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [maxlength]=\"node.question.extras.questionOptions.maxLength\"\n [minlength]=\"node.question.extras.questionOptions.minLength\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n >\n </ofe-number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ofeTextInput\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <ofe-radio-button\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [allowUnselect]=\"node.question.allowUnselect\"\n [selected]=\"node.control.value\"\n [orientation]=\"node.question.orientation\"\n ></ofe-radio-button>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <ofe-checkbox\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></ofe-checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"use-value\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\"\n >{{ 'previousValue' | translate }}:\n </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n {{ 'useValue' | translate }}\n </button>\n </div>\n </div>\n </div>\n <ofe-appointments-overview [node]=\"node\"></ofe-appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo | translate }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">\n {{ node.question.label | translate }}\n </h4>\n <div>\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.min\"\n style=\"margin-right: 2px\"\n >min: {{ node.question.extras.questionOptions.min }}</label\n >\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.max\"\n >max: {{ node.question.extras.questionOptions.max }}</label\n >\n </div>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <div>{{ child.orderNumber }}</div>\n <div class=\"cds--layout\">\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n </div>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'diagnosis'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary cds--btn--sm\"\n (click)=\"node.createChildNode()\"\n [ngClass]=\"{\n disabled:\n node.children.length >= node.question.extras.questionOptions.max\n }\"\n >\n {{ 'add' | translate }}\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:700}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transition-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:.125rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box;border-bottom:none;padding:0;text-wrap:wrap}.accordion-content-override:hover{opacity:unset;border-bottom:none}.question-area{width:18rem;max-width:18rem}.question-area>label{text-wrap:wrap}.in-line{display:inline-block;padding-right:.5rem}.use-value{text-wrap:wrap}.custom-text-area{width:100%}\n"] }]
8724
+ args: [{ selector: 'ofe-form-renderer', template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ofe-tab-set (tabSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ofe-tab\n [tabTitle]=\"question.label | translate\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <ofe-form-renderer\n [node]=\"node.children[question.key] | translate\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </ofe-form-renderer>\n </ofe-tab>\n <div *ngIf=\"showErrors()\" class=\"container\">\n <div\n data-notification\n *ngFor=\"let errorNode of errorNodes\"\n class=\"cds--inline-notification cds--inline-notification--error cds--inline-notification--low-contrast pointer\"\n role=\"alert\"\n (click)=\"announceErrorField(errorNode)\"\n >\n <div class=\"cds--inline-notification__details\">\n <div class=\"cds--inline-notification__text-wrapper\">\n <p class=\"cds--inline-notification__title\">\n {{ errorNode.question.label | translate }}\n </p>\n <p class=\"cds--inline-notification__subtitle\">\n {{ getControlError(errorNode | translate) }}\n </p>\n </div>\n </div>\n <button\n tabindex=\"0\"\n class=\"cds--inline-notification__action-button cds--btn cds--btn--sm cds--btn--ghost\"\n type=\"button\"\n >\n {{ 'fix' | translate }}\n </button>\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n style=\"will-change: transform\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"cds--inline-notification__icon\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M10,1c-5,0-9,4-9,9s4,9,9,9s9-4,9-9S15,1,10,1z M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n ></path>\n <path\n d=\"M13.5,14.5l-8-8l1-1l8,8L13.5,14.5z\"\n data-icon-path=\"inner-path\"\n opacity=\"0\"\n ></path>\n </svg>\n </div>\n </div>\n </ofe-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <ofe-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div class=\"cds--layout\">\n <ul class=\"cds--accordion cds--accordion--end\">\n <li\n class=\"cds--accordion__item accordion-content-override\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n type=\"button\"\n aria-controls=\"accordion-item-:r27:\"\n aria-expanded=\"false\"\n (click)=\"isCollapsed = !isCollapsed\"\n class=\"cds--accordion__heading\"\n >\n <svg\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n aria-hidden=\"true\"\n class=\"cds--accordion__arrow\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <div class=\"cds--accordion__title\">\n {{ node.question.label | translate }}\n </div>\n </button>\n <div id=\"accordion-item-:r27:\" class=\"cds--accordion__content\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </li>\n </ul>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">&times;</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <ofe-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </ofe-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key | translate\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : '' }}\n {{ node.question.label | translate }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <ofe-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </ofe-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ofe-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </option>\n </ofe-select>\n\n <div *ngSwitchCase=\"'file'\">\n <ofe-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </ofe-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ofeTextAreaInput\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder | translate\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ofe-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder | translate\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ofe-remote-select>\n\n <ofe-ngx-date-time-picker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ofe-ngx-date-time-picker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [multiple]=\"true\"\n [appendTo]=\"'form'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n <ng-option\n *ngFor=\"let option of node.question.options\"\n [value]=\"option.value\"\n >\n {{ option.label | translate }}\n </ng-option>\n </ng-select>\n\n <ofe-number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [maxlength]=\"node.question.extras.questionOptions.maxLength\"\n [minlength]=\"node.question.extras.questionOptions.minLength\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n >\n </ofe-number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ofeTextInput\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder | translate\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <ofe-radio-button\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [allowUnselect]=\"node.question.allowUnselect\"\n [selected]=\"node.control.value\"\n [orientation]=\"node.question.orientation\"\n ></ofe-radio-button>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <ofe-checkbox\n [id]=\"node.question.key + 'id' + controlId\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></ofe-checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"use-value\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\"\n >{{ 'previousValue' | translate }}:\n </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n {{ 'useValue' | translate }}\n </button>\n </div>\n </div>\n </div>\n <ofe-appointments-overview [node]=\"node\"></ofe-appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo | translate }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">\n {{ node.question.label | translate }}\n </h4>\n <div>\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.min\"\n style=\"margin-right: 2px\"\n >min: {{ node.question.extras.questionOptions.min }}</label\n >\n <label\n class=\"cds--label\"\n *ngIf=\"node.question.extras.questionOptions.max\"\n >max: {{ node.question.extras.questionOptions.max }}</label\n >\n </div>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <div>{{ child.orderNumber }}</div>\n <div class=\"cds--layout\">\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n </div>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'diagnosis'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n <div *ngSwitchCase=\"'diagnosisGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <ofe-form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n [controlId]=\"i\"\n ></ofe-form-renderer>\n <button\n type=\"button\"\n style=\"width: 100px\"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n {{ 'remove' | translate }}\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary cds--btn--sm\"\n (click)=\"node.createChildNode()\"\n [ngClass]=\"{\n disabled:\n node.children.length >= node.question.extras.questionOptions.max\n }\"\n >\n {{ 'add' | translate }}\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <ofe-form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></ofe-form-renderer>\n </div>\n </div>\n</div>\n", styles: [".slider{width:auto;margin:30px}.slick-prev:before,.slick-next:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}\n", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid white;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width: 767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:700}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;height:0px;display:none;transition-duration:opacity 1s ease-out;transition-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border-style:ridge;border-width:1px;border-color:#337ab7;margin-top:2px}.hide-info{display:none;height:0px}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0%;margin-left:-5px;border-width:5px;border-style:solid;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#337ab7;border-left-color:transparent}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01, #da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:.125rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box;border-bottom:none;padding:0;text-wrap:wrap}.accordion-content-override:hover{opacity:unset;border-bottom:none}.question-area{width:18rem;max-width:18rem}.question-area>label{text-wrap:wrap}.in-line{display:inline-block;padding-right:.5rem}.use-value{text-wrap:wrap}.custom-text-area{width:100%}\n"] }]
8725
8725
  }], ctorParameters: function () {
8726
8726
  return [{ type: ValidationFactory }, { type: DataSources }, { type: FormErrorsService }, { type: i4.TranslateService }, { type: undefined, decorators: [{
8727
8727
  type: Inject,
@@ -12002,6 +12002,8 @@ class QuestionFactory {
12002
12002
  renderType = 'field-set';
12003
12003
  }
12004
12004
  switch (renderType) {
12005
+ case 'diagnosis':
12006
+ return this.toDiagnosisQuestion(schema);
12005
12007
  case 'select':
12006
12008
  return this.toSelectQuestion(schema);
12007
12009
  case 'single-select':
@@ -12591,19 +12593,59 @@ class DiagnosisValueAdapter {
12591
12593
  this._findDiagnosisQuestionNodes(form.rootNode);
12592
12594
  this._setDiagnosesValues(this.formDiagnosisNodes, form.existingDiagnoses, 1);
12593
12595
  this._setDiagnosesValues(this.formDiagnosisNodes, form.existingDiagnoses, 2);
12596
+ this.setDiagnosisGroupValue(this.formDiagnosisNodes, form.existingDiagnoses);
12594
12597
  }
12595
12598
  _createDiagnosesPayload(diagnosisNodes, existingDiagnoses) {
12596
12599
  const payload = [];
12597
12600
  let deletedDiagnoses = [];
12598
12601
  diagnosisNodes === null || diagnosisNodes === void 0 ? void 0 : diagnosisNodes.forEach((node) => {
12599
- node.control.value
12600
- .filter((v) => v[node.question.key])
12601
- .forEach((value) => {
12602
- // Create Payload
12603
- const payloadDiagnosis = this._createPayloadDiagnosis(value[node.question.key], node.question.extras);
12604
- // Validate if is new value
12605
- payload.push(payloadDiagnosis);
12606
- });
12602
+ if (node instanceof ArrayNode) {
12603
+ node.control.value
12604
+ .filter((v) => v[node.question.key])
12605
+ .forEach((value) => {
12606
+ // Create Payload
12607
+ const payloadDiagnosis = this._createPayloadDiagnosis(value[node.question.key], node.question.extras);
12608
+ // Validate if is new value
12609
+ payload.push(payloadDiagnosis);
12610
+ });
12611
+ }
12612
+ if (node instanceof ArrayNode) {
12613
+ const groupNodeArray = node.children;
12614
+ groupNodeArray.forEach((groupNode) => {
12615
+ var _a;
12616
+ if (this.hasDiagnosisNodeChanged(groupNode)) {
12617
+ const diagnosisPayload = {};
12618
+ Object.values(groupNode.children).forEach((childNode) => {
12619
+ var _a;
12620
+ const { diagnosisType } = childNode.question.extras.questionOptions;
12621
+ switch (diagnosisType) {
12622
+ case 'rank':
12623
+ diagnosisPayload.rank =
12624
+ (_a = parseInt(childNode.control.value, 10)) !== null && _a !== void 0 ? _a : 1;
12625
+ break;
12626
+ case 'certainty':
12627
+ diagnosisPayload.certainty = childNode.control.value;
12628
+ break;
12629
+ case 'diagnosis':
12630
+ diagnosisPayload.diagnosis = {
12631
+ coded: childNode.control.value
12632
+ };
12633
+ break;
12634
+ default:
12635
+ break;
12636
+ }
12637
+ });
12638
+ if (_.isEmpty(diagnosisPayload)) {
12639
+ return null;
12640
+ }
12641
+ if ((_a = groupNode.question.defaultValue) === null || _a === void 0 ? void 0 : _a.uuid) {
12642
+ diagnosisPayload.uuid = groupNode.question.defaultValue.uuid;
12643
+ }
12644
+ diagnosisPayload.voided = false;
12645
+ payload.push(diagnosisPayload);
12646
+ }
12647
+ });
12648
+ }
12607
12649
  });
12608
12650
  this._updatedOldDiagnoses(payload, existingDiagnoses);
12609
12651
  deletedDiagnoses = this._getDeletedDiagnoses(payload, existingDiagnoses);
@@ -12655,6 +12697,34 @@ class DiagnosisValueAdapter {
12655
12697
  });
12656
12698
  });
12657
12699
  }
12700
+ setDiagnosisGroupValue(formDiagnosisNodes, existingDiagnoses) {
12701
+ var _a, _b;
12702
+ for (const diagnosis of existingDiagnoses) {
12703
+ for (const diagnosisNode of formDiagnosisNodes) {
12704
+ if (diagnosisNode.question.extras.type !== 'diagnosisGroup')
12705
+ break;
12706
+ const groupNode = diagnosisNode.createChildNode();
12707
+ groupNode.question.defaultValue = { uuid: diagnosis.uuid };
12708
+ for (const child of Object.values(groupNode.children)) {
12709
+ const diagnosisType = child.question.extras.questionOptions.diagnosisType;
12710
+ switch (diagnosisType) {
12711
+ case 'diagnosis':
12712
+ child.initialValue = (_a = diagnosis.diagnosis.coded) === null || _a === void 0 ? void 0 : _a.uuid;
12713
+ child.control.setValue((_b = diagnosis.diagnosis.coded) === null || _b === void 0 ? void 0 : _b.uuid);
12714
+ break;
12715
+ case 'rank':
12716
+ child.initialValue = diagnosis.rank;
12717
+ child.control.setValue(diagnosis.rank);
12718
+ break;
12719
+ case 'certainty':
12720
+ child.initialValue = diagnosis.certainty;
12721
+ child.control.setValue(diagnosis.certainty);
12722
+ break;
12723
+ }
12724
+ }
12725
+ }
12726
+ }
12727
+ }
12658
12728
  _findDiagnosisQuestionNodes(formNode) {
12659
12729
  if (formNode.children) {
12660
12730
  if (formNode.children instanceof Object) {
@@ -12672,15 +12742,25 @@ class DiagnosisValueAdapter {
12672
12742
  break;
12673
12743
  case 'repeating':
12674
12744
  if (formNode.children) {
12745
+ const { children } = formNode;
12746
+ // Condition for diagnosisGroup nodes
12675
12747
  for (const node in formNode.children) {
12676
- const question = formNode.children[node].question;
12677
- const index = formNode.children[node].nodeIndex;
12678
- if (question.extras &&
12679
- question.extras.type === 'diagnosis' &&
12680
- !this.formDiagnosisNodes.some((x) => index === x.nodeIndex)) {
12681
- this.formDiagnosisNodes.push(formNode.children[node]);
12748
+ const questionExtras = formNode.children[node].question.extras;
12749
+ if (questionExtras.type === 'diagnosisGroup') {
12750
+ const arrayNode = formNode.children[node];
12751
+ this.formDiagnosisNodes.push(arrayNode);
12752
+ break;
12682
12753
  }
12683
12754
  }
12755
+ // Condition for diagnosis nodes
12756
+ Object.values(children).forEach((child) => {
12757
+ var _a;
12758
+ const { question, nodeIndex } = child;
12759
+ if (((_a = question.extras) === null || _a === void 0 ? void 0 : _a.type) === 'diagnosis' &&
12760
+ !this.formDiagnosisNodes.some((x) => x.nodeIndex === nodeIndex)) {
12761
+ this.formDiagnosisNodes.push(child);
12762
+ }
12763
+ });
12684
12764
  }
12685
12765
  break;
12686
12766
  default:
@@ -12705,6 +12785,15 @@ class DiagnosisValueAdapter {
12705
12785
  voided: diagnosis.voided
12706
12786
  };
12707
12787
  }
12788
+ hasDiagnosisNodeChanged(nodeAsGroup) {
12789
+ const childrenNodes = Object.values(nodeAsGroup.children);
12790
+ for (let childNode of childrenNodes) {
12791
+ if (childNode.control.value !== childNode.initialValue) {
12792
+ return true;
12793
+ }
12794
+ }
12795
+ return false;
12796
+ }
12708
12797
  }
12709
12798
  DiagnosisValueAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DiagnosisValueAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12710
12799
  DiagnosisValueAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DiagnosisValueAdapter });