@openmrs/ngx-formentry 3.0.1-pre.8

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 (344) hide show
  1. package/abstract-controls-extension/afe-control-type.d.ts +6 -0
  2. package/abstract-controls-extension/afe-form-array.d.ts +43 -0
  3. package/abstract-controls-extension/afe-form-control.d.ts +46 -0
  4. package/abstract-controls-extension/afe-form-group.d.ts +38 -0
  5. package/abstract-controls-extension/control-extensions.d.ts +4 -0
  6. package/abstract-controls-extension/index.d.ts +4 -0
  7. package/abstract-controls-extension/value-change.listener.d.ts +4 -0
  8. package/bundles/openmrs-ngx-formentry.umd.js +15020 -0
  9. package/bundles/openmrs-ngx-formentry.umd.js.map +1 -0
  10. package/bundles/openmrs-ngx-formentry.umd.min.js +2 -0
  11. package/bundles/openmrs-ngx-formentry.umd.min.js.map +1 -0
  12. package/change-tracking/control-relation.d.ts +12 -0
  13. package/change-tracking/control-relations.d.ts +12 -0
  14. package/components/afe-ng-select.component.d.ts +26 -0
  15. package/components/appointments-overview/appointments-overview.component.d.ts +15 -0
  16. package/components/check-box/checkbox.component.d.ts +16 -0
  17. package/components/check-box/checkbox.module.d.ts +2 -0
  18. package/components/custom-component-wrapper/custom-component-wrapper..module.d.ts +2 -0
  19. package/components/custom-component-wrapper/custom-component-wrapper.component.d.ts +11 -0
  20. package/components/custom-control-wrapper/custom-control-wrapper..module.d.ts +2 -0
  21. package/components/custom-control-wrapper/custom-control-wrapper.component.d.ts +25 -0
  22. package/components/date-time-picker/date-picker/date-picker.component.d.ts +42 -0
  23. package/components/date-time-picker/date-time-picker.component.d.ts +26 -0
  24. package/components/date-time-picker/date-time-picker.module.d.ts +5 -0
  25. package/components/date-time-picker/picker-modal/modal.component.d.ts +10 -0
  26. package/components/date-time-picker/pipes/moment.pipe.d.ts +8 -0
  27. package/components/date-time-picker/time-picker/time-picker.component.d.ts +29 -0
  28. package/components/file-upload/file-upload.component.d.ts +26 -0
  29. package/components/file-upload/file-upload.module.d.ts +2 -0
  30. package/components/file-upload/secure.pipe.d.ts +23 -0
  31. package/components/input/input.directive.d.ts +28 -0
  32. package/components/input/input.module.d.ts +2 -0
  33. package/components/input/label.component.d.ts +87 -0
  34. package/components/input/text-area.directive.d.ts +21 -0
  35. package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +17 -0
  36. package/components/ngx-datetime-picker/ngx-datetime-picker.module.d.ts +5 -0
  37. package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.d.ts +189 -0
  38. package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.d.ts +15 -0
  39. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +73 -0
  40. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.d.ts +5 -0
  41. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +7 -0
  42. package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +77 -0
  43. package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +139 -0
  44. package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +109 -0
  45. package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +120 -0
  46. package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +141 -0
  47. package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +90 -0
  48. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +122 -0
  49. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +152 -0
  50. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +51 -0
  51. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +21 -0
  52. package/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.d.ts +8 -0
  53. package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +157 -0
  54. package/components/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +86 -0
  55. package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +5 -0
  56. package/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +7 -0
  57. package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +35 -0
  58. package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +129 -0
  59. package/components/ngx-pick-datetime/lib/dialog/dialog-config.class.d.ts +93 -0
  60. package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +56 -0
  61. package/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.d.ts +49 -0
  62. package/components/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +5 -0
  63. package/components/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +70 -0
  64. package/components/ngx-pick-datetime/lib/utils/index.d.ts +4 -0
  65. package/components/ngx-pick-datetime/lib/utils/object.utils.d.ts +11 -0
  66. package/components/ngx-remote-select/ngx-remote-select.component.d.ts +37 -0
  67. package/components/ngx-remote-select/ngx-remote-select.module.d.ts +2 -0
  68. package/components/ngx-tabset/components/tab-set.d.ts +16 -0
  69. package/components/ngx-tabset/components/tab.d.ts +10 -0
  70. package/components/ngx-tabset/directives/hover-class.directive.d.ts +8 -0
  71. package/components/ngx-tabset/modules/ngx-tabset.module.d.ts +11 -0
  72. package/components/number-input/number-input.component.d.ts +148 -0
  73. package/components/number-input/number-input.module.d.ts +2 -0
  74. package/components/select/optgroup.directive.d.ts +3 -0
  75. package/components/select/option.directive.d.ts +3 -0
  76. package/components/select/select.component.d.ts +112 -0
  77. package/components/select/select.module.d.ts +2 -0
  78. package/esm2015/abstract-controls-extension/afe-control-type.js +8 -0
  79. package/esm2015/abstract-controls-extension/afe-form-array.js +85 -0
  80. package/esm2015/abstract-controls-extension/afe-form-control.js +88 -0
  81. package/esm2015/abstract-controls-extension/afe-form-group.js +61 -0
  82. package/esm2015/abstract-controls-extension/control-extensions.js +5 -0
  83. package/esm2015/abstract-controls-extension/index.js +5 -0
  84. package/esm2015/abstract-controls-extension/value-change.listener.js +2 -0
  85. package/esm2015/change-tracking/control-relation.js +44 -0
  86. package/esm2015/change-tracking/control-relations.js +32 -0
  87. package/esm2015/components/afe-ng-select.component.js +87 -0
  88. package/esm2015/components/appointments-overview/appointments-overview.component.js +119 -0
  89. package/esm2015/components/check-box/checkbox.component.js +77 -0
  90. package/esm2015/components/check-box/checkbox.module.js +14 -0
  91. package/esm2015/components/custom-component-wrapper/custom-component-wrapper..module.js +16 -0
  92. package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +18 -0
  93. package/esm2015/components/custom-control-wrapper/custom-control-wrapper..module.js +17 -0
  94. package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +63 -0
  95. package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +182 -0
  96. package/esm2015/components/date-time-picker/date-time-picker.component.js +104 -0
  97. package/esm2015/components/date-time-picker/date-time-picker.module.js +34 -0
  98. package/esm2015/components/date-time-picker/picker-modal/modal.component.js +30 -0
  99. package/esm2015/components/date-time-picker/pipes/moment.pipe.js +13 -0
  100. package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +114 -0
  101. package/esm2015/components/file-upload/file-upload.component.js +110 -0
  102. package/esm2015/components/file-upload/file-upload.module.js +24 -0
  103. package/esm2015/components/file-upload/secure.pipe.js +102 -0
  104. package/esm2015/components/input/input.directive.js +55 -0
  105. package/esm2015/components/input/input.module.js +18 -0
  106. package/esm2015/components/input/label.component.js +177 -0
  107. package/esm2015/components/input/text-area.directive.js +40 -0
  108. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +60 -0
  109. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +26 -0
  110. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.js +114 -0
  111. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.js +7 -0
  112. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.js +344 -0
  113. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.js +16 -0
  114. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.js +30 -0
  115. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +149 -0
  116. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +429 -0
  117. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +367 -0
  118. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +359 -0
  119. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +334 -0
  120. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +251 -0
  121. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +380 -0
  122. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +590 -0
  123. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +60 -0
  124. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +71 -0
  125. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.js +21 -0
  126. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +512 -0
  127. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js +153 -0
  128. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +58 -0
  129. package/esm2015/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.js +24 -0
  130. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +85 -0
  131. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +292 -0
  132. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-config.class.js +56 -0
  133. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +208 -0
  134. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.js +119 -0
  135. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.module.js +22 -0
  136. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.service.js +222 -0
  137. package/esm2015/components/ngx-pick-datetime/lib/utils/index.js +5 -0
  138. package/esm2015/components/ngx-pick-datetime/lib/utils/object.utils.js +26 -0
  139. package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +121 -0
  140. package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +16 -0
  141. package/esm2015/components/ngx-tabset/components/tab-set.js +67 -0
  142. package/esm2015/components/ngx-tabset/components/tab.js +35 -0
  143. package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +26 -0
  144. package/esm2015/components/ngx-tabset/modules/ngx-tabset.module.js +33 -0
  145. package/esm2015/components/number-input/number-input.component.js +203 -0
  146. package/esm2015/components/number-input/number-input.module.js +15 -0
  147. package/esm2015/components/select/optgroup.directive.js +17 -0
  148. package/esm2015/components/select/option.directive.js +17 -0
  149. package/esm2015/components/select/select.component.js +293 -0
  150. package/esm2015/components/select/select.module.js +18 -0
  151. package/esm2015/form-entry/control-alerts/alert-helpers.js +40 -0
  152. package/esm2015/form-entry/control-alerts/can-generate-alert.js +2 -0
  153. package/esm2015/form-entry/control-calculators/can-calculate.js +2 -0
  154. package/esm2015/form-entry/control-hiders-disablers/can-disable.js +2 -0
  155. package/esm2015/form-entry/control-hiders-disablers/can-hide.js +2 -0
  156. package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +33 -0
  157. package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +40 -0
  158. package/esm2015/form-entry/data-sources/data-sources.js +30 -0
  159. package/esm2015/form-entry/data-sources/dummy-data-source.js +104 -0
  160. package/esm2015/form-entry/directives/collapse-animations.js +11 -0
  161. package/esm2015/form-entry/directives/collapse.directive.js +157 -0
  162. package/esm2015/form-entry/directives/historical-value-directive.js +66 -0
  163. package/esm2015/form-entry/error-renderer/error-renderer.component.js +55 -0
  164. package/esm2015/form-entry/expression-runner/expression-runner.js +168 -0
  165. package/esm2015/form-entry/form-entry.module.js +107 -0
  166. package/esm2015/form-entry/form-factory/control-relations.factory.js +236 -0
  167. package/esm2015/form-entry/form-factory/form-control.service.js +118 -0
  168. package/esm2015/form-entry/form-factory/form-node.js +81 -0
  169. package/esm2015/form-entry/form-factory/form.factory.js +132 -0
  170. package/esm2015/form-entry/form-factory/form.js +193 -0
  171. package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +66 -0
  172. package/esm2015/form-entry/form-factory/question.factory.js +864 -0
  173. package/esm2015/form-entry/form-factory/show-messages.factory.js +30 -0
  174. package/esm2015/form-entry/form-factory/validation.factory.js +145 -0
  175. package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +179 -0
  176. package/esm2015/form-entry/form-renderer/form-renderer.component.js +231 -0
  177. package/esm2015/form-entry/helpers/historical-expression-helper-service.js +38 -0
  178. package/esm2015/form-entry/helpers/historical-field-helper-service.js +36 -0
  179. package/esm2015/form-entry/helpers/js-expression-helper.js +238 -0
  180. package/esm2015/form-entry/pipes/time-ago.pipe.js +107 -0
  181. package/esm2015/form-entry/question-models/checkbox.model.js +11 -0
  182. package/esm2015/form-entry/question-models/conditional-validation.model.js +9 -0
  183. package/esm2015/form-entry/question-models/custom-control-question.model.js +10 -0
  184. package/esm2015/form-entry/question-models/date-question.js +12 -0
  185. package/esm2015/form-entry/question-models/date-validation.model.js +10 -0
  186. package/esm2015/form-entry/question-models/file-upload-question.js +13 -0
  187. package/esm2015/form-entry/question-models/group-question.js +12 -0
  188. package/esm2015/form-entry/question-models/interfaces/base-options.js +2 -0
  189. package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +2 -0
  190. package/esm2015/form-entry/question-models/interfaces/data-source.js +2 -0
  191. package/esm2015/form-entry/question-models/interfaces/date-question-options.js +2 -0
  192. package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +2 -0
  193. package/esm2015/form-entry/question-models/interfaces/group-question-options.js +2 -0
  194. package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +2 -0
  195. package/esm2015/form-entry/question-models/interfaces/nested-questions.js +7 -0
  196. package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +2 -0
  197. package/esm2015/form-entry/question-models/interfaces/select-option.js +2 -0
  198. package/esm2015/form-entry/question-models/interfaces/select-question-options.js +2 -0
  199. package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +2 -0
  200. package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +2 -0
  201. package/esm2015/form-entry/question-models/interfaces/text-question-options.js +2 -0
  202. package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +2 -0
  203. package/esm2015/form-entry/question-models/js-expression-validation.model.js +8 -0
  204. package/esm2015/form-entry/question-models/max-validation.model.js +9 -0
  205. package/esm2015/form-entry/question-models/min-validation.model.js +9 -0
  206. package/esm2015/form-entry/question-models/models.js +12 -0
  207. package/esm2015/form-entry/question-models/multi-select-question.js +11 -0
  208. package/esm2015/form-entry/question-models/pair.model.js +7 -0
  209. package/esm2015/form-entry/question-models/question-base.js +25 -0
  210. package/esm2015/form-entry/question-models/rendering-type.js +9 -0
  211. package/esm2015/form-entry/question-models/repeating-question.js +11 -0
  212. package/esm2015/form-entry/question-models/select-option.js +7 -0
  213. package/esm2015/form-entry/question-models/select-question.js +12 -0
  214. package/esm2015/form-entry/question-models/test-order-question.js +15 -0
  215. package/esm2015/form-entry/question-models/text-area-input-question.js +13 -0
  216. package/esm2015/form-entry/question-models/text-input-question.js +10 -0
  217. package/esm2015/form-entry/question-models/ui-select-question.js +11 -0
  218. package/esm2015/form-entry/question-models/validation.model.js +7 -0
  219. package/esm2015/form-entry/services/debug-mode.service.js +22 -0
  220. package/esm2015/form-entry/services/form-errors.service.js +18 -0
  221. package/esm2015/form-entry/services/form-schema-compiler.service.js +246 -0
  222. package/esm2015/form-entry/services/historical-encounter-data.service.js +170 -0
  223. package/esm2015/form-entry/utils/messages.js +12 -0
  224. package/esm2015/form-entry/validators/conditional-answered.validator.js +46 -0
  225. package/esm2015/form-entry/validators/conditional-required.validator.js +40 -0
  226. package/esm2015/form-entry/validators/date.validator.js +18 -0
  227. package/esm2015/form-entry/validators/future-date-restriction.validator.js +21 -0
  228. package/esm2015/form-entry/validators/js-expression.validator.js +26 -0
  229. package/esm2015/form-entry/validators/max-date.validator.js +23 -0
  230. package/esm2015/form-entry/validators/max.validator.js +17 -0
  231. package/esm2015/form-entry/validators/min-date.validator.js +23 -0
  232. package/esm2015/form-entry/validators/min.validator.js +17 -0
  233. package/esm2015/form-entry/validators/required.validator.js +11 -0
  234. package/esm2015/form-entry/validators/validations.js +5 -0
  235. package/esm2015/form-entry/value-adapters/encounter.adapter.js +172 -0
  236. package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +496 -0
  237. package/esm2015/form-entry/value-adapters/obs.adapter.js +545 -0
  238. package/esm2015/form-entry/value-adapters/order.adapter.js +186 -0
  239. package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +87 -0
  240. package/esm2015/form-entry/value-adapters/value.adapter.js +2 -0
  241. package/esm2015/lib/index.js +49 -0
  242. package/esm2015/openmrs-ngx-formentry.js +76 -0
  243. package/esm2015/public_api.js +2 -0
  244. package/esm2015/shared.module.js +15 -0
  245. package/fesm2015/openmrs-ngx-formentry.js +13458 -0
  246. package/fesm2015/openmrs-ngx-formentry.js.map +1 -0
  247. package/form-entry/control-alerts/alert-helpers.d.ts +9 -0
  248. package/form-entry/control-alerts/can-generate-alert.d.ts +18 -0
  249. package/form-entry/control-calculators/can-calculate.d.ts +5 -0
  250. package/form-entry/control-hiders-disablers/can-disable.d.ts +19 -0
  251. package/form-entry/control-hiders-disablers/can-hide.d.ts +20 -0
  252. package/form-entry/control-hiders-disablers/disabler-helper.d.ts +7 -0
  253. package/form-entry/control-hiders-disablers/hider-helpers.d.ts +9 -0
  254. package/form-entry/data-sources/data-sources.d.ts +7 -0
  255. package/form-entry/data-sources/dummy-data-source.d.ts +18 -0
  256. package/form-entry/directives/collapse-animations.d.ts +4 -0
  257. package/form-entry/directives/collapse.directive.d.ts +42 -0
  258. package/form-entry/directives/historical-value-directive.d.ts +13 -0
  259. package/form-entry/error-renderer/error-renderer.component.d.ts +17 -0
  260. package/form-entry/expression-runner/expression-runner.d.ts +15 -0
  261. package/form-entry/form-entry.module.d.ts +2 -0
  262. package/form-entry/form-factory/control-relations.factory.d.ts +15 -0
  263. package/form-entry/form-factory/form-control.service.d.ts +22 -0
  264. package/form-entry/form-factory/form-node.d.ts +51 -0
  265. package/form-entry/form-factory/form.d.ts +28 -0
  266. package/form-entry/form-factory/form.factory.d.ts +23 -0
  267. package/form-entry/form-factory/hiders-disablers.factory.d.ts +17 -0
  268. package/form-entry/form-factory/question.factory.d.ts +56 -0
  269. package/form-entry/form-factory/show-messages.factory.d.ts +12 -0
  270. package/form-entry/form-factory/validation.factory.d.ts +22 -0
  271. package/form-entry/form-renderer/form-renderer.component.css.d.ts +1 -0
  272. package/form-entry/form-renderer/form-renderer.component.d.ts +52 -0
  273. package/form-entry/helpers/historical-expression-helper-service.d.ts +5 -0
  274. package/form-entry/helpers/historical-field-helper-service.d.ts +4 -0
  275. package/form-entry/helpers/js-expression-helper.d.ts +22 -0
  276. package/form-entry/pipes/time-ago.pipe.d.ts +11 -0
  277. package/form-entry/question-models/checkbox.model.d.ts +9 -0
  278. package/form-entry/question-models/conditional-validation.model.d.ts +6 -0
  279. package/form-entry/question-models/custom-control-question.model.d.ts +6 -0
  280. package/form-entry/question-models/date-question.d.ts +7 -0
  281. package/form-entry/question-models/date-validation.model.d.ts +5 -0
  282. package/form-entry/question-models/file-upload-question.d.ts +8 -0
  283. package/form-entry/question-models/group-question.d.ts +8 -0
  284. package/form-entry/question-models/interfaces/base-options.d.ts +28 -0
  285. package/form-entry/question-models/interfaces/checkbox-options.d.ts +7 -0
  286. package/form-entry/question-models/interfaces/data-source.d.ts +10 -0
  287. package/form-entry/question-models/interfaces/date-question-options.d.ts +3 -0
  288. package/form-entry/question-models/interfaces/file-upload-question-options.d.ts +5 -0
  289. package/form-entry/question-models/interfaces/group-question-options.d.ts +5 -0
  290. package/form-entry/question-models/interfaces/multi-select-options.d.ts +4 -0
  291. package/form-entry/question-models/interfaces/nested-questions.d.ts +6 -0
  292. package/form-entry/question-models/interfaces/repeating-question-options.d.ts +5 -0
  293. package/form-entry/question-models/interfaces/select-option.d.ts +4 -0
  294. package/form-entry/question-models/interfaces/select-question-options.d.ts +9 -0
  295. package/form-entry/question-models/interfaces/test-order-question-options.d.ts +14 -0
  296. package/form-entry/question-models/interfaces/text-area-question-options.d.ts +5 -0
  297. package/form-entry/question-models/interfaces/text-question-options.d.ts +4 -0
  298. package/form-entry/question-models/interfaces/ui-select-question-options.d.ts +9 -0
  299. package/form-entry/question-models/js-expression-validation.model.d.ts +5 -0
  300. package/form-entry/question-models/max-validation.model.d.ts +5 -0
  301. package/form-entry/question-models/min-validation.model.d.ts +5 -0
  302. package/form-entry/question-models/models.d.ts +15 -0
  303. package/form-entry/question-models/multi-select-question.d.ts +9 -0
  304. package/form-entry/question-models/pair.model.d.ts +5 -0
  305. package/form-entry/question-models/question-base.d.ts +40 -0
  306. package/form-entry/question-models/rendering-type.d.ts +7 -0
  307. package/form-entry/question-models/repeating-question.d.ts +7 -0
  308. package/form-entry/question-models/select-option.d.ts +6 -0
  309. package/form-entry/question-models/select-question.d.ts +10 -0
  310. package/form-entry/question-models/test-order-question.d.ts +13 -0
  311. package/form-entry/question-models/text-area-input-question.d.ts +7 -0
  312. package/form-entry/question-models/text-input-question.d.ts +6 -0
  313. package/form-entry/question-models/ui-select-question.d.ts +11 -0
  314. package/form-entry/question-models/validation.model.d.ts +5 -0
  315. package/form-entry/services/debug-mode.service.d.ts +5 -0
  316. package/form-entry/services/form-errors.service.d.ts +10 -0
  317. package/form-entry/services/form-schema-compiler.service.d.ts +20 -0
  318. package/form-entry/services/historical-encounter-data.service.d.ts +12 -0
  319. package/form-entry/utils/messages.d.ts +11 -0
  320. package/form-entry/validators/conditional-answered.validator.d.ts +8 -0
  321. package/form-entry/validators/conditional-required.validator.d.ts +8 -0
  322. package/form-entry/validators/date.validator.d.ts +7 -0
  323. package/form-entry/validators/future-date-restriction.validator.d.ts +7 -0
  324. package/form-entry/validators/js-expression.validator.d.ts +8 -0
  325. package/form-entry/validators/max-date.validator.d.ts +6 -0
  326. package/form-entry/validators/max.validator.d.ts +6 -0
  327. package/form-entry/validators/min-date.validator.d.ts +6 -0
  328. package/form-entry/validators/min.validator.d.ts +6 -0
  329. package/form-entry/validators/required.validator.d.ts +6 -0
  330. package/form-entry/validators/validations.d.ts +4 -0
  331. package/form-entry/value-adapters/encounter.adapter.d.ts +23 -0
  332. package/form-entry/value-adapters/obs-adapter-helper.d.ts +27 -0
  333. package/form-entry/value-adapters/obs.adapter.d.ts +35 -0
  334. package/form-entry/value-adapters/order.adapter.d.ts +17 -0
  335. package/form-entry/value-adapters/person-attribute.adapter.d.ts +12 -0
  336. package/form-entry/value-adapters/value.adapter.d.ts +5 -0
  337. package/lib/index.d.ts +49 -0
  338. package/openmrs-ngx-formentry.d.ts +85 -0
  339. package/openmrs-ngx-formentry.metadata.json +1 -0
  340. package/package.json +35 -0
  341. package/public_api.d.ts +1 -0
  342. package/shared.module.d.ts +2 -0
  343. package/styles/ngx-formentry.css +374 -0
  344. package/styles/picker.min.css +770 -0
@@ -0,0 +1,88 @@
1
+ import { FormControl } from '@angular/forms';
2
+ import { ControlRelations } from '../change-tracking/control-relations';
3
+ import { HiderHelper } from '../form-entry/control-hiders-disablers/hider-helpers';
4
+ import { AlertHelper } from '../form-entry/control-alerts/alert-helpers';
5
+ import { DisablerHelper } from '../form-entry/control-hiders-disablers/disabler-helper';
6
+ import { ExpressionRunner } from '../form-entry/expression-runner/expression-runner';
7
+ class AfeFormControl extends FormControl {
8
+ constructor(formState, validator, asyncValidator) {
9
+ super(formState, validator, asyncValidator);
10
+ this.hidden = false;
11
+ this.hiderHelper = new HiderHelper();
12
+ this.disablerHelper = new DisablerHelper();
13
+ this.AlertHelper = new AlertHelper();
14
+ this._controlRelations = new ControlRelations(this);
15
+ this.hiders = [];
16
+ this.disablers = [];
17
+ this.alerts = [];
18
+ this.valueChanges.subscribe((value) => {
19
+ if (this._previousValue !== value) {
20
+ this.fireValueChangeListener(value);
21
+ this._previousValue = value;
22
+ }
23
+ });
24
+ }
25
+ get controlRelations() {
26
+ return this._controlRelations;
27
+ }
28
+ disable(param) {
29
+ super.disable(param);
30
+ super.setValue('');
31
+ }
32
+ hide() {
33
+ this.hiderHelper.hideControl(this);
34
+ }
35
+ show() {
36
+ this.hiderHelper.showControl(this);
37
+ }
38
+ setHidingFn(newHider) {
39
+ this.hiderHelper.setHiderForControl(this, newHider);
40
+ }
41
+ setCalculatorFn(newCalculator) {
42
+ this.calculator = newCalculator;
43
+ }
44
+ updateCalculatedValue() {
45
+ if (this.calculator) {
46
+ const _val = this.calculator.call(ExpressionRunner, {});
47
+ this.setValue(_val);
48
+ }
49
+ }
50
+ clearHidingFns() {
51
+ this.hiderHelper.clearHidersForControl(this);
52
+ }
53
+ updateHiddenState() {
54
+ this.hiderHelper.evaluateControlHiders(this);
55
+ }
56
+ setDisablingFn(newDisabler) {
57
+ this.disablerHelper.setDisablerForControl(this, newDisabler);
58
+ }
59
+ clearDisablingFns() {
60
+ this.disablerHelper.clearDisablersForControl(this);
61
+ }
62
+ updateDisabledState() {
63
+ this.disablerHelper.evaluateControlDisablers(this);
64
+ }
65
+ setAlertFn(newHider) {
66
+ this.AlertHelper.setAlertsForControl(this, newHider);
67
+ }
68
+ clearMessageFns() {
69
+ this.AlertHelper.clearAlertsForControl(this);
70
+ }
71
+ updateAlert() {
72
+ this.AlertHelper.evaluateControlAlerts(this);
73
+ }
74
+ addValueChangeListener(func) {
75
+ this._valueChangeListener = func;
76
+ }
77
+ fireValueChangeListener(value) {
78
+ if (this._valueChangeListener &&
79
+ typeof this._valueChangeListener === 'function') {
80
+ this._valueChangeListener(value);
81
+ }
82
+ }
83
+ setValue(value) {
84
+ super.setValue(value);
85
+ }
86
+ }
87
+ export { AfeFormControl };
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZlLWZvcm0tY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBSVosTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQWN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUV4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUVyRixNQUFNLGNBQ0osU0FBUSxXQUFXO0lBdUJuQixZQUNFLFNBQWUsRUFDZixTQUF1RSxFQUN2RSxjQUE2RDtRQUU3RCxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQWY5QyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBT1AsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM3QyxtQkFBYyxHQUFtQixJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ3RELGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFPbkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENB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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZvcm1Db250cm9sLFxuICBWYWxpZGF0b3JGbixcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgQWJzdHJhY3RDb250cm9sT3B0aW9uc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENvbnRyb2xSZWxhdGlvbnMgfSBmcm9tICcuLi9jaGFuZ2UtdHJhY2tpbmcvY29udHJvbC1yZWxhdGlvbnMnO1xuaW1wb3J0IHsgVmFsdWVDaGFuZ2VMaXN0ZW5lciB9IGZyb20gJy4vdmFsdWUtY2hhbmdlLmxpc3RlbmVyJztcbmltcG9ydCB7XG4gIENhbkhpZGUsXG4gIEhpZGVyXG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1oaWRlJztcbmltcG9ydCB7XG4gIENhbkRpc2FibGUsXG4gIERpc2FibGVyXG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1kaXNhYmxlJztcbmltcG9ydCB7XG4gIENhbkdlbmVyYXRlQWxlcnQsXG4gIEFsZXJ0XG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1hbGVydHMvY2FuLWdlbmVyYXRlLWFsZXJ0JztcbmltcG9ydCB7IEhpZGVySGVscGVyIH0gZnJvbSAnLi4vZm9ybS1lbnRyeS9jb250cm9sLWhpZGVycy1kaXNhYmxlcnMvaGlkZXItaGVscGVycyc7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1hbGVydHMvYWxlcnQtaGVscGVycyc7XG5pbXBvcnQgeyBEaXNhYmxlckhlbHBlciB9IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Rpc2FibGVyLWhlbHBlcic7XG5pbXBvcnQgeyBDYW5DYWxjdWxhdGUgfSBmcm9tICcuLi9mb3JtLWVudHJ5L2NvbnRyb2wtY2FsY3VsYXRvcnMvY2FuLWNhbGN1bGF0ZSc7XG5pbXBvcnQgeyBFeHByZXNzaW9uUnVubmVyIH0gZnJvbSAnLi4vZm9ybS1lbnRyeS9leHByZXNzaW9uLXJ1bm5lci9leHByZXNzaW9uLXJ1bm5lcic7XG5cbmNsYXNzIEFmZUZvcm1Db250cm9sXG4gIGV4dGVuZHMgRm9ybUNvbnRyb2xcbiAgaW1wbGVtZW50c1xuICAgIENhbkhpZGUsXG4gICAgQ2FuRGlzYWJsZSxcbiAgICBDYW5DYWxjdWxhdGUsXG4gICAgQ2FuR2VuZXJhdGVBbGVydCxcbiAgICBWYWx1ZUNoYW5nZUxpc3RlbmVyIHtcbiAgcHJpdmF0ZSBfY29udHJvbFJlbGF0aW9uczogQ29udHJvbFJlbGF0aW9ucztcbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VMaXN0ZW5lcjogYW55O1xuICBwcml2YXRlIF9wcmV2aW91c1ZhbHVlO1xuICBwdWJsaWMgdXVpZDogc3RyaW5nO1xuICBwdWJsaWMgcGF0aEZyb21Sb290OiBzdHJpbmc7XG5cbiAgaGlkZGVuID0gZmFsc2U7XG4gIGhpZGVyczogSGlkZXJbXTtcbiAgYWxlcnQ6IHN0cmluZztcbiAgYWxlcnRzOiBBbGVydFtdO1xuICBjYWxjdWxhdG9yOiBGdW5jdGlvbjtcbiAgZGlzYWJsZXJzOiBEaXNhYmxlcltdO1xuXG4gIHByaXZhdGUgaGlkZXJIZWxwZXI6IEhpZGVySGVscGVyID0gbmV3IEhpZGVySGVscGVyKCk7XG4gIHByaXZhdGUgZGlzYWJsZXJIZWxwZXI6IERpc2FibGVySGVscGVyID0gbmV3IERpc2FibGVySGVscGVyKCk7XG4gIHByaXZhdGUgQWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyID0gbmV3IEFsZXJ0SGVscGVyKCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGZvcm1TdGF0ZT86IGFueSxcbiAgICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10gfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zIHwgbnVsbCxcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsXG4gICkge1xuICAgIHN1cGVyKGZvcm1TdGF0ZSwgdmFsaWRhdG9yLCBhc3luY1ZhbGlkYXRvcik7XG4gICAgdGhpcy5fY29udHJvbFJlbGF0aW9ucyA9IG5ldyBDb250cm9sUmVsYXRpb25zKHRoaXMpO1xuICAgIHRoaXMuaGlkZXJzID0gW107XG4gICAgdGhpcy5kaXNhYmxlcnMgPSBbXTtcbiAgICB0aGlzLmFsZXJ0cyA9IFtdO1xuXG4gICAgdGhpcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzVmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICAgIHRoaXMuZmlyZVZhbHVlQ2hhbmdlTGlzdGVuZXIodmFsdWUpO1xuICAgICAgICB0aGlzLl9wcmV2aW91c1ZhbHVlID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXQgY29udHJvbFJlbGF0aW9ucygpOiBDb250cm9sUmVsYXRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbFJlbGF0aW9ucztcbiAgfVxuXG4gIGRpc2FibGUocGFyYW0/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KSB7XG4gICAgc3VwZXIuZGlzYWJsZShwYXJhbSk7XG4gICAgc3VwZXIuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLmhpZGVySGVscGVyLmhpZGVDb250cm9sKHRoaXMpO1xuICB9XG5cbiAgc2hvdygpIHtcbiAgICB0aGlzLmhpZGVySGVscGVyLnNob3dDb250cm9sKHRoaXMpO1xuICB9XG5cbiAgc2V0SGlkaW5nRm4obmV3SGlkZXI6IEhpZGVyKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5zZXRIaWRlckZvckNvbnRyb2wodGhpcywgbmV3SGlkZXIpO1xuICB9XG5cbiAgc2V0Q2FsY3VsYXRvckZuKG5ld0NhbGN1bGF0b3I6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5jYWxjdWxhdG9yID0gbmV3Q2FsY3VsYXRvcjtcbiAgfVxuXG4gIHVwZGF0ZUNhbGN1bGF0ZWRWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5jYWxjdWxhdG9yKSB7XG4gICAgICBjb25zdCBfdmFsID0gdGhpcy5jYWxjdWxhdG9yLmNhbGwoRXhwcmVzc2lvblJ1bm5lciwge30pO1xuICAgICAgdGhpcy5zZXRWYWx1ZShfdmFsKTtcbiAgICB9XG4gIH1cblxuICBjbGVhckhpZGluZ0ZucygpIHtcbiAgICB0aGlzLmhpZGVySGVscGVyLmNsZWFySGlkZXJzRm9yQ29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIHVwZGF0ZUhpZGRlblN0YXRlKCkge1xuICAgIHRoaXMuaGlkZXJIZWxwZXIuZXZhbHVhdGVDb250cm9sSGlkZXJzKHRoaXMpO1xuICB9XG5cbiAgc2V0RGlzYWJsaW5nRm4obmV3RGlzYWJsZXI6IERpc2FibGVyKSB7XG4gICAgdGhpcy5kaXNhYmxlckhlbHBlci5zZXREaXNhYmxlckZvckNvbnRyb2wodGhpcywgbmV3RGlzYWJsZXIpO1xuICB9XG5cbiAgY2xlYXJEaXNhYmxpbmdGbnMoKSB7XG4gICAgdGhpcy5kaXNhYmxlckhlbHBlci5jbGVhckRpc2FibGVyc0ZvckNvbnRyb2wodGhpcyk7XG4gIH1cblxuICB1cGRhdGVEaXNhYmxlZFN0YXRlKCkge1xuICAgIHRoaXMuZGlzYWJsZXJIZWxwZXIuZXZhbHVhdGVDb250cm9sRGlzYWJsZXJzKHRoaXMpO1xuICB9XG5cbiAgc2V0QWxlcnRGbihuZXdIaWRlcjogQWxlcnQpIHtcbiAgICB0aGlzLkFsZXJ0SGVscGVyLnNldEFsZXJ0c0ZvckNvbnRyb2wodGhpcywgbmV3SGlkZXIpO1xuICB9XG5cbiAgY2xlYXJNZXNzYWdlRm5zKCkge1xuICAgIHRoaXMuQWxlcnRIZWxwZXIuY2xlYXJBbGVydHNGb3JDb250cm9sKHRoaXMpO1xuICB9XG5cbiAgdXBkYXRlQWxlcnQoKSB7XG4gICAgdGhpcy5BbGVydEhlbHBlci5ldmFsdWF0ZUNvbnRyb2xBbGVydHModGhpcyk7XG4gIH1cblxuICBhZGRWYWx1ZUNoYW5nZUxpc3RlbmVyKGZ1bmM6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlTGlzdGVuZXIgPSBmdW5jO1xuICB9XG5cbiAgZmlyZVZhbHVlQ2hhbmdlTGlzdGVuZXIodmFsdWU6IGFueSkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlTGlzdGVuZXIgJiZcbiAgICAgIHR5cGVvZiB0aGlzLl92YWx1ZUNoYW5nZUxpc3RlbmVyID09PSAnZnVuY3Rpb24nXG4gICAgKSB7XG4gICAgICB0aGlzLl92YWx1ZUNoYW5nZUxpc3RlbmVyKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgc3VwZXIuc2V0VmFsdWUodmFsdWUpO1xuICB9XG59XG5leHBvcnQgeyBBZmVGb3JtQ29udHJvbCB9O1xuIl19
@@ -0,0 +1,61 @@
1
+ import { FormGroup } from '@angular/forms';
2
+ import { ControlRelations } from '../change-tracking/control-relations';
3
+ import { HiderHelper } from '../form-entry/control-hiders-disablers/hider-helpers';
4
+ import { DisablerHelper } from '../form-entry/control-hiders-disablers/disabler-helper';
5
+ import { AlertHelper } from '../form-entry/control-alerts/alert-helpers';
6
+ export class AfeFormGroup extends FormGroup {
7
+ constructor(controls, validator, asyncValidator) {
8
+ super(controls, validator, asyncValidator);
9
+ this.hiderHelper = new HiderHelper();
10
+ this.disablerHelper = new DisablerHelper();
11
+ this.AlertHelper = new AlertHelper();
12
+ this._controlRelations = new ControlRelations(this);
13
+ this.hiders = [];
14
+ this.disablers = [];
15
+ this.alerts = [];
16
+ }
17
+ get controlRelations() {
18
+ return this._controlRelations;
19
+ }
20
+ hide() {
21
+ this.hiderHelper.hideControl(this);
22
+ }
23
+ show() {
24
+ this.hiderHelper.showControl(this);
25
+ }
26
+ disable(param) {
27
+ super.disable(param);
28
+ super.setValue({});
29
+ }
30
+ setHidingFn(newHider) {
31
+ this.hiderHelper.setHiderForControl(this, newHider);
32
+ }
33
+ clearHidingFns() {
34
+ this.hiderHelper.clearHidersForControl(this);
35
+ }
36
+ updateHiddenState() {
37
+ this.hiderHelper.evaluateControlHiders(this);
38
+ }
39
+ setDisablingFn(newDisabler) {
40
+ this.disablerHelper.setDisablerForControl(this, newDisabler);
41
+ }
42
+ clearDisablingFns() {
43
+ this.disablerHelper.clearDisablersForControl(this);
44
+ }
45
+ updateDisabledState() {
46
+ this.disablerHelper.evaluateControlDisablers(this);
47
+ }
48
+ setAlertFn(newHider) {
49
+ this.AlertHelper.setAlertsForControl(this, newHider);
50
+ }
51
+ clearMessageFns() {
52
+ this.AlertHelper.clearAlertsForControl(this);
53
+ }
54
+ updateAlert() {
55
+ this.AlertHelper.evaluateControlAlerts(this);
56
+ }
57
+ setValue(value) {
58
+ super.setValue(value);
59
+ }
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZlLWZvcm0tZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24vYWZlLWZvcm0tZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBY3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRXpFLE1BQU0sT0FBTyxZQUNYLFNBQVEsU0FBUztJQWtCakIsWUFDRSxRQUE0QyxFQUM1QyxTQUF1QixFQUN2QixjQUFpQztRQUVqQyxLQUFLLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVRyQyxnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzdDLG1CQUFjLEdBQW1CLElBQUksY0FBYyxFQUFFLENBQUM7UUFDdEQsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQVFuRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBbUQ7UUFDekQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZTtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFxQjtRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFlO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JGbixcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgQWJzdHJhY3RDb250cm9sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ29udHJvbFJlbGF0aW9ucyB9IGZyb20gJy4uL2NoYW5nZS10cmFja2luZy9jb250cm9sLXJlbGF0aW9ucyc7XG5cbmltcG9ydCB7XG4gIENhbkhpZGUsXG4gIEhpZGVyXG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1oaWRlJztcbmltcG9ydCB7XG4gIENhbkRpc2FibGUsXG4gIERpc2FibGVyXG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1kaXNhYmxlJztcbmltcG9ydCB7XG4gIENhbkdlbmVyYXRlQWxlcnQsXG4gIEFsZXJ0XG59IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1hbGVydHMvY2FuLWdlbmVyYXRlLWFsZXJ0JztcbmltcG9ydCB7IEhpZGVySGVscGVyIH0gZnJvbSAnLi4vZm9ybS1lbnRyeS9jb250cm9sLWhpZGVycy1kaXNhYmxlcnMvaGlkZXItaGVscGVycyc7XG5pbXBvcnQgeyBEaXNhYmxlckhlbHBlciB9IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Rpc2FibGVyLWhlbHBlcic7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1hbGVydHMvYWxlcnQtaGVscGVycyc7XG5cbmV4cG9ydCBjbGFzcyBBZmVGb3JtR3JvdXBcbiAgZXh0ZW5kcyBGb3JtR3JvdXBcbiAgaW1wbGVtZW50cyBDYW5IaWRlLCBDYW5EaXNhYmxlLCBDYW5HZW5lcmF0ZUFsZXJ0IHtcbiAgcHJpdmF0ZSBfY29udHJvbFJlbGF0aW9uczogQ29udHJvbFJlbGF0aW9ucztcblxuICBwdWJsaWMgdXVpZDogc3RyaW5nO1xuICBwdWJsaWMgcGF0aEZyb21Sb290OiBzdHJpbmc7XG5cbiAgaGlkZGVuOiBmYWxzZTtcbiAgaGlkZXJzOiBIaWRlcltdO1xuICBhbGVydDogc3RyaW5nO1xuICBhbGVydHM6IEFsZXJ0W107XG5cbiAgZGlzYWJsZXJzOiBEaXNhYmxlcltdO1xuXG4gIHByaXZhdGUgaGlkZXJIZWxwZXI6IEhpZGVySGVscGVyID0gbmV3IEhpZGVySGVscGVyKCk7XG4gIHByaXZhdGUgZGlzYWJsZXJIZWxwZXI6IERpc2FibGVySGVscGVyID0gbmV3IERpc2FibGVySGVscGVyKCk7XG4gIHByaXZhdGUgQWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyID0gbmV3IEFsZXJ0SGVscGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29udHJvbHM6IHsgW2tleTogc3RyaW5nXTogQWJzdHJhY3RDb250cm9sIH0sXG4gICAgdmFsaWRhdG9yPzogVmFsaWRhdG9yRm4sXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuXG4gICkge1xuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3IsIGFzeW5jVmFsaWRhdG9yKTtcbiAgICB0aGlzLl9jb250cm9sUmVsYXRpb25zID0gbmV3IENvbnRyb2xSZWxhdGlvbnModGhpcyk7XG4gICAgdGhpcy5oaWRlcnMgPSBbXTtcbiAgICB0aGlzLmRpc2FibGVycyA9IFtdO1xuICAgIHRoaXMuYWxlcnRzID0gW107XG4gIH1cblxuICBnZXQgY29udHJvbFJlbGF0aW9ucygpOiBDb250cm9sUmVsYXRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbFJlbGF0aW9ucztcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5oaWRlQ29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIHNob3coKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5zaG93Q29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIGRpc2FibGUocGFyYW0/OiB7IG9ubHlTZWxmPzogYm9vbGVhbjsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KSB7XG4gICAgc3VwZXIuZGlzYWJsZShwYXJhbSk7XG4gICAgc3VwZXIuc2V0VmFsdWUoe30pO1xuICB9XG5cbiAgc2V0SGlkaW5nRm4obmV3SGlkZXI6IEhpZGVyKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5zZXRIaWRlckZvckNvbnRyb2wodGhpcywgbmV3SGlkZXIpO1xuICB9XG5cbiAgY2xlYXJIaWRpbmdGbnMoKSB7XG4gICAgdGhpcy5oaWRlckhlbHBlci5jbGVhckhpZGVyc0ZvckNvbnRyb2wodGhpcyk7XG4gIH1cblxuICB1cGRhdGVIaWRkZW5TdGF0ZSgpIHtcbiAgICB0aGlzLmhpZGVySGVscGVyLmV2YWx1YXRlQ29udHJvbEhpZGVycyh0aGlzKTtcbiAgfVxuXG4gIHNldERpc2FibGluZ0ZuKG5ld0Rpc2FibGVyOiBEaXNhYmxlcikge1xuICAgIHRoaXMuZGlzYWJsZXJIZWxwZXIuc2V0RGlzYWJsZXJGb3JDb250cm9sKHRoaXMsIG5ld0Rpc2FibGVyKTtcbiAgfVxuXG4gIGNsZWFyRGlzYWJsaW5nRm5zKCkge1xuICAgIHRoaXMuZGlzYWJsZXJIZWxwZXIuY2xlYXJEaXNhYmxlcnNGb3JDb250cm9sKHRoaXMpO1xuICB9XG5cbiAgdXBkYXRlRGlzYWJsZWRTdGF0ZSgpIHtcbiAgICB0aGlzLmRpc2FibGVySGVscGVyLmV2YWx1YXRlQ29udHJvbERpc2FibGVycyh0aGlzKTtcbiAgfVxuXG4gIHNldEFsZXJ0Rm4obmV3SGlkZXI6IEFsZXJ0KSB7XG4gICAgdGhpcy5BbGVydEhlbHBlci5zZXRBbGVydHNGb3JDb250cm9sKHRoaXMsIG5ld0hpZGVyKTtcbiAgfVxuXG4gIGNsZWFyTWVzc2FnZUZucygpIHtcbiAgICB0aGlzLkFsZXJ0SGVscGVyLmNsZWFyQWxlcnRzRm9yQ29udHJvbCh0aGlzKTtcbiAgfVxuXG4gIHVwZGF0ZUFsZXJ0KCkge1xuICAgIHRoaXMuQWxlcnRIZWxwZXIuZXZhbHVhdGVDb250cm9sQWxlcnRzKHRoaXMpO1xuICB9XG4gIHNldFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export { AfeControlType } from './afe-control-type';
2
+ export { AfeFormArray } from './afe-form-array';
3
+ export { AfeFormGroup } from './afe-form-group';
4
+ export { AfeFormControl } from './afe-form-control';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1leHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL2NvbnRyb2wtZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBZmVDb250cm9sVHlwZSB9IGZyb20gJy4vYWZlLWNvbnRyb2wtdHlwZSc7XG5leHBvcnQgeyBBZmVGb3JtQXJyYXkgfSBmcm9tICcuL2FmZS1mb3JtLWFycmF5JztcbmV4cG9ydCB7IEFmZUZvcm1Hcm91cCB9IGZyb20gJy4vYWZlLWZvcm0tZ3JvdXAnO1xuZXhwb3J0IHsgQWZlRm9ybUNvbnRyb2wgfSBmcm9tICcuL2FmZS1mb3JtLWNvbnRyb2wnO1xuIl19
@@ -0,0 +1,5 @@
1
+ export { AfeFormControl } from './afe-form-control';
2
+ export { AfeFormGroup } from './afe-form-group';
3
+ export { AfeFormArray } from './afe-form-array';
4
+ export { AfeControlType } from './afe-control-type';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQWZlRm9ybUNvbnRyb2wgfSBmcm9tICcuL2FmZS1mb3JtLWNvbnRyb2wnO1xuZXhwb3J0IHsgQWZlRm9ybUdyb3VwIH0gZnJvbSAnLi9hZmUtZm9ybS1ncm91cCc7XG5leHBvcnQgeyBBZmVGb3JtQXJyYXkgfSBmcm9tICcuL2FmZS1mb3JtLWFycmF5JztcbmV4cG9ydCB7IEFmZUNvbnRyb2xUeXBlIH0gZnJvbSAnLi9hZmUtY29udHJvbC10eXBlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlLmxpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvYWJzdHJhY3QtY29udHJvbHMtZXh0ZW5zaW9uL3ZhbHVlLWNoYW5nZS5saXN0ZW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBWYWx1ZUNoYW5nZUxpc3RlbmVyIHtcbiAgYWRkVmFsdWVDaGFuZ2VMaXN0ZW5lcihmdW5jOiBhbnkpO1xuXG4gIGZpcmVWYWx1ZUNoYW5nZUxpc3RlbmVyKHZhbHVlOiBhbnkpO1xufVxuIl19
@@ -0,0 +1,44 @@
1
+ // import { CanHide } from '../form-entry/control-hiders-disablers/can-hide';
2
+ // import { CanDisable } from '../form-entry/control-hiders-disablers/can-disable';
3
+ export class ControlRelation {
4
+ constructor(control, relatedTo) {
5
+ this._control = control;
6
+ this._relatedTo = relatedTo;
7
+ this._registerForChangesFromRelatedControl();
8
+ }
9
+ get control() {
10
+ return this._control;
11
+ }
12
+ get relatedTo() {
13
+ return this._relatedTo;
14
+ }
15
+ get lastUpdateValue() {
16
+ return this._lastUpdateValue;
17
+ }
18
+ updateControlBasedOnRelation(newValue) {
19
+ if (newValue !== this._lastUpdateValue) {
20
+ this._lastUpdateValue = newValue;
21
+ if (this._control.updateCalculatedValue) {
22
+ this._control.updateCalculatedValue();
23
+ }
24
+ this._control.updateValueAndValidity();
25
+ if (this._control.updateHiddenState) {
26
+ this._control.updateHiddenState();
27
+ }
28
+ if (this._control.updateDisabledState) {
29
+ this._control.updateDisabledState();
30
+ }
31
+ if (this._control.updateAlert) {
32
+ this._control.updateAlert();
33
+ }
34
+ return true;
35
+ }
36
+ return false;
37
+ }
38
+ _registerForChangesFromRelatedControl() {
39
+ this._relatedTo.valueChanges.subscribe((value) => {
40
+ this.updateControlBasedOnRelation(value);
41
+ });
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1yZWxhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NoYW5nZS10cmFja2luZy9jb250cm9sLXJlbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLDZFQUE2RTtBQUM3RSxtRkFBbUY7QUFFbkYsTUFBTSxPQUFPLGVBQWU7SUFLMUIsWUFBWSxPQUF3QixFQUFFLFNBQTBCO1FBQzlELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxRQUFhO1FBQ3hDLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO1lBRWpDLElBQUssSUFBSSxDQUFDLFFBQWdCLENBQUMscUJBQXFCLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxRQUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUM7YUFDaEQ7WUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDdkMsSUFBSyxJQUFJLENBQUMsUUFBZ0IsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFFBQWdCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUM1QztZQUVELElBQUssSUFBSSxDQUFDLFFBQWdCLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxRQUFnQixDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDOUM7WUFFRCxJQUFLLElBQUksQ0FBQyxRQUFnQixDQUFDLFdBQVcsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFFBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDdEM7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8scUNBQXFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy8gaW1wb3J0IHsgQ2FuSGlkZSB9IGZyb20gJy4uL2Zvcm0tZW50cnkvY29udHJvbC1oaWRlcnMtZGlzYWJsZXJzL2Nhbi1oaWRlJztcbi8vIGltcG9ydCB7IENhbkRpc2FibGUgfSBmcm9tICcuLi9mb3JtLWVudHJ5L2NvbnRyb2wtaGlkZXJzLWRpc2FibGVycy9jYW4tZGlzYWJsZSc7XG5cbmV4cG9ydCBjbGFzcyBDb250cm9sUmVsYXRpb24ge1xuICBwcml2YXRlIF9jb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIHByaXZhdGUgX3JlbGF0ZWRUbzogQWJzdHJhY3RDb250cm9sO1xuICBwcml2YXRlIF9sYXN0VXBkYXRlVmFsdWU6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIHJlbGF0ZWRUbzogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgdGhpcy5fY29udHJvbCA9IGNvbnRyb2w7XG4gICAgdGhpcy5fcmVsYXRlZFRvID0gcmVsYXRlZFRvO1xuICAgIHRoaXMuX3JlZ2lzdGVyRm9yQ2hhbmdlc0Zyb21SZWxhdGVkQ29udHJvbCgpO1xuICB9XG5cbiAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbDtcbiAgfVxuXG4gIGdldCByZWxhdGVkVG8oKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRlZFRvO1xuICB9XG5cbiAgZ2V0IGxhc3RVcGRhdGVWYWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9sYXN0VXBkYXRlVmFsdWU7XG4gIH1cblxuICB1cGRhdGVDb250cm9sQmFzZWRPblJlbGF0aW9uKG5ld1ZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuX2xhc3RVcGRhdGVWYWx1ZSkge1xuICAgICAgdGhpcy5fbGFzdFVwZGF0ZVZhbHVlID0gbmV3VmFsdWU7XG5cbiAgICAgIGlmICgodGhpcy5fY29udHJvbCBhcyBhbnkpLnVwZGF0ZUNhbGN1bGF0ZWRWYWx1ZSkge1xuICAgICAgICAodGhpcy5fY29udHJvbCBhcyBhbnkpLnVwZGF0ZUNhbGN1bGF0ZWRWYWx1ZSgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIGlmICgodGhpcy5fY29udHJvbCBhcyBhbnkpLnVwZGF0ZUhpZGRlblN0YXRlKSB7XG4gICAgICAgICh0aGlzLl9jb250cm9sIGFzIGFueSkudXBkYXRlSGlkZGVuU3RhdGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCh0aGlzLl9jb250cm9sIGFzIGFueSkudXBkYXRlRGlzYWJsZWRTdGF0ZSkge1xuICAgICAgICAodGhpcy5fY29udHJvbCBhcyBhbnkpLnVwZGF0ZURpc2FibGVkU3RhdGUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCh0aGlzLl9jb250cm9sIGFzIGFueSkudXBkYXRlQWxlcnQpIHtcbiAgICAgICAgKHRoaXMuX2NvbnRyb2wgYXMgYW55KS51cGRhdGVBbGVydCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZ2lzdGVyRm9yQ2hhbmdlc0Zyb21SZWxhdGVkQ29udHJvbCgpIHtcbiAgICB0aGlzLl9yZWxhdGVkVG8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQ29udHJvbEJhc2VkT25SZWxhdGlvbih2YWx1ZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { AbstractControl } from '@angular/forms';
2
+ import { ControlRelation } from './control-relation';
3
+ export class ControlRelations {
4
+ constructor(relationFor, relatedTo) {
5
+ this._otherRelations = [];
6
+ this._relationFor = relationFor;
7
+ this._relations = [];
8
+ if (relatedTo) {
9
+ this.addRelatedControls(relatedTo);
10
+ }
11
+ }
12
+ get relationsFor() {
13
+ return this._relationFor;
14
+ }
15
+ get relations() {
16
+ return this._relations;
17
+ }
18
+ get otherRelations() {
19
+ return this._otherRelations;
20
+ }
21
+ addRelatedControls(relatedTo) {
22
+ if (relatedTo instanceof AbstractControl) {
23
+ this.relations.push(new ControlRelation(this._relationFor, relatedTo));
24
+ }
25
+ if (relatedTo instanceof Array) {
26
+ for (let i = 0; i < relatedTo.length; i++) {
27
+ this.relations.push(new ControlRelation(this._relationFor, relatedTo[i]));
28
+ }
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1yZWxhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jaGFuZ2UtdHJhY2tpbmcvY29udHJvbC1yZWxhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxNQUFNLE9BQU8sZ0JBQWdCO0lBSzNCLFlBQ0UsV0FBNEIsRUFDNUIsU0FBK0M7UUFKekMsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFNaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFckIsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLFNBQThDO1FBQy9ELElBQUksU0FBUyxZQUFZLGVBQWUsRUFBRTtZQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDeEU7UUFFRCxJQUFJLFNBQVMsWUFBWSxLQUFLLEVBQUU7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNqQixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNyRCxDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ29udHJvbFJlbGF0aW9uIH0gZnJvbSAnLi9jb250cm9sLXJlbGF0aW9uJztcblxuZXhwb3J0IGNsYXNzIENvbnRyb2xSZWxhdGlvbnMge1xuICBwcml2YXRlIF9yZWxhdGlvbkZvcjogQWJzdHJhY3RDb250cm9sO1xuICBwcml2YXRlIF9yZWxhdGlvbnM6IENvbnRyb2xSZWxhdGlvbltdO1xuICBwcml2YXRlIF9vdGhlclJlbGF0aW9uczogYW55ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVsYXRpb25Gb3I6IEFic3RyYWN0Q29udHJvbCxcbiAgICByZWxhdGVkVG8/OiBBYnN0cmFjdENvbnRyb2wgfCBBYnN0cmFjdENvbnRyb2xbXVxuICApIHtcbiAgICB0aGlzLl9yZWxhdGlvbkZvciA9IHJlbGF0aW9uRm9yO1xuICAgIHRoaXMuX3JlbGF0aW9ucyA9IFtdO1xuXG4gICAgaWYgKHJlbGF0ZWRUbykge1xuICAgICAgdGhpcy5hZGRSZWxhdGVkQ29udHJvbHMocmVsYXRlZFRvKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVsYXRpb25zRm9yKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uRm9yO1xuICB9XG5cbiAgZ2V0IHJlbGF0aW9ucygpOiBDb250cm9sUmVsYXRpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9ucztcbiAgfVxuXG4gIGdldCBvdGhlclJlbGF0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3RoZXJSZWxhdGlvbnM7XG4gIH1cblxuICBhZGRSZWxhdGVkQ29udHJvbHMocmVsYXRlZFRvOiBBYnN0cmFjdENvbnRyb2wgfCBBYnN0cmFjdENvbnRyb2xbXSkge1xuICAgIGlmIChyZWxhdGVkVG8gaW5zdGFuY2VvZiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICAgIHRoaXMucmVsYXRpb25zLnB1c2gobmV3IENvbnRyb2xSZWxhdGlvbih0aGlzLl9yZWxhdGlvbkZvciwgcmVsYXRlZFRvKSk7XG4gICAgfVxuXG4gICAgaWYgKHJlbGF0ZWRUbyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlbGF0ZWRUby5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLnJlbGF0aW9ucy5wdXNoKFxuICAgICAgICAgIG5ldyBDb250cm9sUmVsYXRpb24odGhpcy5fcmVsYXRpb25Gb3IsIHJlbGF0ZWRUb1tpXSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,87 @@
1
+ import { Component, Input, forwardRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { Option } from '../form-entry/question-models/select-option';
5
+ export class AfeNgSelectComponent {
6
+ constructor() {
7
+ this.question_options = [];
8
+ this.errors = [];
9
+ this.propagateChange = (_) => { };
10
+ }
11
+ getChangingText(event) {
12
+ // console.log(event);
13
+ this.getData(event).subscribe((options) => {
14
+ this.question_options = options;
15
+ });
16
+ }
17
+ writeValue(obj) { }
18
+ registerOnChange(fn) {
19
+ this.propagateChange = fn;
20
+ }
21
+ registerOnTouched(fn) { }
22
+ ngOnChanges(changes) { }
23
+ ngOnInit() {
24
+ if (this.extras) {
25
+ if (this.extras.originalValue) {
26
+ this.resolveSelectedOption(this.extras.originalValue).subscribe((option) => {
27
+ this.selected_question_option = option;
28
+ });
29
+ }
30
+ }
31
+ }
32
+ getData(searchText) {
33
+ this.subject = new BehaviorSubject([]);
34
+ const OptionsObservable = this.dataSource.searchOptions(searchText);
35
+ OptionsObservable.subscribe((options) => {
36
+ // console.log('options', options);
37
+ const mappedOptions = new Array();
38
+ for (let i = 0; i < options.length; i++) {
39
+ mappedOptions.push(new Option(options[i]));
40
+ }
41
+ this.subject.next(mappedOptions);
42
+ }, (error) => {
43
+ this.subject.error(error);
44
+ });
45
+ return this.subject.asObservable();
46
+ }
47
+ onValueChange(event) { }
48
+ resolveSelectedOption(value) {
49
+ this.subjectOption = new BehaviorSubject(null);
50
+ const OptionObservable = this.dataSource.resolveSelectedValue(value);
51
+ OptionObservable.subscribe((option) => {
52
+ // console.log('option', option);
53
+ this.subjectOption.next(option);
54
+ }, (error) => {
55
+ this.subjectOption.error(error);
56
+ });
57
+ return this.subjectOption.asObservable();
58
+ }
59
+ resetOptions() {
60
+ this.subject.next(new Array());
61
+ }
62
+ }
63
+ AfeNgSelectComponent.decorators = [
64
+ { type: Component, args: [{
65
+ selector: 'afe-ng-select',
66
+ template: `<ng-select
67
+ (searchInputText)="getChangingText($event)"
68
+ (ngModelChange)="onValueChange($event)"
69
+ [options]="question_options"
70
+ [multiple]="multiple"
71
+ >
72
+ </ng-select> `,
73
+ providers: [
74
+ {
75
+ provide: NG_VALUE_ACCESSOR,
76
+ useExisting: forwardRef(() => AfeNgSelectComponent),
77
+ multi: true
78
+ }
79
+ ]
80
+ },] }
81
+ ];
82
+ AfeNgSelectComponent.propDecorators = {
83
+ dataSource: [{ type: Input }],
84
+ multiple: [{ type: Input }],
85
+ extras: [{ type: Input }]
86
+ };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZlLW5nLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL2FmZS1uZy1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBcUJyRSxNQUFNLE9BQU8sb0JBQW9CO0lBakJqQztRQXdCRSxxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFFM0IsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUNqQixvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUEwRW5DLENBQUM7SUF4RUMsZUFBZSxDQUFDLEtBQUs7UUFDbkIsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUSxJQUFTLENBQUM7SUFDN0IsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFFbkMsV0FBVyxDQUFDLE9BQVksSUFBRyxDQUFDO0lBRTVCLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO2dCQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQzdELENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ1QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQztnQkFDekMsQ0FBQyxDQUNGLENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxVQUFrQjtRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRWpELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEUsaUJBQWlCLENBQUMsU0FBUyxDQUN6QixDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1YsbUNBQW1DO1lBQ25DLE1BQU0sYUFBYSxHQUFhLElBQUksS0FBSyxFQUFVLENBQUM7WUFFcEQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUNGLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFLLElBQUcsQ0FBQztJQUN2QixxQkFBcUIsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLENBQUM7UUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJFLGdCQUFnQixDQUFDLFNBQVMsQ0FDeEIsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNULGlDQUFpQztZQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FDRixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OztZQXBHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTs7Ozs7O2dCQU1JO2dCQUNkLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3dCQUNuRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjthQUNGOzs7eUJBS0UsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkluaXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9zZWxlY3Qtb3B0aW9uJztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4uL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvZGF0YS1zb3VyY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhZmUtbmctc2VsZWN0JyxcbiAgdGVtcGxhdGU6IGA8bmctc2VsZWN0XG4gICAgKHNlYXJjaElucHV0VGV4dCk9XCJnZXRDaGFuZ2luZ1RleHQoJGV2ZW50KVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbb3B0aW9uc109XCJxdWVzdGlvbl9vcHRpb25zXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICA+XG4gIDwvbmctc2VsZWN0PiBgLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFmZU5nU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFmZU5nU2VsZWN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgc3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PE9wdGlvbltdPjtcbiAgc3ViamVjdE9wdGlvbjogQmVoYXZpb3JTdWJqZWN0PE9wdGlvbj47XG4gIEBJbnB1dCgpIGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuO1xuICBASW5wdXQoKSBleHRyYXM6IGFueTtcbiAgcXVlc3Rpb25fb3B0aW9uczogYW55ID0gW107XG4gIHNlbGVjdGVkX3F1ZXN0aW9uX29wdGlvbjogYW55O1xuICBlcnJvcnM6IGFueSA9IFtdO1xuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcblxuICBnZXRDaGFuZ2luZ1RleHQoZXZlbnQpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhldmVudCk7XG4gICAgdGhpcy5nZXREYXRhKGV2ZW50KS5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgIHRoaXMucXVlc3Rpb25fb3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7fVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZXh0cmFzKSB7XG4gICAgICBpZiAodGhpcy5leHRyYXMub3JpZ2luYWxWYWx1ZSkge1xuICAgICAgICB0aGlzLnJlc29sdmVTZWxlY3RlZE9wdGlvbih0aGlzLmV4dHJhcy5vcmlnaW5hbFZhbHVlKS5zdWJzY3JpYmUoXG4gICAgICAgICAgKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZF9xdWVzdGlvbl9vcHRpb24gPSBvcHRpb247XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldERhdGEoc2VhcmNoVGV4dDogc3RyaW5nKTogT2JzZXJ2YWJsZTxPcHRpb25bXT4ge1xuICAgIHRoaXMuc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3B0aW9uW10+KFtdKTtcblxuICAgIGNvbnN0IE9wdGlvbnNPYnNlcnZhYmxlID0gdGhpcy5kYXRhU291cmNlLnNlYXJjaE9wdGlvbnMoc2VhcmNoVGV4dCk7XG5cbiAgICBPcHRpb25zT2JzZXJ2YWJsZS5zdWJzY3JpYmUoXG4gICAgICAob3B0aW9ucykgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnb3B0aW9ucycsIG9wdGlvbnMpO1xuICAgICAgICBjb25zdCBtYXBwZWRPcHRpb25zOiBPcHRpb25bXSA9IG5ldyBBcnJheTxPcHRpb24+KCk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgbWFwcGVkT3B0aW9ucy5wdXNoKG5ldyBPcHRpb24ob3B0aW9uc1tpXSkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KG1hcHBlZE9wdGlvbnMpO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnN1YmplY3QuZXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShldmVudCkge31cbiAgcmVzb2x2ZVNlbGVjdGVkT3B0aW9uKHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPE9wdGlvbj4ge1xuICAgIHRoaXMuc3ViamVjdE9wdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3B0aW9uPihudWxsKTtcbiAgICBjb25zdCBPcHRpb25PYnNlcnZhYmxlID0gdGhpcy5kYXRhU291cmNlLnJlc29sdmVTZWxlY3RlZFZhbHVlKHZhbHVlKTtcblxuICAgIE9wdGlvbk9ic2VydmFibGUuc3Vic2NyaWJlKFxuICAgICAgKG9wdGlvbikgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnb3B0aW9uJywgb3B0aW9uKTtcbiAgICAgICAgdGhpcy5zdWJqZWN0T3B0aW9uLm5leHQob3B0aW9uKTtcbiAgICAgIH0sXG4gICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5zdWJqZWN0T3B0aW9uLmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuc3ViamVjdE9wdGlvbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHJlc2V0T3B0aW9ucygpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXcgQXJyYXk8T3B0aW9uPigpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,119 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { LeafNode } from '../../form-entry/form-factory/form-node';
3
+ import moment from 'moment';
4
+ export class AppointmentsOverviewComponent {
5
+ constructor() {
6
+ this.showAppointments = false;
7
+ this.loadingAppointments = false;
8
+ this.errorLoadingAppointments = false;
9
+ this.appointmentsLoaded = false;
10
+ this.appointments = [];
11
+ this.today = '';
12
+ }
13
+ ngOnInit() { }
14
+ ngOnChanges() {
15
+ this.node.control.valueChanges.subscribe((appointmentDate) => {
16
+ var _a, _b;
17
+ this.resetProperties();
18
+ const node = this.node;
19
+ if (node.question.extras.questionOptions.concept &&
20
+ (node.question.extras.questionOptions.concept ===
21
+ 'a8a666ba-1350-11df-a1f1-0026b9348838' ||
22
+ node.question.extras.questionOptions.concept ===
23
+ 'a89d2398-1350-11df-a1f1-0026b9348838')) {
24
+ if (!this.showAppointments) {
25
+ this.loadingAppointments = true;
26
+ this.showAppointments = true;
27
+ let dataSource;
28
+ if (node.form && node.form.dataSourcesContainer.dataSources) {
29
+ dataSource =
30
+ node.form.dataSourcesContainer.dataSources
31
+ .monthlyScheduleResourceService;
32
+ }
33
+ const locationUuid = (_b = (_a = node.form.dataSourcesContainer.dataSources) === null || _a === void 0 ? void 0 : _a.userLocation) === null || _b === void 0 ? void 0 : _b.uuid;
34
+ if (dataSource && locationUuid) {
35
+ const startDate = moment(appointmentDate)
36
+ .startOf('week')
37
+ .add(1, 'day')
38
+ .format('YYYY-MM-DD');
39
+ const endDate = moment(appointmentDate)
40
+ .endOf('week')
41
+ .subtract(1, 'day')
42
+ .format('YYYY-MM-DD');
43
+ this.today = moment(appointmentDate).format('DD-MM-YYYY');
44
+ // create 5 week days
45
+ const scheduledAppointments = [];
46
+ const programTypes = [
47
+ '781d85b0-1359-11df-a1f1-0026b9348838',
48
+ '781d897a-1359-11df-a1f1-0026b9348838',
49
+ '96047aaf-7ab3-45e9-be6a-b61810fe617d',
50
+ 'c19aec66-1a40-4588-9b03-b6be55a8dd1d',
51
+ 'f7793d42-11ac-4cfd-9b35-e0a21a7a7c31',
52
+ '334c9e98-173f-4454-a8ce-f80b20b7fdf0',
53
+ '96ba279b-b23b-4e78-aba9-dcbd46a96b7b',
54
+ '781d8880-1359-11df-a1f1-0026b9348838'
55
+ ];
56
+ const programTypeParams = programTypes.join();
57
+ for (let i = 1; i <= 5; i++) {
58
+ scheduledAppointments.push({
59
+ date: moment(appointmentDate)
60
+ .startOf('week')
61
+ .add(i, 'day')
62
+ .format('DD-MM-YYYY'),
63
+ count: 0
64
+ });
65
+ }
66
+ dataSource
67
+ .getMonthlySchedule({
68
+ startDate: startDate,
69
+ endDate: endDate,
70
+ limit: 5,
71
+ locationUuids: locationUuid,
72
+ programType: programTypeParams
73
+ })
74
+ .subscribe(({ results }) => {
75
+ this.appointmentsLoaded = true;
76
+ this.loadingAppointments = false;
77
+ scheduledAppointments.map((appointment, index) => {
78
+ appointment.count =
79
+ results[index] !== undefined
80
+ ? results[index].count.scheduled
81
+ : 0;
82
+ });
83
+ this.appointments = scheduledAppointments;
84
+ }, (error) => {
85
+ this.loadingAppointments = false;
86
+ this.errorLoadingAppointments = true;
87
+ this.showAppointments = false;
88
+ console.error(error);
89
+ });
90
+ }
91
+ else {
92
+ this.showAppointments = false;
93
+ this.errorLoadingAppointments = true;
94
+ }
95
+ }
96
+ }
97
+ });
98
+ }
99
+ resetProperties() {
100
+ this.loadingAppointments = false;
101
+ this.appointmentsLoaded = false;
102
+ this.errorLoadingAppointments = false;
103
+ this.showAppointments = false;
104
+ this.appointments = [];
105
+ this.today = '';
106
+ }
107
+ }
108
+ AppointmentsOverviewComponent.decorators = [
109
+ { type: Component, args: [{
110
+ selector: 'appointments-overview',
111
+ template: "<div *ngIf=\"showAppointments\" class=\"container\">\n <div *ngIf=\"loadingAppointments\">\n <span *ngIf=\"!appointmentsLoaded && errorLoadingAppointments\">Error checking appointments</span>\n <div *ngIf=\"loadingAppointments\" class=\"bx--inline-loading\" aria-live=\"assertive\">\n <div class=\"bx--inline-loading__animation\">\n <div aria-atomic=\"true\" aria-labelledby=\"loading-id-2\" aria-live=\"assertive\"\n class=\"bx--loading bx--loading--small\">\n <label id=\"loading-id-2\" class=\"bx--visually-hidden\">Active loading indicator</label><svg\n class=\"bx--loading__svg\" viewBox=\"0 0 100 100\">\n <title>Active loading indicator</title>\n <circle class=\"bx--loading__background\" cx=\"50%\" cy=\"50%\" r=\"44\"></circle>\n <circle class=\"bx--loading__stroke\" cx=\"50%\" cy=\"50%\" r=\"44\"></circle>\n </svg>\n </div>\n </div>\n <div class=\"bx--inline-loading__text\">Loading...</div>\n </div>\n </div>\n\n <div class=\"bx--data-table-content\" *ngIf=\"appointmentsLoaded && !errorLoadingAppointments\">\n <table class=\"bx--data-table bx--data-table--no-border\">\n <thead>\n <tr>\n <th *ngFor=\"let appointment of appointments\" scope=\"col\" [ngClass]=\"{ active: appointment.date === today }\">\n {{ appointment.date }}\n </th>\n </tr>\n </thead>\n <tbody aria-live=\"polite\">\n <tr>\n <td *ngFor=\"let appointment of appointments\" [ngClass]=\"{ active: appointment.date === today }\">\n {{ appointment.count }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>",
112
+ styles: [".container{margin-top:.625rem}.active{background-color:#e0e0e0;cursor:pointer}"]
113
+ },] }
114
+ ];
115
+ AppointmentsOverviewComponent.ctorParameters = () => [];
116
+ AppointmentsOverviewComponent.propDecorators = {
117
+ node: [{ type: Input }]
118
+ };
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwb2ludG1lbnRzLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvYXBwb2ludG1lbnRzLW92ZXJ2aWV3L2FwcG9pbnRtZW50cy1vdmVydmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFPNUIsTUFBTSxPQUFPLDZCQUE2QjtJQVF4QztRQU5BLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6Qix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsNkJBQXdCLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixpQkFBWSxHQUFlLEVBQUUsQ0FBQztRQUM5QixVQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ0ksQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7O1lBQzNELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU87Z0JBQzVDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU87b0JBQzNDLHNDQUFzQztvQkFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFD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OzRCQUNILElBQUksQ0FBQyxZQUFZLEdBQUcscUJBQXFCLENBQUM7d0JBQzVDLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFOzRCQUNSLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7NEJBQ2pDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7NEJBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7NEJBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3ZCLENBQUMsQ0FDRixDQUFDO3FCQUNMO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7d0JBQzlCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7cUJBQ3RDO2lCQUNGO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDOzs7WUFySEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLGdzREFBcUQ7O2FBRXREOzs7O21CQUVFLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMZWFmTm9kZSB9IGZyb20gJy4uLy4uL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L2Zvcm0tbm9kZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcG9pbnRtZW50cy1vdmVydmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHBvaW50bWVudHMtb3ZlcnZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hcHBvaW50bWVudHMtb3ZlcnZpZXcuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFwcG9pbnRtZW50c092ZXJ2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBub2RlOiBMZWFmTm9kZTtcbiAgc2hvd0FwcG9pbnRtZW50cyA9IGZhbHNlO1xuICBsb2FkaW5nQXBwb2ludG1lbnRzID0gZmFsc2U7XG4gIGVycm9yTG9hZGluZ0FwcG9pbnRtZW50cyA9IGZhbHNlO1xuICBhcHBvaW50bWVudHNMb2FkZWQgPSBmYWxzZTtcbiAgYXBwb2ludG1lbnRzOiBBcnJheTxhbnk+ID0gW107XG4gIHRvZGF5ID0gJyc7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5ub2RlLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoYXBwb2ludG1lbnREYXRlKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0UHJvcGVydGllcygpO1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMubm9kZTtcbiAgICAgIGlmIChcbiAgICAgICAgbm9kZS5xdWVzdGlvbi5leHRyYXMucXVlc3Rpb25PcHRpb25zLmNvbmNlcHQgJiZcbiAgICAgICAgKG5vZGUucXVlc3Rpb24uZXh0cmFzLnF1ZXN0aW9uT3B0aW9ucy5jb25jZXB0ID09PVxuICAgICAgICAgICdhOGE2NjZiYS0xMzUwLTExZGYtYTFmMS0wMDI2YjkzNDg4MzgnIHx8XG4gICAgICAgICAgbm9kZS5xdWVzdGlvbi5leHRyYXMucXVlc3Rpb25PcHRpb25zLmNvbmNlcHQgPT09XG4gICAgICAgICAgICAnYTg5ZDIzOTgtMTM1MC0xMWRmLWExZjEtMDAyNmI5MzQ4ODM4JylcbiAgICAgICkge1xuICAgICAgICBpZiAoIXRoaXMuc2hvd0FwcG9pbnRtZW50cykge1xuICAgICAgICAgIHRoaXMubG9hZGluZ0FwcG9pbnRtZW50cyA9IHRydWU7XG4gICAgICAgICAgdGhpcy5zaG93QXBwb2ludG1lbnRzID0gdHJ1ZTtcbiAgICAgICAgICBsZXQgZGF0YVNvdXJjZTtcbiAgICAgICAgICBpZiAobm9kZS5mb3JtICYmIG5vZGUuZm9ybS5kYXRhU291cmNlc0NvbnRhaW5lci5kYXRhU291cmNlcykge1xuICAgICAgICAgICAgZGF0YVNvdXJjZSA9XG4gICAgICAgICAgICAgIG5vZGUuZm9ybS5kYXRhU291cmNlc0NvbnRhaW5lci5kYXRhU291cmNlc1xuICAgICAgICAgICAgICAgIC5tb250aGx5U2NoZWR1bGVSZXNvdXJjZVNlcnZpY2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGxvY2F0aW9uVXVpZCA9XG4gICAgICAgICAgICBub2RlLmZvcm0uZGF0YVNvdXJjZXNDb250YWluZXIuZGF0YVNvdXJjZXM/LnVzZXJMb2NhdGlvbj8udXVpZDtcbiAgICAgICAgICBpZiAoZGF0YVNvdXJjZSAmJiBsb2NhdGlvblV1aWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG1vbWVudChhcHBvaW50bWVudERhdGUpXG4gICAgICAgICAgICAgIC5zdGFydE9mKCd3ZWVrJylcbiAgICAgICAgICAgICAgLmFkZCgxLCAnZGF5JylcbiAgICAgICAgICAgICAgLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgICAgICAgICAgY29uc3QgZW5kRGF0ZSA9IG1vbWVudChhcHBvaW50bWVudERhdGUpXG4gICAgICAgICAgICAgIC5lbmRPZignd2VlaycpXG4gICAgICAgICAgICAgIC5zdWJ0cmFjdCgxLCAnZGF5JylcbiAgICAgICAgICAgICAgLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgICAgICAgICAgdGhpcy50b2RheSA9IG1vbWVudChhcHBvaW50bWVudERhdGUpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xuICAgICAgICAgICAgLy8gY3JlYXRlIDUgd2VlayBkYXlzXG4gICAgICAgICAgICBjb25zdCBzY2hlZHVsZWRBcHBvaW50bWVudHM6IEFycmF5PHtcbiAgICAgICAgICAgICAgZGF0ZTogc3RyaW5nO1xuICAgICAgICAgICAgICBjb3VudDogbnVtYmVyO1xuICAgICAgICAgICAgfT4gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IHByb2dyYW1UeXBlcyA9IFtcbiAgICAgICAgICAgICAgJzc4MWQ4NWIwLTEzNTktMTFkZi1hMWYxLTAwMjZiOTM0ODgzOCcsXG4gICAgICAgICAgICAgICc3ODFkODk3YS0xMzU5LTExZGYtYTFmMS0wMDI2YjkzNDg4MzgnLFxuICAgICAgICAgICAgICAnOTYwNDdhYWYtN2FiMy00NWU5LWJlNmEtYjYxODEwZmU2MTdkJyxcbiAgICAgICAgICAgICAgJ2MxOWFlYzY2LTFhNDAtNDU4OC05YjAzLWI2YmU1NWE4ZGQxZCcsXG4gICAgICAgICAgICAgICdmNzc5M2Q0Mi0xMWFjLTRjZmQtOWIzNS1lMGEyMWE3YTdjMzEnLFxuICAgICAgICAgICAgICAnMzM0YzllOTgtMTczZi00NDU0LWE4Y2UtZjgwYjIwYjdmZGYwJyxcbiAgICAgICAgICAgICAgJzk2YmEyNzliLWIyM2ItNGU3OC1hYmE5LWRjYmQ0NmE5NmI3YicsXG4gICAgICAgICAgICAgICc3ODFkODg4MC0xMzU5LTExZGYtYTFmMS0wMDI2YjkzNDg4MzgnXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgY29uc3QgcHJvZ3JhbVR5cGVQYXJhbXMgPSBwcm9ncmFtVHlwZXMuam9pbigpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gNTsgaSsrKSB7XG4gICAgICAgICAgICAgIHNjaGVkdWxlZEFwcG9pbnRtZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBkYXRlOiBtb21lbnQoYXBwb2ludG1lbnREYXRlKVxuICAgICAgICAgICAgICAgICAgLnN0YXJ0T2YoJ3dlZWsnKVxuICAgICAgICAgICAgICAgICAgLmFkZChpLCAnZGF5JylcbiAgICAgICAgICAgICAgICAgIC5mb3JtYXQoJ0RELU1NLVlZWVknKSxcbiAgICAgICAgICAgICAgICBjb3VudDogMFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRhdGFTb3VyY2VcbiAgICAgICAgICAgICAgLmdldE1vbnRobHlTY2hlZHVsZSh7XG4gICAgICAgICAgICAgICAgc3RhcnREYXRlOiBzdGFydERhdGUsXG4gICAgICAgICAgICAgICAgZW5kRGF0ZTogZW5kRGF0ZSxcbiAgICAgICAgICAgICAgICBsaW1pdDogNSxcbiAgICAgICAgICAgICAgICBsb2NhdGlvblV1aWRzOiBsb2NhdGlvblV1aWQsXG4gICAgICAgICAgICAgICAgcHJvZ3JhbVR5cGU6IHByb2dyYW1UeXBlUGFyYW1zXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKHsgcmVzdWx0cyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmFwcG9pbnRtZW50c0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdBcHBvaW50bWVudHMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIHNjaGVkdWxlZEFwcG9pbnRtZW50cy5tYXAoKGFwcG9pbnRtZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhcHBvaW50bWVudC5jb3VudCA9XG4gICAgICAgICAgICAgICAgICAgICAgcmVzdWx0c1tpbmRleF0gIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyByZXN1bHRzW2luZGV4XS5jb3VudC5zY2hlZHVsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgdGhpcy5hcHBvaW50bWVudHMgPSBzY2hlZHVsZWRBcHBvaW50bWVudHM7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ0FwcG9pbnRtZW50cyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvckxvYWRpbmdBcHBvaW50bWVudHMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgdGhpcy5zaG93QXBwb2ludG1lbnRzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0FwcG9pbnRtZW50cyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5lcnJvckxvYWRpbmdBcHBvaW50bWVudHMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRQcm9wZXJ0aWVzKCkge1xuICAgIHRoaXMubG9hZGluZ0FwcG9pbnRtZW50cyA9IGZhbHNlO1xuICAgIHRoaXMuYXBwb2ludG1lbnRzTG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5lcnJvckxvYWRpbmdBcHBvaW50bWVudHMgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dBcHBvaW50bWVudHMgPSBmYWxzZTtcbiAgICB0aGlzLmFwcG9pbnRtZW50cyA9IFtdO1xuICAgIHRoaXMudG9kYXkgPSAnJztcbiAgfVxufVxuIl19
@@ -0,0 +1,77 @@
1
+ import { Component, Input, forwardRef } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ export class CheckboxControlComponent {
4
+ constructor() {
5
+ this._value = [];
6
+ this.onChange = (change) => { };
7
+ this.onTouched = () => { };
8
+ }
9
+ ngOnInit() {
10
+ this.options = this.options.map((option) => {
11
+ if (this.selected.indexOf(option.value) !== -1) {
12
+ Object.assign(option, { checked: true });
13
+ }
14
+ return option;
15
+ });
16
+ }
17
+ ngAfterViewInit() { }
18
+ writeValue(value) {
19
+ this.value = value;
20
+ }
21
+ registerOnChange(fn) {
22
+ this.onChange = fn;
23
+ }
24
+ registerOnTouched(fn) {
25
+ this.onTouched = fn;
26
+ }
27
+ get value() {
28
+ if (this._value.length === 0) {
29
+ return '';
30
+ }
31
+ else {
32
+ return this._value || this._value[0];
33
+ }
34
+ }
35
+ set value(v) {
36
+ if (typeof v === 'undefined' || v === null || v === '') {
37
+ v = [];
38
+ }
39
+ else if (typeof v === 'string') {
40
+ v = [v];
41
+ }
42
+ else if (!Array.isArray(v)) {
43
+ throw new TypeError('Value must be a string or an array.');
44
+ }
45
+ }
46
+ selectOpt(option, event) {
47
+ if (event.target.checked) {
48
+ this._value.push(option.value);
49
+ }
50
+ else {
51
+ this.options.forEach((o) => {
52
+ if (o.value === option.value) {
53
+ this._value.splice(o, 1);
54
+ }
55
+ });
56
+ }
57
+ this.onChange(this.value);
58
+ }
59
+ }
60
+ CheckboxControlComponent.decorators = [
61
+ { type: Component, args: [{
62
+ selector: 'checkbox',
63
+ template: "<fieldset class=\"bx--fieldset\">\n <div class=\"bx--form-item bx--checkbox-wrapper\" *ngFor=\"let option of options; let i = index\">\n <input type=\"checkbox\" class=\"bx--checkbox\" [id]=\"i + 'id'\" [checked]=\"option.checked\" (change)=\"selectOpt(option, $event)\" [value]=\"option.value\">\n <label [for]=\"i + 'id'\" class=\"bx--checkbox-label\">\n <span class=\"bx--checkbox-label-text\">{{ option.label }}</span>\n </label>\n </div>\n</fieldset>\n",
64
+ providers: [
65
+ {
66
+ provide: NG_VALUE_ACCESSOR,
67
+ useExisting: forwardRef(() => CheckboxControlComponent),
68
+ multi: true
69
+ }
70
+ ]
71
+ },] }
72
+ ];
73
+ CheckboxControlComponent.propDecorators = {
74
+ options: [{ type: Input }],
75
+ selected: [{ type: Input }]
76
+ };
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9jaGVjay1ib3gvY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFHWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWNuRCxNQUFNLE9BQU8sd0JBQXdCO0lBWHJDO1FBY1MsV0FBTSxHQUFlLEVBQUUsQ0FBQztRQXlEdkIsYUFBUSxHQUFHLENBQUMsTUFBVyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDL0IsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBekRRLFFBQVE7UUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDekMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQzlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDMUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlLEtBQUksQ0FBQztJQUVwQixVQUFVLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBb0I7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQWM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLENBQU07UUFDZCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFdBQVcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdEQsQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUNSO2FBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDaEMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDVDthQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVCLE1BQU0sSUFBSSxTQUFTLENBQUMscUNBQXFDLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFTSxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUs7UUFDNUIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFO29CQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzFCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OztZQXJFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLHFlQUF3QztnQkFDeEMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7d0JBQ3ZELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2FBQ0Y7OztzQkFFRSxLQUFLO3VCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb250cm9sQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWQ6IEFycmF5PGFueT47XG4gIHB1YmxpYyBfdmFsdWU6IEFycmF5PGFueT4gPSBbXTtcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZC5pbmRleE9mKG9wdGlvbi52YWx1ZSkgIT09IC0xKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24ob3B0aW9uLCB7IGNoZWNrZWQ6IHRydWUgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHt9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLl92YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IHRoaXMuX3ZhbHVlWzBdO1xuICAgIH1cbiAgfVxuXG4gIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHYgPT09ICd1bmRlZmluZWQnIHx8IHYgPT09IG51bGwgfHwgdiA9PT0gJycpIHtcbiAgICAgIHYgPSBbXTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2ID09PSAnc3RyaW5nJykge1xuICAgICAgdiA9IFt2XTtcbiAgICB9IGVsc2UgaWYgKCFBcnJheS5pc0FycmF5KHYpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdWYWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5LicpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RPcHQob3B0aW9uLCBldmVudCkge1xuICAgIGlmIChldmVudC50YXJnZXQuY2hlY2tlZCkge1xuICAgICAgdGhpcy5fdmFsdWUucHVzaChvcHRpb24udmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgobykgPT4ge1xuICAgICAgICBpZiAoby52YWx1ZSA9PT0gb3B0aW9uLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5fdmFsdWUuc3BsaWNlKG8sIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZSA9IChjaGFuZ2U6IGFueSkgPT4ge307XG4gIHByaXZhdGUgb25Ub3VjaGVkID0gKCkgPT4ge307XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { CheckboxControlComponent } from './checkbox.component';
5
+ export class CheckboxModule {
6
+ }
7
+ CheckboxModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ declarations: [CheckboxControlComponent],
10
+ exports: [CheckboxControlComponent],
11
+ imports: [CommonModule, FormsModule]
12
+ },] }
13
+ ];
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9jaGVjay1ib3gvY2hlY2tib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU9oRSxNQUFNLE9BQU8sY0FBYzs7O1lBTDFCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDeEMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7YUFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGVja2JveENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0NoZWNrYm94Q29udHJvbENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtDaGVja2JveENvbnRyb2xDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hNb2R1bGUge31cbiJdfQ==