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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (679) hide show
  1. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-control-type.d.ts +0 -0
  2. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-array.d.ts +0 -0
  3. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-control.d.ts +0 -0
  4. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/afe-form-group.d.ts +0 -0
  5. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/control-extensions.d.ts +0 -0
  6. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/index.d.ts +0 -0
  7. package/{dist/ngx-formentry/abstract-controls-extension → abstract-controls-extension}/value-change.listener.d.ts +0 -0
  8. package/{dist/ngx-formentry/ngx-openmrs-formentry.d.ts → ampath-kenya-ngx-openmrs-formentry.d.ts} +0 -0
  9. package/{dist/ngx-formentry/ngx-openmrs-formentry.metadata.json → ampath-kenya-ngx-openmrs-formentry.metadata.json} +1 -1
  10. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js +10706 -0
  11. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js.map +1 -0
  12. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js +2 -0
  13. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js.map +1 -0
  14. package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relation.d.ts +0 -0
  15. package/{dist/ngx-formentry/change-tracking → change-tracking}/control-relations.d.ts +0 -0
  16. package/{dist/ngx-formentry/components → components}/afe-ng-select.component.d.ts +0 -0
  17. package/{dist/ngx-formentry/components → components}/appointments-overview/appointments-overview.component.d.ts +0 -0
  18. package/{dist/ngx-formentry/components → components}/check-box/checkbox.component.d.ts +0 -0
  19. package/{dist/ngx-formentry/components → components}/check-box/checkbox.module.d.ts +0 -0
  20. package/{dist/ngx-formentry/components → components}/date-time-picker/date-picker/date-picker.component.d.ts +0 -0
  21. package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.component.d.ts +0 -0
  22. package/{dist/ngx-formentry/components → components}/date-time-picker/date-time-picker.module.d.ts +0 -0
  23. package/{dist/ngx-formentry/components → components}/date-time-picker/picker-modal/modal.component.d.ts +0 -0
  24. package/{dist/ngx-formentry/components → components}/date-time-picker/pipes/moment.pipe.d.ts +0 -0
  25. package/{dist/ngx-formentry/components → components}/date-time-picker/time-picker/time-picker.component.d.ts +0 -0
  26. package/{dist/ngx-formentry/components → components}/file-upload/file-upload.component.d.ts +0 -0
  27. package/{dist/ngx-formentry/components → components}/file-upload/file-upload.module.d.ts +0 -0
  28. package/{dist/ngx-formentry/components → components}/file-upload/secure.pipe.d.ts +0 -0
  29. package/{dist/ngx-formentry/components → components}/ngx-date-time-picker/ngx-date-time-picker.component.d.ts +0 -0
  30. package/{dist/ngx-formentry/components → components}/ngx-date-time-picker/ngx-date-time-picker.module.d.ts +0 -0
  31. package/{dist/ngx-formentry/components → components}/remote-select/remote-select.component.d.ts +0 -0
  32. package/{dist/ngx-formentry/components → components}/remote-select/remote-select.module.d.ts +0 -0
  33. package/{dist/ngx-formentry/components → components}/select/diacritics.d.ts +0 -0
  34. package/{dist/ngx-formentry/components → components}/select/option-list.d.ts +0 -0
  35. package/{dist/ngx-formentry/components → components}/select/option.d.ts +0 -0
  36. package/{dist/ngx-formentry/components → components}/select/select-dropdown.component.d.ts +0 -0
  37. package/{dist/ngx-formentry/components → components}/select/select-dropdown.component.style.d.ts +0 -0
  38. package/{dist/ngx-formentry/components → components}/select/select.component.d.ts +0 -0
  39. package/{dist/ngx-formentry/components → components}/select/select.component.style.d.ts +0 -0
  40. package/{dist/ngx-formentry/components → components}/select/select.module.d.ts +0 -0
  41. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/file-preview.component.d.ts +0 -0
  42. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/question-control.component.d.ts +0 -0
  43. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/display-controls/remote-answer.component.d.ts +0 -0
  44. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-container/encounter-container.component.d.ts +0 -0
  45. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-pdf-viewer.service.d.ts +0 -0
  46. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-view/encounter-viewer.component.d.ts +0 -0
  47. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-viewer.module.d.ts +0 -0
  48. package/{dist/ngx-formentry/encounter-viewer → encounter-viewer}/encounter-viewer.service.d.ts +0 -0
  49. package/esm2015/abstract-controls-extension/afe-control-type.js +8 -0
  50. package/esm2015/abstract-controls-extension/afe-form-array.js +85 -0
  51. package/esm2015/abstract-controls-extension/afe-form-control.js +88 -0
  52. package/esm2015/abstract-controls-extension/afe-form-group.js +61 -0
  53. package/esm2015/abstract-controls-extension/control-extensions.js +5 -0
  54. package/esm2015/abstract-controls-extension/index.js +5 -0
  55. package/esm2015/abstract-controls-extension/value-change.listener.js +1 -0
  56. package/esm2015/ampath-kenya-ngx-openmrs-formentry.js +42 -0
  57. package/esm2015/change-tracking/control-relation.js +44 -0
  58. package/esm2015/change-tracking/control-relations.js +32 -0
  59. package/esm2015/components/afe-ng-select.component.js +87 -0
  60. package/esm2015/components/appointments-overview/appointments-overview.component.js +161 -0
  61. package/esm2015/components/check-box/checkbox.component.js +97 -0
  62. package/esm2015/components/check-box/checkbox.module.js +14 -0
  63. package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +270 -0
  64. package/esm2015/components/date-time-picker/date-time-picker.component.js +207 -0
  65. package/esm2015/components/date-time-picker/date-time-picker.module.js +34 -0
  66. package/esm2015/components/date-time-picker/picker-modal/modal.component.js +36 -0
  67. package/esm2015/components/date-time-picker/pipes/moment.pipe.js +13 -0
  68. package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +160 -0
  69. package/esm2015/components/file-upload/file-upload.component.js +128 -0
  70. package/esm2015/components/file-upload/file-upload.module.js +27 -0
  71. package/esm2015/components/file-upload/secure.pipe.js +102 -0
  72. package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +191 -0
  73. package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +41 -0
  74. package/esm2015/components/remote-select/remote-select.component.js +169 -0
  75. package/esm2015/components/remote-select/remote-select.module.js +17 -0
  76. package/esm2015/components/select/diacritics.js +855 -0
  77. package/esm2015/components/select/option-list.js +179 -0
  78. package/esm2015/components/select/option.js +29 -0
  79. package/esm2015/components/select/select-dropdown.component.js +161 -0
  80. package/esm2015/components/select/select-dropdown.component.style.js +58 -0
  81. package/esm2015/components/select/select.component.js +514 -0
  82. package/esm2015/components/select/select.component.style.js +101 -0
  83. package/esm2015/components/select/select.module.js +15 -0
  84. package/esm2015/encounter-viewer/display-controls/file-preview.component.js +109 -0
  85. package/esm2015/encounter-viewer/display-controls/question-control.component.js +92 -0
  86. package/esm2015/encounter-viewer/display-controls/remote-answer.component.js +79 -0
  87. package/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +48 -0
  88. package/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +435 -0
  89. package/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +299 -0
  90. package/esm2015/encounter-viewer/encounter-viewer.module.js +35 -0
  91. package/esm2015/encounter-viewer/encounter-viewer.service.js +160 -0
  92. package/esm2015/form-entry/control-alerts/alert-helpers.js +40 -0
  93. package/esm2015/form-entry/control-alerts/can-generate-alert.js +1 -0
  94. package/esm2015/form-entry/control-calculators/can-calculate.js +1 -0
  95. package/esm2015/form-entry/control-hiders-disablers/can-disable.js +1 -0
  96. package/esm2015/form-entry/control-hiders-disablers/can-hide.js +1 -0
  97. package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +33 -0
  98. package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +40 -0
  99. package/esm2015/form-entry/data-sources/data-sources.js +30 -0
  100. package/esm2015/form-entry/data-sources/dummy-data-source.js +104 -0
  101. package/esm2015/form-entry/directives/historical-value-directive.js +66 -0
  102. package/esm2015/form-entry/error-renderer/error-renderer.component.js +69 -0
  103. package/esm2015/form-entry/expression-runner/expression-runner.js +152 -0
  104. package/esm2015/form-entry/form-entry.module.js +103 -0
  105. package/esm2015/form-entry/form-factory/control-relations.factory.js +236 -0
  106. package/esm2015/form-entry/form-factory/form-control.service.js +117 -0
  107. package/esm2015/form-entry/form-factory/form-node.js +78 -0
  108. package/esm2015/form-entry/form-factory/form.factory.js +132 -0
  109. package/esm2015/form-entry/form-factory/form.js +193 -0
  110. package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +66 -0
  111. package/esm2015/form-entry/form-factory/question.factory.js +834 -0
  112. package/esm2015/form-entry/form-factory/show-messages.factory.js +30 -0
  113. package/esm2015/form-entry/form-factory/validation.factory.js +145 -0
  114. package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +156 -0
  115. package/esm2015/form-entry/form-renderer/form-renderer.component.js +632 -0
  116. package/esm2015/form-entry/helpers/historical-expression-helper-service.js +38 -0
  117. package/esm2015/form-entry/helpers/historical-field-helper-service.js +32 -0
  118. package/esm2015/form-entry/helpers/js-expression-helper.js +234 -0
  119. package/esm2015/form-entry/question-models/checkbox.model.js +11 -0
  120. package/esm2015/form-entry/question-models/conditional-validation.model.js +9 -0
  121. package/esm2015/form-entry/question-models/date-question.js +12 -0
  122. package/esm2015/form-entry/question-models/date-validation.model.js +10 -0
  123. package/esm2015/form-entry/question-models/file-upload-question.js +13 -0
  124. package/esm2015/form-entry/question-models/group-question.js +12 -0
  125. package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -0
  126. package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +1 -0
  127. package/esm2015/form-entry/question-models/interfaces/data-source.js +1 -0
  128. package/esm2015/form-entry/question-models/interfaces/date-question-options.js +1 -0
  129. package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +1 -0
  130. package/esm2015/form-entry/question-models/interfaces/group-question-options.js +1 -0
  131. package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +1 -0
  132. package/esm2015/form-entry/question-models/interfaces/nested-questions.js +7 -0
  133. package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +1 -0
  134. package/esm2015/form-entry/question-models/interfaces/select-option.js +1 -0
  135. package/esm2015/form-entry/question-models/interfaces/select-question-options.js +1 -0
  136. package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +1 -0
  137. package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +1 -0
  138. package/esm2015/form-entry/question-models/interfaces/text-question-options.js +1 -0
  139. package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +1 -0
  140. package/esm2015/form-entry/question-models/js-expression-validation.model.js +8 -0
  141. package/esm2015/form-entry/question-models/max-validation.model.js +9 -0
  142. package/esm2015/form-entry/question-models/min-validation.model.js +9 -0
  143. package/esm2015/form-entry/question-models/models.js +12 -0
  144. package/esm2015/form-entry/question-models/multi-select-question.js +11 -0
  145. package/esm2015/form-entry/question-models/pair.model.js +7 -0
  146. package/esm2015/form-entry/question-models/question-base.js +24 -0
  147. package/{dist/ngx-formentry/esm2015 → esm2015}/form-entry/question-models/rendering-type.js +1 -1
  148. package/esm2015/form-entry/question-models/repeating-question.js +11 -0
  149. package/esm2015/form-entry/question-models/select-option.js +7 -0
  150. package/esm2015/form-entry/question-models/select-question.js +12 -0
  151. package/esm2015/form-entry/question-models/test-order-question.js +15 -0
  152. package/esm2015/form-entry/question-models/text-area-input-question.js +13 -0
  153. package/esm2015/form-entry/question-models/text-input-question.js +10 -0
  154. package/esm2015/form-entry/question-models/ui-select-question.js +11 -0
  155. package/esm2015/form-entry/question-models/validation.model.js +7 -0
  156. package/esm2015/form-entry/services/debug-mode.service.js +22 -0
  157. package/esm2015/form-entry/services/form-errors.service.js +18 -0
  158. package/esm2015/form-entry/services/form-schema-compiler.service.js +246 -0
  159. package/esm2015/form-entry/services/historical-encounter-data.service.js +171 -0
  160. package/esm2015/form-entry/utils/messages.js +12 -0
  161. package/esm2015/form-entry/validators/conditional-answered.validator.js +46 -0
  162. package/esm2015/form-entry/validators/conditional-required.validator.js +40 -0
  163. package/esm2015/form-entry/validators/date.validator.js +18 -0
  164. package/esm2015/form-entry/validators/future-date-restriction.validator.js +21 -0
  165. package/esm2015/form-entry/validators/js-expression.validator.js +26 -0
  166. package/esm2015/form-entry/validators/max-date.validator.js +23 -0
  167. package/esm2015/form-entry/validators/max.validator.js +17 -0
  168. package/esm2015/form-entry/validators/min-date.validator.js +23 -0
  169. package/esm2015/form-entry/validators/min.validator.js +17 -0
  170. package/esm2015/form-entry/validators/required.validator.js +11 -0
  171. package/esm2015/form-entry/validators/validations.js +5 -0
  172. package/esm2015/form-entry/value-adapters/encounter.adapter.js +173 -0
  173. package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +490 -0
  174. package/esm2015/form-entry/value-adapters/obs.adapter.js +542 -0
  175. package/esm2015/form-entry/value-adapters/order.adapter.js +186 -0
  176. package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +87 -0
  177. package/esm2015/form-entry/value-adapters/value.adapter.js +1 -0
  178. package/esm2015/public_api.js +51 -0
  179. package/esm2015/shared.module.js +15 -0
  180. package/esm5/abstract-controls-extension/afe-control-type.js +8 -0
  181. package/esm5/abstract-controls-extension/afe-form-array.js +98 -0
  182. package/esm5/abstract-controls-extension/afe-form-control.js +96 -0
  183. package/esm5/abstract-controls-extension/afe-form-group.js +70 -0
  184. package/esm5/abstract-controls-extension/control-extensions.js +5 -0
  185. package/esm5/abstract-controls-extension/index.js +5 -0
  186. package/esm5/abstract-controls-extension/value-change.listener.js +1 -0
  187. package/esm5/ampath-kenya-ngx-openmrs-formentry.js +42 -0
  188. package/esm5/change-tracking/control-relation.js +59 -0
  189. package/esm5/change-tracking/control-relations.js +46 -0
  190. package/esm5/components/afe-ng-select.component.js +87 -0
  191. package/esm5/components/appointments-overview/appointments-overview.component.js +123 -0
  192. package/esm5/components/check-box/checkbox.component.js +88 -0
  193. package/esm5/components/check-box/checkbox.module.js +18 -0
  194. package/esm5/components/date-time-picker/date-picker/date-picker.component.js +186 -0
  195. package/esm5/components/date-time-picker/date-time-picker.component.js +111 -0
  196. package/esm5/components/date-time-picker/date-time-picker.module.js +38 -0
  197. package/esm5/components/date-time-picker/picker-modal/modal.component.js +32 -0
  198. package/esm5/components/date-time-picker/pipes/moment.pipe.js +17 -0
  199. package/esm5/components/date-time-picker/time-picker/time-picker.component.js +117 -0
  200. package/esm5/components/file-upload/file-upload.component.js +126 -0
  201. package/esm5/components/file-upload/file-upload.module.js +31 -0
  202. package/esm5/components/file-upload/secure.pipe.js +105 -0
  203. package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +140 -0
  204. package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +45 -0
  205. package/esm5/components/remote-select/remote-select.component.js +163 -0
  206. package/esm5/components/remote-select/remote-select.module.js +21 -0
  207. package/esm5/components/select/diacritics.js +860 -0
  208. package/esm5/components/select/option-list.js +224 -0
  209. package/esm5/components/select/option.js +31 -0
  210. package/esm5/components/select/select-dropdown.component.js +131 -0
  211. package/esm5/components/select/select-dropdown.component.style.js +2 -0
  212. package/esm5/components/select/select.component.js +456 -0
  213. package/esm5/components/select/select.component.style.js +2 -0
  214. package/esm5/components/select/select.module.js +19 -0
  215. package/{dist/ngx-formentry/esm2015 → esm5}/encounter-viewer/display-controls/file-preview.component.js +70 -70
  216. package/esm5/encounter-viewer/display-controls/question-control.component.js +104 -0
  217. package/esm5/encounter-viewer/display-controls/remote-answer.component.js +86 -0
  218. package/esm5/encounter-viewer/encounter-container/encounter-container.component.js +45 -0
  219. package/esm5/encounter-viewer/encounter-pdf-viewer.service.js +521 -0
  220. package/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +185 -0
  221. package/esm5/encounter-viewer/encounter-viewer.module.js +39 -0
  222. package/esm5/encounter-viewer/encounter-viewer.service.js +165 -0
  223. package/esm5/form-entry/control-alerts/alert-helpers.js +44 -0
  224. package/esm5/form-entry/control-alerts/can-generate-alert.js +1 -0
  225. package/esm5/form-entry/control-calculators/can-calculate.js +1 -0
  226. package/esm5/form-entry/control-hiders-disablers/can-disable.js +1 -0
  227. package/esm5/form-entry/control-hiders-disablers/can-hide.js +1 -0
  228. package/esm5/form-entry/control-hiders-disablers/disabler-helper.js +37 -0
  229. package/esm5/form-entry/control-hiders-disablers/hider-helpers.js +44 -0
  230. package/esm5/form-entry/data-sources/data-sources.js +37 -0
  231. package/esm5/form-entry/data-sources/dummy-data-source.js +106 -0
  232. package/esm5/form-entry/directives/historical-value-directive.js +72 -0
  233. package/esm5/form-entry/error-renderer/error-renderer.component.js +62 -0
  234. package/esm5/form-entry/expression-runner/expression-runner.js +158 -0
  235. package/esm5/form-entry/form-entry.module.js +107 -0
  236. package/{dist/ngx-formentry/esm2015 → esm5}/form-entry/form-factory/control-relations.factory.js +94 -87
  237. package/esm5/form-entry/form-factory/form-control.service.js +120 -0
  238. package/esm5/form-entry/form-factory/form-node.js +116 -0
  239. package/esm5/form-entry/form-factory/form.factory.js +136 -0
  240. package/esm5/form-entry/form-factory/form.js +213 -0
  241. package/esm5/form-entry/form-factory/hiders-disablers.factory.js +68 -0
  242. package/esm5/form-entry/form-factory/question.factory.js +838 -0
  243. package/esm5/form-entry/form-factory/show-messages.factory.js +32 -0
  244. package/esm5/form-entry/form-factory/validation.factory.js +189 -0
  245. package/esm5/form-entry/form-renderer/form-renderer.component.css.js +2 -0
  246. package/esm5/form-entry/form-renderer/form-renderer.component.js +211 -0
  247. package/esm5/form-entry/helpers/historical-expression-helper-service.js +41 -0
  248. package/esm5/form-entry/helpers/historical-field-helper-service.js +36 -0
  249. package/esm5/form-entry/helpers/js-expression-helper.js +242 -0
  250. package/esm5/form-entry/question-models/checkbox.model.js +16 -0
  251. package/esm5/form-entry/question-models/conditional-validation.model.js +14 -0
  252. package/esm5/form-entry/question-models/date-question.js +17 -0
  253. package/esm5/form-entry/question-models/date-validation.model.js +15 -0
  254. package/esm5/form-entry/question-models/file-upload-question.js +18 -0
  255. package/esm5/form-entry/question-models/group-question.js +17 -0
  256. package/esm5/form-entry/question-models/interfaces/base-options.js +1 -0
  257. package/esm5/form-entry/question-models/interfaces/checkbox-options.js +1 -0
  258. package/esm5/form-entry/question-models/interfaces/data-source.js +1 -0
  259. package/esm5/form-entry/question-models/interfaces/date-question-options.js +1 -0
  260. package/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +1 -0
  261. package/esm5/form-entry/question-models/interfaces/group-question-options.js +1 -0
  262. package/esm5/form-entry/question-models/interfaces/multi-select-options.js +1 -0
  263. package/esm5/form-entry/question-models/interfaces/nested-questions.js +11 -0
  264. package/esm5/form-entry/question-models/interfaces/repeating-question-options.js +1 -0
  265. package/esm5/form-entry/question-models/interfaces/select-option.js +1 -0
  266. package/esm5/form-entry/question-models/interfaces/select-question-options.js +1 -0
  267. package/esm5/form-entry/question-models/interfaces/test-order-question-options.js +1 -0
  268. package/esm5/form-entry/question-models/interfaces/text-area-question-options.js +1 -0
  269. package/esm5/form-entry/question-models/interfaces/text-question-options.js +1 -0
  270. package/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +1 -0
  271. package/esm5/form-entry/question-models/js-expression-validation.model.js +13 -0
  272. package/esm5/form-entry/question-models/max-validation.model.js +14 -0
  273. package/esm5/form-entry/question-models/min-validation.model.js +14 -0
  274. package/esm5/form-entry/question-models/models.js +12 -0
  275. package/esm5/form-entry/question-models/multi-select-question.js +16 -0
  276. package/esm5/form-entry/question-models/pair.model.js +9 -0
  277. package/esm5/form-entry/question-models/question-base.js +26 -0
  278. package/{dist/ngx-formentry/esm5 → esm5}/form-entry/question-models/rendering-type.js +1 -1
  279. package/esm5/form-entry/question-models/repeating-question.js +16 -0
  280. package/esm5/form-entry/question-models/select-option.js +9 -0
  281. package/esm5/form-entry/question-models/select-question.js +17 -0
  282. package/esm5/form-entry/question-models/test-order-question.js +20 -0
  283. package/esm5/form-entry/question-models/text-area-input-question.js +18 -0
  284. package/esm5/form-entry/question-models/text-input-question.js +15 -0
  285. package/esm5/form-entry/question-models/ui-select-question.js +16 -0
  286. package/esm5/form-entry/question-models/validation.model.js +9 -0
  287. package/esm5/form-entry/services/debug-mode.service.js +24 -0
  288. package/esm5/form-entry/services/form-errors.service.js +20 -0
  289. package/esm5/form-entry/services/form-schema-compiler.service.js +252 -0
  290. package/esm5/form-entry/services/historical-encounter-data.service.js +178 -0
  291. package/esm5/form-entry/utils/messages.js +16 -0
  292. package/esm5/form-entry/validators/conditional-answered.validator.js +49 -0
  293. package/esm5/form-entry/validators/conditional-required.validator.js +43 -0
  294. package/esm5/form-entry/validators/date.validator.js +21 -0
  295. package/esm5/form-entry/validators/future-date-restriction.validator.js +24 -0
  296. package/esm5/form-entry/validators/js-expression.validator.js +29 -0
  297. package/esm5/form-entry/validators/max-date.validator.js +27 -0
  298. package/esm5/form-entry/validators/max.validator.js +21 -0
  299. package/esm5/form-entry/validators/min-date.validator.js +27 -0
  300. package/esm5/form-entry/validators/min.validator.js +21 -0
  301. package/esm5/form-entry/validators/required.validator.js +15 -0
  302. package/esm5/form-entry/validators/validations.js +8 -0
  303. package/esm5/form-entry/value-adapters/encounter.adapter.js +176 -0
  304. package/esm5/form-entry/value-adapters/obs-adapter-helper.js +508 -0
  305. package/esm5/form-entry/value-adapters/obs.adapter.js +735 -0
  306. package/esm5/form-entry/value-adapters/order.adapter.js +226 -0
  307. package/esm5/form-entry/value-adapters/person-attribute.adapter.js +91 -0
  308. package/esm5/form-entry/value-adapters/value.adapter.js +1 -0
  309. package/esm5/public_api.js +51 -0
  310. package/esm5/shared.module.js +19 -0
  311. package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js +10919 -0
  312. package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
  313. package/fesm5/ampath-kenya-ngx-openmrs-formentry.js +10359 -0
  314. package/fesm5/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
  315. package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/alert-helpers.d.ts +0 -0
  316. package/{dist/ngx-formentry/form-entry → form-entry}/control-alerts/can-generate-alert.d.ts +0 -0
  317. package/{dist/ngx-formentry/form-entry → form-entry}/control-calculators/can-calculate.d.ts +0 -0
  318. package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-disable.d.ts +0 -0
  319. package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/can-hide.d.ts +0 -0
  320. package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/disabler-helper.d.ts +0 -0
  321. package/{dist/ngx-formentry/form-entry → form-entry}/control-hiders-disablers/hider-helpers.d.ts +0 -0
  322. package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/data-sources.d.ts +0 -0
  323. package/{dist/ngx-formentry/form-entry → form-entry}/data-sources/dummy-data-source.d.ts +0 -0
  324. package/{dist/ngx-formentry/form-entry → form-entry}/directives/historical-value-directive.d.ts +0 -0
  325. package/{dist/ngx-formentry/form-entry → form-entry}/error-renderer/error-renderer.component.d.ts +0 -0
  326. package/{dist/ngx-formentry/form-entry → form-entry}/expression-runner/expression-runner.d.ts +0 -0
  327. package/{dist/ngx-formentry/form-entry → form-entry}/form-entry.module.d.ts +0 -0
  328. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/control-relations.factory.d.ts +0 -0
  329. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-control.service.d.ts +0 -0
  330. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form-node.d.ts +0 -0
  331. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.d.ts +0 -0
  332. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/form.factory.d.ts +0 -0
  333. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/hiders-disablers.factory.d.ts +0 -0
  334. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/question.factory.d.ts +0 -0
  335. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/show-messages.factory.d.ts +0 -0
  336. package/{dist/ngx-formentry/form-entry → form-entry}/form-factory/validation.factory.d.ts +0 -0
  337. package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.css.d.ts +0 -0
  338. package/{dist/ngx-formentry/form-entry → form-entry}/form-renderer/form-renderer.component.d.ts +0 -0
  339. package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-expression-helper-service.d.ts +0 -0
  340. package/{dist/ngx-formentry/form-entry → form-entry}/helpers/historical-field-helper-service.d.ts +0 -0
  341. package/{dist/ngx-formentry/form-entry → form-entry}/helpers/js-expression-helper.d.ts +0 -0
  342. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/checkbox.model.d.ts +0 -0
  343. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/conditional-validation.model.d.ts +0 -0
  344. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-question.d.ts +0 -0
  345. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/date-validation.model.d.ts +0 -0
  346. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/file-upload-question.d.ts +0 -0
  347. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/group-question.d.ts +0 -0
  348. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/base-options.d.ts +0 -0
  349. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/checkbox-options.d.ts +0 -0
  350. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/data-source.d.ts +0 -0
  351. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/date-question-options.d.ts +0 -0
  352. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/file-upload-question-options.d.ts +0 -0
  353. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/group-question-options.d.ts +0 -0
  354. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/multi-select-options.d.ts +0 -0
  355. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/nested-questions.d.ts +0 -0
  356. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/repeating-question-options.d.ts +0 -0
  357. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-option.d.ts +0 -0
  358. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/select-question-options.d.ts +0 -0
  359. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/test-order-question-options.d.ts +0 -0
  360. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-area-question-options.d.ts +0 -0
  361. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/text-question-options.d.ts +0 -0
  362. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/interfaces/ui-select-question-options.d.ts +0 -0
  363. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/js-expression-validation.model.d.ts +0 -0
  364. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/max-validation.model.d.ts +0 -0
  365. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/min-validation.model.d.ts +0 -0
  366. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/models.d.ts +0 -0
  367. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/multi-select-question.d.ts +0 -0
  368. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/pair.model.d.ts +0 -0
  369. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/question-base.d.ts +0 -0
  370. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/rendering-type.d.ts +0 -0
  371. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/repeating-question.d.ts +0 -0
  372. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-option.d.ts +0 -0
  373. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/select-question.d.ts +0 -0
  374. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/test-order-question.d.ts +0 -0
  375. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-area-input-question.d.ts +0 -0
  376. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/text-input-question.d.ts +0 -0
  377. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/ui-select-question.d.ts +0 -0
  378. package/{dist/ngx-formentry/form-entry → form-entry}/question-models/validation.model.d.ts +0 -0
  379. package/{dist/ngx-formentry/form-entry → form-entry}/services/debug-mode.service.d.ts +0 -0
  380. package/{dist/ngx-formentry/form-entry → form-entry}/services/form-errors.service.d.ts +0 -0
  381. package/{dist/ngx-formentry/form-entry → form-entry}/services/form-schema-compiler.service.d.ts +0 -0
  382. package/{dist/ngx-formentry/form-entry → form-entry}/services/historical-encounter-data.service.d.ts +0 -0
  383. package/{dist/ngx-formentry/form-entry → form-entry}/utils/messages.d.ts +0 -0
  384. package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-answered.validator.d.ts +0 -0
  385. package/{dist/ngx-formentry/form-entry → form-entry}/validators/conditional-required.validator.d.ts +0 -0
  386. package/{dist/ngx-formentry/form-entry → form-entry}/validators/date.validator.d.ts +0 -0
  387. package/{dist/ngx-formentry/form-entry → form-entry}/validators/future-date-restriction.validator.d.ts +0 -0
  388. package/{dist/ngx-formentry/form-entry → form-entry}/validators/js-expression.validator.d.ts +0 -0
  389. package/{dist/ngx-formentry/form-entry → form-entry}/validators/max-date.validator.d.ts +0 -0
  390. package/{dist/ngx-formentry/form-entry → form-entry}/validators/max.validator.d.ts +0 -0
  391. package/{dist/ngx-formentry/form-entry → form-entry}/validators/min-date.validator.d.ts +0 -0
  392. package/{dist/ngx-formentry/form-entry → form-entry}/validators/min.validator.d.ts +0 -0
  393. package/{dist/ngx-formentry/form-entry → form-entry}/validators/required.validator.d.ts +0 -0
  394. package/{dist/ngx-formentry/form-entry → form-entry}/validators/validations.d.ts +0 -0
  395. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/encounter.adapter.d.ts +0 -0
  396. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs-adapter-helper.d.ts +0 -0
  397. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/obs.adapter.d.ts +0 -0
  398. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/order.adapter.d.ts +0 -0
  399. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/person-attribute.adapter.d.ts +0 -0
  400. package/{dist/ngx-formentry/form-entry → form-entry}/value-adapters/value.adapter.d.ts +0 -0
  401. package/package.json +21 -83
  402. package/{dist/ngx-formentry/public_api.d.ts → public_api.d.ts} +0 -0
  403. package/{dist/ngx-formentry/shared.module.d.ts → shared.module.d.ts} +0 -0
  404. package/.editorconfig +0 -13
  405. package/.prettierignore +0 -40
  406. package/.prettierrc +0 -6
  407. package/.travis.yml +0 -17
  408. package/README.md +0 -34
  409. package/angular.json +0 -143
  410. package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.js +0 -10706
  411. package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.js.map +0 -1
  412. package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.min.js +0 -2
  413. package/dist/ngx-formentry/bundles/ngx-openmrs-formentry.umd.min.js.map +0 -1
  414. package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-control-type.js +0 -8
  415. package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-array.js +0 -85
  416. package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-control.js +0 -88
  417. package/dist/ngx-formentry/esm2015/abstract-controls-extension/afe-form-group.js +0 -61
  418. package/dist/ngx-formentry/esm2015/abstract-controls-extension/control-extensions.js +0 -5
  419. package/dist/ngx-formentry/esm2015/abstract-controls-extension/index.js +0 -5
  420. package/dist/ngx-formentry/esm2015/abstract-controls-extension/value-change.listener.js +0 -1
  421. package/dist/ngx-formentry/esm2015/change-tracking/control-relation.js +0 -44
  422. package/dist/ngx-formentry/esm2015/change-tracking/control-relations.js +0 -32
  423. package/dist/ngx-formentry/esm2015/components/afe-ng-select.component.js +0 -87
  424. package/dist/ngx-formentry/esm2015/components/appointments-overview/appointments-overview.component.js +0 -161
  425. package/dist/ngx-formentry/esm2015/components/check-box/checkbox.component.js +0 -97
  426. package/dist/ngx-formentry/esm2015/components/check-box/checkbox.module.js +0 -14
  427. package/dist/ngx-formentry/esm2015/components/date-time-picker/date-picker/date-picker.component.js +0 -270
  428. package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.component.js +0 -207
  429. package/dist/ngx-formentry/esm2015/components/date-time-picker/date-time-picker.module.js +0 -34
  430. package/dist/ngx-formentry/esm2015/components/date-time-picker/picker-modal/modal.component.js +0 -36
  431. package/dist/ngx-formentry/esm2015/components/date-time-picker/pipes/moment.pipe.js +0 -13
  432. package/dist/ngx-formentry/esm2015/components/date-time-picker/time-picker/time-picker.component.js +0 -160
  433. package/dist/ngx-formentry/esm2015/components/file-upload/file-upload.component.js +0 -128
  434. package/dist/ngx-formentry/esm2015/components/file-upload/file-upload.module.js +0 -27
  435. package/dist/ngx-formentry/esm2015/components/file-upload/secure.pipe.js +0 -102
  436. package/dist/ngx-formentry/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +0 -191
  437. package/dist/ngx-formentry/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +0 -41
  438. package/dist/ngx-formentry/esm2015/components/remote-select/remote-select.component.js +0 -169
  439. package/dist/ngx-formentry/esm2015/components/remote-select/remote-select.module.js +0 -17
  440. package/dist/ngx-formentry/esm2015/components/select/diacritics.js +0 -855
  441. package/dist/ngx-formentry/esm2015/components/select/option-list.js +0 -179
  442. package/dist/ngx-formentry/esm2015/components/select/option.js +0 -29
  443. package/dist/ngx-formentry/esm2015/components/select/select-dropdown.component.js +0 -161
  444. package/dist/ngx-formentry/esm2015/components/select/select-dropdown.component.style.js +0 -58
  445. package/dist/ngx-formentry/esm2015/components/select/select.component.js +0 -514
  446. package/dist/ngx-formentry/esm2015/components/select/select.component.style.js +0 -101
  447. package/dist/ngx-formentry/esm2015/components/select/select.module.js +0 -15
  448. package/dist/ngx-formentry/esm2015/encounter-viewer/display-controls/question-control.component.js +0 -92
  449. package/dist/ngx-formentry/esm2015/encounter-viewer/display-controls/remote-answer.component.js +0 -79
  450. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +0 -48
  451. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +0 -435
  452. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +0 -299
  453. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-viewer.module.js +0 -35
  454. package/dist/ngx-formentry/esm2015/encounter-viewer/encounter-viewer.service.js +0 -160
  455. package/dist/ngx-formentry/esm2015/form-entry/control-alerts/alert-helpers.js +0 -40
  456. package/dist/ngx-formentry/esm2015/form-entry/control-alerts/can-generate-alert.js +0 -1
  457. package/dist/ngx-formentry/esm2015/form-entry/control-calculators/can-calculate.js +0 -1
  458. package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/can-disable.js +0 -1
  459. package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/can-hide.js +0 -1
  460. package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +0 -33
  461. package/dist/ngx-formentry/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +0 -40
  462. package/dist/ngx-formentry/esm2015/form-entry/data-sources/data-sources.js +0 -30
  463. package/dist/ngx-formentry/esm2015/form-entry/data-sources/dummy-data-source.js +0 -104
  464. package/dist/ngx-formentry/esm2015/form-entry/directives/historical-value-directive.js +0 -66
  465. package/dist/ngx-formentry/esm2015/form-entry/error-renderer/error-renderer.component.js +0 -69
  466. package/dist/ngx-formentry/esm2015/form-entry/expression-runner/expression-runner.js +0 -152
  467. package/dist/ngx-formentry/esm2015/form-entry/form-entry.module.js +0 -103
  468. package/dist/ngx-formentry/esm2015/form-entry/form-factory/form-control.service.js +0 -117
  469. package/dist/ngx-formentry/esm2015/form-entry/form-factory/form-node.js +0 -78
  470. package/dist/ngx-formentry/esm2015/form-entry/form-factory/form.factory.js +0 -132
  471. package/dist/ngx-formentry/esm2015/form-entry/form-factory/form.js +0 -193
  472. package/dist/ngx-formentry/esm2015/form-entry/form-factory/hiders-disablers.factory.js +0 -66
  473. package/dist/ngx-formentry/esm2015/form-entry/form-factory/question.factory.js +0 -834
  474. package/dist/ngx-formentry/esm2015/form-entry/form-factory/show-messages.factory.js +0 -30
  475. package/dist/ngx-formentry/esm2015/form-entry/form-factory/validation.factory.js +0 -145
  476. package/dist/ngx-formentry/esm2015/form-entry/form-renderer/form-renderer.component.css.js +0 -156
  477. package/dist/ngx-formentry/esm2015/form-entry/form-renderer/form-renderer.component.js +0 -632
  478. package/dist/ngx-formentry/esm2015/form-entry/helpers/historical-expression-helper-service.js +0 -38
  479. package/dist/ngx-formentry/esm2015/form-entry/helpers/historical-field-helper-service.js +0 -32
  480. package/dist/ngx-formentry/esm2015/form-entry/helpers/js-expression-helper.js +0 -234
  481. package/dist/ngx-formentry/esm2015/form-entry/question-models/checkbox.model.js +0 -11
  482. package/dist/ngx-formentry/esm2015/form-entry/question-models/conditional-validation.model.js +0 -9
  483. package/dist/ngx-formentry/esm2015/form-entry/question-models/date-question.js +0 -12
  484. package/dist/ngx-formentry/esm2015/form-entry/question-models/date-validation.model.js +0 -10
  485. package/dist/ngx-formentry/esm2015/form-entry/question-models/file-upload-question.js +0 -13
  486. package/dist/ngx-formentry/esm2015/form-entry/question-models/group-question.js +0 -12
  487. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/base-options.js +0 -1
  488. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/checkbox-options.js +0 -1
  489. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/data-source.js +0 -1
  490. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/date-question-options.js +0 -1
  491. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +0 -1
  492. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/group-question-options.js +0 -1
  493. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/multi-select-options.js +0 -1
  494. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/nested-questions.js +0 -7
  495. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +0 -1
  496. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/select-option.js +0 -1
  497. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/select-question-options.js +0 -1
  498. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +0 -1
  499. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +0 -1
  500. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/text-question-options.js +0 -1
  501. package/dist/ngx-formentry/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +0 -1
  502. package/dist/ngx-formentry/esm2015/form-entry/question-models/js-expression-validation.model.js +0 -8
  503. package/dist/ngx-formentry/esm2015/form-entry/question-models/max-validation.model.js +0 -9
  504. package/dist/ngx-formentry/esm2015/form-entry/question-models/min-validation.model.js +0 -9
  505. package/dist/ngx-formentry/esm2015/form-entry/question-models/models.js +0 -12
  506. package/dist/ngx-formentry/esm2015/form-entry/question-models/multi-select-question.js +0 -11
  507. package/dist/ngx-formentry/esm2015/form-entry/question-models/pair.model.js +0 -7
  508. package/dist/ngx-formentry/esm2015/form-entry/question-models/question-base.js +0 -24
  509. package/dist/ngx-formentry/esm2015/form-entry/question-models/repeating-question.js +0 -11
  510. package/dist/ngx-formentry/esm2015/form-entry/question-models/select-option.js +0 -7
  511. package/dist/ngx-formentry/esm2015/form-entry/question-models/select-question.js +0 -12
  512. package/dist/ngx-formentry/esm2015/form-entry/question-models/test-order-question.js +0 -15
  513. package/dist/ngx-formentry/esm2015/form-entry/question-models/text-area-input-question.js +0 -13
  514. package/dist/ngx-formentry/esm2015/form-entry/question-models/text-input-question.js +0 -10
  515. package/dist/ngx-formentry/esm2015/form-entry/question-models/ui-select-question.js +0 -11
  516. package/dist/ngx-formentry/esm2015/form-entry/question-models/validation.model.js +0 -7
  517. package/dist/ngx-formentry/esm2015/form-entry/services/debug-mode.service.js +0 -22
  518. package/dist/ngx-formentry/esm2015/form-entry/services/form-errors.service.js +0 -18
  519. package/dist/ngx-formentry/esm2015/form-entry/services/form-schema-compiler.service.js +0 -246
  520. package/dist/ngx-formentry/esm2015/form-entry/services/historical-encounter-data.service.js +0 -171
  521. package/dist/ngx-formentry/esm2015/form-entry/utils/messages.js +0 -12
  522. package/dist/ngx-formentry/esm2015/form-entry/validators/conditional-answered.validator.js +0 -46
  523. package/dist/ngx-formentry/esm2015/form-entry/validators/conditional-required.validator.js +0 -40
  524. package/dist/ngx-formentry/esm2015/form-entry/validators/date.validator.js +0 -18
  525. package/dist/ngx-formentry/esm2015/form-entry/validators/future-date-restriction.validator.js +0 -21
  526. package/dist/ngx-formentry/esm2015/form-entry/validators/js-expression.validator.js +0 -26
  527. package/dist/ngx-formentry/esm2015/form-entry/validators/max-date.validator.js +0 -23
  528. package/dist/ngx-formentry/esm2015/form-entry/validators/max.validator.js +0 -17
  529. package/dist/ngx-formentry/esm2015/form-entry/validators/min-date.validator.js +0 -23
  530. package/dist/ngx-formentry/esm2015/form-entry/validators/min.validator.js +0 -17
  531. package/dist/ngx-formentry/esm2015/form-entry/validators/required.validator.js +0 -11
  532. package/dist/ngx-formentry/esm2015/form-entry/validators/validations.js +0 -5
  533. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/encounter.adapter.js +0 -173
  534. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/obs-adapter-helper.js +0 -490
  535. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/obs.adapter.js +0 -542
  536. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/order.adapter.js +0 -186
  537. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/person-attribute.adapter.js +0 -87
  538. package/dist/ngx-formentry/esm2015/form-entry/value-adapters/value.adapter.js +0 -1
  539. package/dist/ngx-formentry/esm2015/ngx-openmrs-formentry.js +0 -42
  540. package/dist/ngx-formentry/esm2015/public_api.js +0 -51
  541. package/dist/ngx-formentry/esm2015/shared.module.js +0 -15
  542. package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-control-type.js +0 -8
  543. package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-array.js +0 -98
  544. package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-control.js +0 -96
  545. package/dist/ngx-formentry/esm5/abstract-controls-extension/afe-form-group.js +0 -70
  546. package/dist/ngx-formentry/esm5/abstract-controls-extension/control-extensions.js +0 -5
  547. package/dist/ngx-formentry/esm5/abstract-controls-extension/index.js +0 -5
  548. package/dist/ngx-formentry/esm5/abstract-controls-extension/value-change.listener.js +0 -1
  549. package/dist/ngx-formentry/esm5/change-tracking/control-relation.js +0 -59
  550. package/dist/ngx-formentry/esm5/change-tracking/control-relations.js +0 -46
  551. package/dist/ngx-formentry/esm5/components/afe-ng-select.component.js +0 -87
  552. package/dist/ngx-formentry/esm5/components/appointments-overview/appointments-overview.component.js +0 -123
  553. package/dist/ngx-formentry/esm5/components/check-box/checkbox.component.js +0 -88
  554. package/dist/ngx-formentry/esm5/components/check-box/checkbox.module.js +0 -18
  555. package/dist/ngx-formentry/esm5/components/date-time-picker/date-picker/date-picker.component.js +0 -186
  556. package/dist/ngx-formentry/esm5/components/date-time-picker/date-time-picker.component.js +0 -111
  557. package/dist/ngx-formentry/esm5/components/date-time-picker/date-time-picker.module.js +0 -38
  558. package/dist/ngx-formentry/esm5/components/date-time-picker/picker-modal/modal.component.js +0 -32
  559. package/dist/ngx-formentry/esm5/components/date-time-picker/pipes/moment.pipe.js +0 -17
  560. package/dist/ngx-formentry/esm5/components/date-time-picker/time-picker/time-picker.component.js +0 -117
  561. package/dist/ngx-formentry/esm5/components/file-upload/file-upload.component.js +0 -126
  562. package/dist/ngx-formentry/esm5/components/file-upload/file-upload.module.js +0 -31
  563. package/dist/ngx-formentry/esm5/components/file-upload/secure.pipe.js +0 -105
  564. package/dist/ngx-formentry/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +0 -140
  565. package/dist/ngx-formentry/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +0 -45
  566. package/dist/ngx-formentry/esm5/components/remote-select/remote-select.component.js +0 -163
  567. package/dist/ngx-formentry/esm5/components/remote-select/remote-select.module.js +0 -21
  568. package/dist/ngx-formentry/esm5/components/select/diacritics.js +0 -860
  569. package/dist/ngx-formentry/esm5/components/select/option-list.js +0 -224
  570. package/dist/ngx-formentry/esm5/components/select/option.js +0 -31
  571. package/dist/ngx-formentry/esm5/components/select/select-dropdown.component.js +0 -131
  572. package/dist/ngx-formentry/esm5/components/select/select-dropdown.component.style.js +0 -2
  573. package/dist/ngx-formentry/esm5/components/select/select.component.js +0 -456
  574. package/dist/ngx-formentry/esm5/components/select/select.component.style.js +0 -2
  575. package/dist/ngx-formentry/esm5/components/select/select.module.js +0 -19
  576. package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/file-preview.component.js +0 -109
  577. package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/question-control.component.js +0 -104
  578. package/dist/ngx-formentry/esm5/encounter-viewer/display-controls/remote-answer.component.js +0 -86
  579. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-container/encounter-container.component.js +0 -45
  580. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-pdf-viewer.service.js +0 -521
  581. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +0 -185
  582. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-viewer.module.js +0 -39
  583. package/dist/ngx-formentry/esm5/encounter-viewer/encounter-viewer.service.js +0 -165
  584. package/dist/ngx-formentry/esm5/form-entry/control-alerts/alert-helpers.js +0 -44
  585. package/dist/ngx-formentry/esm5/form-entry/control-alerts/can-generate-alert.js +0 -1
  586. package/dist/ngx-formentry/esm5/form-entry/control-calculators/can-calculate.js +0 -1
  587. package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/can-disable.js +0 -1
  588. package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/can-hide.js +0 -1
  589. package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/disabler-helper.js +0 -37
  590. package/dist/ngx-formentry/esm5/form-entry/control-hiders-disablers/hider-helpers.js +0 -44
  591. package/dist/ngx-formentry/esm5/form-entry/data-sources/data-sources.js +0 -37
  592. package/dist/ngx-formentry/esm5/form-entry/data-sources/dummy-data-source.js +0 -106
  593. package/dist/ngx-formentry/esm5/form-entry/directives/historical-value-directive.js +0 -72
  594. package/dist/ngx-formentry/esm5/form-entry/error-renderer/error-renderer.component.js +0 -62
  595. package/dist/ngx-formentry/esm5/form-entry/expression-runner/expression-runner.js +0 -158
  596. package/dist/ngx-formentry/esm5/form-entry/form-entry.module.js +0 -107
  597. package/dist/ngx-formentry/esm5/form-entry/form-factory/control-relations.factory.js +0 -243
  598. package/dist/ngx-formentry/esm5/form-entry/form-factory/form-control.service.js +0 -120
  599. package/dist/ngx-formentry/esm5/form-entry/form-factory/form-node.js +0 -116
  600. package/dist/ngx-formentry/esm5/form-entry/form-factory/form.factory.js +0 -136
  601. package/dist/ngx-formentry/esm5/form-entry/form-factory/form.js +0 -213
  602. package/dist/ngx-formentry/esm5/form-entry/form-factory/hiders-disablers.factory.js +0 -68
  603. package/dist/ngx-formentry/esm5/form-entry/form-factory/question.factory.js +0 -838
  604. package/dist/ngx-formentry/esm5/form-entry/form-factory/show-messages.factory.js +0 -32
  605. package/dist/ngx-formentry/esm5/form-entry/form-factory/validation.factory.js +0 -189
  606. package/dist/ngx-formentry/esm5/form-entry/form-renderer/form-renderer.component.css.js +0 -2
  607. package/dist/ngx-formentry/esm5/form-entry/form-renderer/form-renderer.component.js +0 -211
  608. package/dist/ngx-formentry/esm5/form-entry/helpers/historical-expression-helper-service.js +0 -41
  609. package/dist/ngx-formentry/esm5/form-entry/helpers/historical-field-helper-service.js +0 -36
  610. package/dist/ngx-formentry/esm5/form-entry/helpers/js-expression-helper.js +0 -242
  611. package/dist/ngx-formentry/esm5/form-entry/question-models/checkbox.model.js +0 -16
  612. package/dist/ngx-formentry/esm5/form-entry/question-models/conditional-validation.model.js +0 -14
  613. package/dist/ngx-formentry/esm5/form-entry/question-models/date-question.js +0 -17
  614. package/dist/ngx-formentry/esm5/form-entry/question-models/date-validation.model.js +0 -15
  615. package/dist/ngx-formentry/esm5/form-entry/question-models/file-upload-question.js +0 -18
  616. package/dist/ngx-formentry/esm5/form-entry/question-models/group-question.js +0 -17
  617. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/base-options.js +0 -1
  618. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/checkbox-options.js +0 -1
  619. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/data-source.js +0 -1
  620. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/date-question-options.js +0 -1
  621. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +0 -1
  622. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/group-question-options.js +0 -1
  623. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/multi-select-options.js +0 -1
  624. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/nested-questions.js +0 -11
  625. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/repeating-question-options.js +0 -1
  626. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/select-option.js +0 -1
  627. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/select-question-options.js +0 -1
  628. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/test-order-question-options.js +0 -1
  629. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/text-area-question-options.js +0 -1
  630. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/text-question-options.js +0 -1
  631. package/dist/ngx-formentry/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +0 -1
  632. package/dist/ngx-formentry/esm5/form-entry/question-models/js-expression-validation.model.js +0 -13
  633. package/dist/ngx-formentry/esm5/form-entry/question-models/max-validation.model.js +0 -14
  634. package/dist/ngx-formentry/esm5/form-entry/question-models/min-validation.model.js +0 -14
  635. package/dist/ngx-formentry/esm5/form-entry/question-models/models.js +0 -12
  636. package/dist/ngx-formentry/esm5/form-entry/question-models/multi-select-question.js +0 -16
  637. package/dist/ngx-formentry/esm5/form-entry/question-models/pair.model.js +0 -9
  638. package/dist/ngx-formentry/esm5/form-entry/question-models/question-base.js +0 -26
  639. package/dist/ngx-formentry/esm5/form-entry/question-models/repeating-question.js +0 -16
  640. package/dist/ngx-formentry/esm5/form-entry/question-models/select-option.js +0 -9
  641. package/dist/ngx-formentry/esm5/form-entry/question-models/select-question.js +0 -17
  642. package/dist/ngx-formentry/esm5/form-entry/question-models/test-order-question.js +0 -20
  643. package/dist/ngx-formentry/esm5/form-entry/question-models/text-area-input-question.js +0 -18
  644. package/dist/ngx-formentry/esm5/form-entry/question-models/text-input-question.js +0 -15
  645. package/dist/ngx-formentry/esm5/form-entry/question-models/ui-select-question.js +0 -16
  646. package/dist/ngx-formentry/esm5/form-entry/question-models/validation.model.js +0 -9
  647. package/dist/ngx-formentry/esm5/form-entry/services/debug-mode.service.js +0 -24
  648. package/dist/ngx-formentry/esm5/form-entry/services/form-errors.service.js +0 -20
  649. package/dist/ngx-formentry/esm5/form-entry/services/form-schema-compiler.service.js +0 -252
  650. package/dist/ngx-formentry/esm5/form-entry/services/historical-encounter-data.service.js +0 -178
  651. package/dist/ngx-formentry/esm5/form-entry/utils/messages.js +0 -16
  652. package/dist/ngx-formentry/esm5/form-entry/validators/conditional-answered.validator.js +0 -49
  653. package/dist/ngx-formentry/esm5/form-entry/validators/conditional-required.validator.js +0 -43
  654. package/dist/ngx-formentry/esm5/form-entry/validators/date.validator.js +0 -21
  655. package/dist/ngx-formentry/esm5/form-entry/validators/future-date-restriction.validator.js +0 -24
  656. package/dist/ngx-formentry/esm5/form-entry/validators/js-expression.validator.js +0 -29
  657. package/dist/ngx-formentry/esm5/form-entry/validators/max-date.validator.js +0 -27
  658. package/dist/ngx-formentry/esm5/form-entry/validators/max.validator.js +0 -21
  659. package/dist/ngx-formentry/esm5/form-entry/validators/min-date.validator.js +0 -27
  660. package/dist/ngx-formentry/esm5/form-entry/validators/min.validator.js +0 -21
  661. package/dist/ngx-formentry/esm5/form-entry/validators/required.validator.js +0 -15
  662. package/dist/ngx-formentry/esm5/form-entry/validators/validations.js +0 -8
  663. package/dist/ngx-formentry/esm5/form-entry/value-adapters/encounter.adapter.js +0 -176
  664. package/dist/ngx-formentry/esm5/form-entry/value-adapters/obs-adapter-helper.js +0 -508
  665. package/dist/ngx-formentry/esm5/form-entry/value-adapters/obs.adapter.js +0 -735
  666. package/dist/ngx-formentry/esm5/form-entry/value-adapters/order.adapter.js +0 -226
  667. package/dist/ngx-formentry/esm5/form-entry/value-adapters/person-attribute.adapter.js +0 -91
  668. package/dist/ngx-formentry/esm5/form-entry/value-adapters/value.adapter.js +0 -1
  669. package/dist/ngx-formentry/esm5/ngx-openmrs-formentry.js +0 -42
  670. package/dist/ngx-formentry/esm5/public_api.js +0 -51
  671. package/dist/ngx-formentry/esm5/shared.module.js +0 -19
  672. package/dist/ngx-formentry/fesm2015/ngx-openmrs-formentry.js +0 -10919
  673. package/dist/ngx-formentry/fesm2015/ngx-openmrs-formentry.js.map +0 -1
  674. package/dist/ngx-formentry/fesm5/ngx-openmrs-formentry.js +0 -10359
  675. package/dist/ngx-formentry/fesm5/ngx-openmrs-formentry.js.map +0 -1
  676. package/dist/ngx-formentry/package.json +0 -35
  677. package/scripts/build.sh +0 -2
  678. package/tsconfig.json +0 -20
  679. package/tslint.json +0 -96
@@ -1,207 +0,0 @@
1
- import { Component, Input, forwardRef, EventEmitter, Output } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import * as moment_ from 'moment';
4
- const Moment = moment_;
5
- export class DateTimePickerComponent {
6
- constructor() {
7
- this.showDate = true;
8
- this.showTime = false;
9
- this.showWeeks = false;
10
- this.weeks = [2, 4, 6, 8, 12, 16, 24];
11
- this.onDateChange = new EventEmitter();
12
- this.showDatePicker = false;
13
- this.showTimePicker = false;
14
- this.onChange = () => { };
15
- this.onTouched = () => { };
16
- }
17
- ngOnInit() { }
18
- weeksSelected(count) {
19
- const now = new Date();
20
- const nextDate = now.setDate(now.getDate() + count * 7);
21
- this.value = Moment(nextDate).format();
22
- }
23
- setDate(date) {
24
- if (date && date !== '') {
25
- this.value = Moment(date).format();
26
- }
27
- else {
28
- this.value = date;
29
- }
30
- }
31
- setTime(time) {
32
- if (time && time !== '') {
33
- this.value = Moment(time).format();
34
- }
35
- else {
36
- this.value = time;
37
- }
38
- return;
39
- }
40
- toggleDatePicker(status) {
41
- this.showDatePicker = status;
42
- /*setTimeout(function() {
43
- let _body = document.getElementById('content-wrapper').getBoundingClientRect(),
44
- elem = document.getElementById('section-modal-main');
45
- if (elem) {
46
- let elemBox = elem.getBoundingClientRect();
47
- if (elemBox.bottom > _body.bottom) {
48
- elem.style.bottom = '36px';
49
- }
50
- }
51
- }, 0);*/
52
- return;
53
- }
54
- toggleTimePicker(status) {
55
- this.showTimePicker = status;
56
- return;
57
- }
58
- get value() {
59
- return this.modelValue;
60
- }
61
- set value(val) {
62
- this.modelValue = val;
63
- this.onDateChange.emit(val);
64
- this.onChange(val);
65
- this.onTouched();
66
- }
67
- registerOnChange(fn) {
68
- this.onChange = fn;
69
- }
70
- registerOnTouched(fn) {
71
- this.onTouched = fn;
72
- }
73
- writeValue(value) {
74
- if (value instanceof Date) {
75
- this.value = Moment(value).format();
76
- }
77
- else {
78
- this.value = value;
79
- }
80
- }
81
- }
82
- DateTimePickerComponent.decorators = [
83
- { type: Component, args: [{
84
- selector: 'date-time-picker',
85
- template: `<div class="row">
86
- <div *ngIf="!showTime" class="col-xs-12 col-md-12">
87
- <input
88
- *ngIf="!showWeeks"
89
- type="text"
90
- class="form-control"
91
- [value]="value | date: 'mediumDate'"
92
- (focus)="toggleDatePicker(true)"
93
- readonly
94
- placeholder="Select Date"
95
- />
96
- <div *ngIf="showWeeks" class="input-group">
97
- <input
98
- type="text"
99
- class="form-control"
100
- class="form-control"
101
- [value]="value | date: 'mediumDate'"
102
- (focus)="toggleDatePicker(true)"
103
- readonly
104
- placeholder="Select Date"
105
- />
106
- <div class="input-group-btn">
107
- <button
108
- type="button"
109
- class="btn btn-default dropdown-toggle"
110
- data-toggle="dropdown"
111
- aria-haspopup="true"
112
- aria-expanded="false"
113
- >
114
- Weeks <span class="caret"></span>
115
- </button>
116
- <ul class="dropdown-menu up">
117
- <li (click)="weeksSelected(count)" *ngFor="let count of weeks">
118
- <span> {{ count }} Weeks</span>
119
- </li>
120
- </ul>
121
- </div>
122
- </div>
123
- </div>
124
- <div *ngIf="showTime" class="col-xs-8 col-md-8">
125
- <input
126
- *ngIf="!showWeeks"
127
- type="text"
128
- class="form-control"
129
- [value]="value | date: 'mediumDate'"
130
- (focus)="toggleDatePicker(true)"
131
- readonly
132
- placeholder="Select Date"
133
- />
134
- <div *ngIf="showWeeks" class="input-group">
135
- <input
136
- type="text"
137
- class="form-control"
138
- class="form-control"
139
- [value]="value | date: 'mediumDate'"
140
- (focus)="toggleDatePicker(true)"
141
- readonly
142
- placeholder="Select Date"
143
- />
144
- <div class="input-group-btn">
145
- <button
146
- type="button"
147
- class="btn btn-default dropdown-toggle"
148
- data-toggle="dropdown"
149
- aria-haspopup="true"
150
- aria-expanded="false"
151
- >
152
- Weeks <span class="caret"></span>
153
- </button>
154
- <ul class="dropdown-menu up">
155
- <li (click)="weeksSelected(count)" *ngFor="let count of weeks">
156
- <span> {{ count }} Weeks</span>
157
- </li>
158
- </ul>
159
- </div>
160
- </div>
161
- </div>
162
- <div *ngIf="showTime" class="col-xs-4 col-md-4">
163
- <input
164
- type="text"
165
- class="form-control"
166
- [value]="value | date: 'shortTime'"
167
- (focus)="toggleTimePicker(true)"
168
- readonly
169
- placeholder="Select Time"
170
- />
171
- </div>
172
- </div>
173
- <date-picker
174
- *ngIf="showDatePicker"
175
- [initDate]="value"
176
- (onSelectDate)="setDate($event)"
177
- (onDatePickerCancel)="toggleDatePicker($event)"
178
- ></date-picker>
179
-
180
- <time-picker
181
- *ngIf="showTimePicker"
182
- [initTime]="value"
183
- [use12Hour]="true"
184
- (onSelectTime)="setTime($event)"
185
- (onTimePickerCancel)="toggleTimePicker($event)"
186
- ></time-picker>
187
- `,
188
- styles: [`input[readonly]{background-color:#fff}.up{bottom:100%!important;top:auto!important}.glyphicon{top:1px}`],
189
- providers: [
190
- {
191
- provide: NG_VALUE_ACCESSOR,
192
- useExisting: forwardRef(() => DateTimePickerComponent),
193
- multi: true
194
- }
195
- ]
196
- },] },
197
- ];
198
- DateTimePickerComponent.ctorParameters = () => [];
199
- DateTimePickerComponent.propDecorators = {
200
- modelValue: [{ type: Input }],
201
- showDate: [{ type: Input }],
202
- showTime: [{ type: Input }],
203
- showWeeks: [{ type: Input }],
204
- weeks: [{ type: Input }],
205
- onDateChange: [{ type: Output }]
206
- };
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQW9IdkIsTUFBTTtJQVlKO1FBVlMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsVUFBSyxHQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDekIsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUVYLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFYixhQUFhLENBQUMsS0FBSztRQUNqQixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxH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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbmNvbnN0IE1vbWVudCA9IG1vbWVudF87XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGUtdGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiAqbmdJZj1cIiFzaG93VGltZVwiIGNsYXNzPVwiY29sLXhzLTEyIGNvbC1tZC0xMlwiPlxuICAgIDxpbnB1dFxuICAgICAgKm5nSWY9XCIhc2hvd1dlZWtzXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IGRhdGU6ICdtZWRpdW1EYXRlJ1wiXG4gICAgICAoZm9jdXMpPVwidG9nZ2xlRGF0ZVBpY2tlcih0cnVlKVwiXG4gICAgICByZWFkb25seVxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgRGF0ZVwiXG4gICAgLz5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1dlZWtzXCIgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IGRhdGU6ICdtZWRpdW1EYXRlJ1wiXG4gICAgICAgIChmb2N1cyk9XCJ0b2dnbGVEYXRlUGlja2VyKHRydWUpXCJcbiAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgRGF0ZVwiXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICBkYXRhLXRvZ2dsZT1cImRyb3Bkb3duXCJcbiAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgPlxuICAgICAgICAgIFdlZWtzIDxzcGFuIGNsYXNzPVwiY2FyZXRcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IHVwXCI+XG4gICAgICAgICAgPGxpIChjbGljayk9XCJ3ZWVrc1NlbGVjdGVkKGNvdW50KVwiICpuZ0Zvcj1cImxldCBjb3VudCBvZiB3ZWVrc1wiPlxuICAgICAgICAgICAgPHNwYW4+IHt7IGNvdW50IH19IFdlZWtzPC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93VGltZVwiIGNsYXNzPVwiY29sLXhzLTggY29sLW1kLThcIj5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwiIXNob3dXZWVrc1wiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiAnbWVkaXVtRGF0ZSdcIlxuICAgICAgKGZvY3VzKT1cInRvZ2dsZURhdGVQaWNrZXIodHJ1ZSlcIlxuICAgICAgcmVhZG9ubHlcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERhdGVcIlxuICAgIC8+XG4gICAgPGRpdiAqbmdJZj1cInNob3dXZWVrc1wiIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiAnbWVkaXVtRGF0ZSdcIlxuICAgICAgICAoZm9jdXMpPVwidG9nZ2xlRGF0ZVBpY2tlcih0cnVlKVwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERhdGVcIlxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGRyb3Bkb3duLXRvZ2dsZVwiXG4gICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICBXZWVrcyA8c3BhbiBjbGFzcz1cImNhcmV0XCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSB1cFwiPlxuICAgICAgICAgIDxsaSAoY2xpY2spPVwid2Vla3NTZWxlY3RlZChjb3VudClcIiAqbmdGb3I9XCJsZXQgY291bnQgb2Ygd2Vla3NcIj5cbiAgICAgICAgICAgIDxzcGFuPiB7eyBjb3VudCB9fSBXZWVrczwvc3Bhbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd1RpbWVcIiBjbGFzcz1cImNvbC14cy00IGNvbC1tZC00XCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiAnc2hvcnRUaW1lJ1wiXG4gICAgICAoZm9jdXMpPVwidG9nZ2xlVGltZVBpY2tlcih0cnVlKVwiXG4gICAgICByZWFkb25seVxuICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGltZVwiXG4gICAgLz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkYXRlLXBpY2tlclxuICAqbmdJZj1cInNob3dEYXRlUGlja2VyXCJcbiAgW2luaXREYXRlXT1cInZhbHVlXCJcbiAgKG9uU2VsZWN0RGF0ZSk9XCJzZXREYXRlKCRldmVudClcIlxuICAob25EYXRlUGlja2VyQ2FuY2VsKT1cInRvZ2dsZURhdGVQaWNrZXIoJGV2ZW50KVwiXG4+PC9kYXRlLXBpY2tlcj5cblxuPHRpbWUtcGlja2VyXG4gICpuZ0lmPVwic2hvd1RpbWVQaWNrZXJcIlxuICBbaW5pdFRpbWVdPVwidmFsdWVcIlxuICBbdXNlMTJIb3VyXT1cInRydWVcIlxuICAob25TZWxlY3RUaW1lKT1cInNldFRpbWUoJGV2ZW50KVwiXG4gIChvblRpbWVQaWNrZXJDYW5jZWwpPVwidG9nZ2xlVGltZVBpY2tlcigkZXZlbnQpXCJcbj48L3RpbWUtcGlja2VyPlxuYCxcbiAgc3R5bGVzOiBbYGlucHV0W3JlYWRvbmx5XXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnVwe2JvdHRvbToxMDAlIWltcG9ydGFudDt0b3A6YXV0byFpbXBvcnRhbnR9LmdseXBoaWNvbnt0b3A6MXB4fWBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVUaW1lUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIG1vZGVsVmFsdWU6IGFueTtcbiAgQElucHV0KCkgc2hvd0RhdGUgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93VGltZSA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93V2Vla3MgPSBmYWxzZTtcbiAgQElucHV0KCkgd2Vla3M6IG51bWJlcltdID0gWzIsIDQsIDYsIDgsIDEyLCAxNiwgMjRdO1xuICBAT3V0cHV0KCkgb25EYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyBzaG93RGF0ZVBpY2tlciA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd1RpbWVQaWNrZXIgPSBmYWxzZTtcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgd2Vla3NTZWxlY3RlZChjb3VudCkge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgbmV4dERhdGUgPSBub3cuc2V0RGF0ZShub3cuZ2V0RGF0ZSgpICsgY291bnQgKiA3KTtcbiAgICB0aGlzLnZhbHVlID0gTW9tZW50KG5leHREYXRlKS5mb3JtYXQoKTtcbiAgfVxuICBzZXREYXRlKGRhdGU6IGFueSk6IHZvaWQge1xuICAgIGlmIChkYXRlICYmIGRhdGUgIT09ICcnKSB7XG4gICAgICB0aGlzLnZhbHVlID0gTW9tZW50KGRhdGUpLmZvcm1hdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gZGF0ZTtcbiAgICB9XG4gIH1cblxuICBzZXRUaW1lKHRpbWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aW1lICYmIHRpbWUgIT09ICcnKSB7XG4gICAgICB0aGlzLnZhbHVlID0gTW9tZW50KHRpbWUpLmZvcm1hdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGltZTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdG9nZ2xlRGF0ZVBpY2tlcihzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEYXRlUGlja2VyID0gc3RhdHVzO1xuICAgIC8qc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgbGV0IF9ib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQtd3JhcHBlcicpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgIGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VjdGlvbi1tb2RhbC1tYWluJyk7XG4gICAgICAgIGlmIChlbGVtKSB7XG4gICAgICAgICAgbGV0IGVsZW1Cb3ggPSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGlmIChlbGVtQm94LmJvdHRvbSA+IF9ib2R5LmJvdHRvbSkge1xuICAgICAgICAgICAgZWxlbS5zdHlsZS5ib3R0b20gPSAnMzZweCc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LCAwKTsqL1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRvZ2dsZVRpbWVQaWNrZXIoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zaG93VGltZVBpY2tlciA9IHN0YXR1cztcbiAgICByZXR1cm47XG4gIH1cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsVmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodmFsKSB7XG4gICAgdGhpcy5tb2RlbFZhbHVlID0gdmFsO1xuICAgIHRoaXMub25EYXRlQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm4pIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbikge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IE1vbWVudCh2YWx1ZSkuZm9ybWF0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,34 +0,0 @@
1
- /**
2
- * date-time-picker.module
3
- */
4
- import { NgModule } from '@angular/core';
5
- import { CommonModule } from '@angular/common';
6
- import { FormsModule } from '@angular/forms';
7
- import { DatePickerComponent } from './date-picker/date-picker.component';
8
- import { TimePickerComponent } from './time-picker/time-picker.component';
9
- import { ModalComponent } from './picker-modal/modal.component';
10
- import { MomentPipe } from './pipes/moment.pipe';
11
- import { DateTimePickerComponent } from './date-time-picker.component';
12
- export class DateTimePickerModule {
13
- }
14
- DateTimePickerModule.decorators = [
15
- { type: NgModule, args: [{
16
- imports: [CommonModule, FormsModule],
17
- declarations: [
18
- DatePickerComponent,
19
- TimePickerComponent,
20
- ModalComponent,
21
- MomentPipe,
22
- DateTimePickerComponent
23
- ],
24
- exports: [
25
- DatePickerComponent,
26
- TimePickerComponent,
27
- ModalComponent,
28
- MomentPipe,
29
- DateTimePickerComponent
30
- ],
31
- providers: []
32
- },] },
33
- ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQW9CdkUsTUFBTTs7O1lBbEJMLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO2dCQUNwQyxZQUFZLEVBQUU7b0JBQ1osbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLGNBQWM7b0JBQ2QsVUFBVTtvQkFDVix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxVQUFVO29CQUNWLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsU0FBUyxFQUFFLEVBQUU7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZGF0ZS10aW1lLXBpY2tlci5tb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyLW1vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb21lbnRQaXBlIH0gZnJvbSAnLi9waXBlcy9tb21lbnQucGlwZSc7XG5pbXBvcnQgeyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBNb2RhbENvbXBvbmVudCxcbiAgICBNb21lbnRQaXBlLFxuICAgIERhdGVUaW1lUGlja2VyQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIFRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgTW9tZW50UGlwZSxcbiAgICBEYXRlVGltZVBpY2tlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyTW9kdWxlIHt9XG4iXX0=
@@ -1,36 +0,0 @@
1
- /**
2
- * modal.component
3
- */
4
- import { Component, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
5
- // const myDpStyles: string = require('./modal.component.css');
6
- // const myDpTpl: string = require('./modal.component.html');
7
- // webpack2_
8
- export class ModalComponent {
9
- constructor() {
10
- this.onOverlayClick = new EventEmitter();
11
- }
12
- ngOnInit() { }
13
- closeModal() {
14
- this.onOverlayClick.emit(false);
15
- }
16
- }
17
- ModalComponent.decorators = [
18
- { type: Component, args: [{
19
- selector: 'picker-modal',
20
- template: `<section class="x-modal">
21
- <section class="modal-overlay" (click)="closeModal()"></section>
22
- <section class="modal-main" id="section-modal-main">
23
- <ng-content></ng-content>
24
- </section>
25
- </section>
26
- `,
27
- styles: [`:host{z-index:9999999999}*,::after,::before{box-sizing:border-box}.modal-main{position:absolute;left:19.6%;right:auto;top:auto;z-index:111;background-color:#fff;border:1px solid #d7dad7;border-radius:6px;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);box-shadow:0 5px 15px rgba(0,0,0,.3)}`],
28
- changeDetection: ChangeDetectionStrategy.OnPush,
29
- animations: []
30
- },] },
31
- ];
32
- ModalComponent.ctorParameters = () => [];
33
- ModalComponent.propDecorators = {
34
- onOverlayClick: [{ type: Output }]
35
- };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL3BpY2tlci1tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFFTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLCtEQUErRDtBQUMvRCw2REFBNkQ7QUFDN0QsWUFBWTtBQWVaLE1BQU07SUFHSjtRQUZVLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV4QyxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsVUFBVTtRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQXRCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRTs7Ozs7O0NBTVg7Z0JBQ0MsTUFBTSxFQUFFLENBQUMsbVRBQW1ULENBQUM7Z0JBQzdULGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxVQUFVLEVBQUUsRUFBRTthQUNmOzs7OzZCQUVFLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIG1vZGFsLmNvbXBvbmVudFxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT3V0cHV0LFxuICBPbkluaXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIHdlYnBhY2sxX1xuZGVjbGFyZSBsZXQgcmVxdWlyZTogYW55O1xuLy8gY29uc3QgbXlEcFN0eWxlczogc3RyaW5nID0gcmVxdWlyZSgnLi9tb2RhbC5jb21wb25lbnQuY3NzJyk7XG4vLyBjb25zdCBteURwVHBsOiBzdHJpbmcgPSByZXF1aXJlKCcuL21vZGFsLmNvbXBvbmVudC5odG1sJyk7XG4vLyB3ZWJwYWNrMl9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGlja2VyLW1vZGFsJyxcbiAgdGVtcGxhdGU6IGA8c2VjdGlvbiBjbGFzcz1cIngtbW9kYWxcIj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJtb2RhbC1vdmVybGF5XCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPjwvc2VjdGlvbj5cbiAgPHNlY3Rpb24gY2xhc3M9XCJtb2RhbC1tYWluXCIgaWQ9XCJzZWN0aW9uLW1vZGFsLW1haW5cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cbmAsXG4gIHN0eWxlczogW2A6aG9zdHt6LWluZGV4Ojk5OTk5OTk5OTl9Kiw6OmFmdGVyLDo6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubW9kYWwtbWFpbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjE5LjYlO3JpZ2h0OmF1dG87dG9wOmF1dG87ei1pbmRleDoxMTE7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2Q3ZGFkNztib3JkZXItcmFkaXVzOjZweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCk7Ym94LXNoYWRvdzowIDVweCAxNXB4IHJnYmEoMCwwLDAsLjMpfWBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgYW5pbWF0aW9uczogW11cbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgb25PdmVybGF5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBjbG9zZU1vZGFsKCkge1xuICAgIHRoaXMub25PdmVybGF5Q2xpY2suZW1pdChmYWxzZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- /**
2
- * moment.pipe
3
- */
4
- import { Pipe } from '@angular/core';
5
- export class MomentPipe {
6
- transform(moment, format) {
7
- return format ? moment.format(format) : moment.format('MMM DD, YYYY');
8
- }
9
- }
10
- MomentPipe.decorators = [
11
- { type: Pipe, args: [{ name: 'moment' },] },
12
- ];
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50LnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvcGlwZXMvbW9tZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUlwRCxNQUFNO0lBQ0osU0FBUyxDQUFDLE1BQWMsRUFBRSxNQUFlO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7O1lBSkYsSUFBSSxTQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogbW9tZW50LnBpcGVcbiAqL1xuXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQvbW9tZW50JztcblxuQFBpcGUoeyBuYW1lOiAnbW9tZW50JyB9KVxuZXhwb3J0IGNsYXNzIE1vbWVudFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKG1vbWVudDogTW9tZW50LCBmb3JtYXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXQgPyBtb21lbnQuZm9ybWF0KGZvcm1hdCkgOiBtb21lbnQuZm9ybWF0KCdNTU0gREQsIFlZWVknKTtcbiAgfVxufVxuIl19
@@ -1,160 +0,0 @@
1
- /**
2
- * time-picker.component
3
- */
4
- import { Component, Input, Output, EventEmitter } from '@angular/core';
5
- import * as moment_ from 'moment';
6
- const moment = moment_;
7
- // const myDpStyles: string = require('./time-picker.component.css');
8
- // const myDpTpl: string = require('./time-picker.component.html');
9
- // webpack2_
10
- export class TimePickerComponent {
11
- constructor() {
12
- this.showSecond = true;
13
- this.viewFormat = 'hh:mm A';
14
- this.use12Hour = false;
15
- this.returnObject = 'js';
16
- this.onSelectTime = new EventEmitter();
17
- this.onTimePickerCancel = new EventEmitter();
18
- this.hourFormat = 'HH';
19
- }
20
- ngOnInit() {
21
- if (this.use12Hour) {
22
- this.hourFormat = 'hh';
23
- }
24
- this.time = this.initTime
25
- ? moment(this.initTime, this.viewFormat)
26
- : moment();
27
- // check if the input initDate has value
28
- if (this.initTime) {
29
- this.time =
30
- this.returnObject === 'string'
31
- ? moment(this.initTime, this.viewFormat)
32
- : moment(this.initTime);
33
- }
34
- else {
35
- this.time = moment();
36
- }
37
- }
38
- increaseHour() {
39
- this.time = this.time.clone().add(1, 'h');
40
- }
41
- decreaseHour() {
42
- this.time = this.time.clone().subtract(1, 'h');
43
- }
44
- increaseMinute() {
45
- this.time = this.time.clone().add(1, 'm');
46
- }
47
- decreaseMinute() {
48
- this.time = this.time.clone().subtract(1, 'm');
49
- }
50
- increaseSecond() {
51
- this.time = this.time.clone().add(1, 's');
52
- }
53
- decreaseSecond() {
54
- this.time = this.time.clone().subtract(1, 's');
55
- }
56
- selectTime() {
57
- const selectTime = this.parseToReturnObjectType(this.time);
58
- this.onSelectTime.emit(selectTime);
59
- this.cancelTimePicker();
60
- return;
61
- }
62
- selectNow() {
63
- const selectTime = this.parseToReturnObjectType(moment());
64
- this.onSelectTime.emit(selectTime);
65
- this.cancelTimePicker();
66
- return;
67
- }
68
- clearTime() {
69
- this.onSelectTime.emit(null);
70
- this.cancelTimePicker();
71
- return;
72
- }
73
- cancelTimePicker() {
74
- this.onTimePickerCancel.emit(false);
75
- return;
76
- }
77
- parseToReturnObjectType(time) {
78
- switch (this.returnObject) {
79
- case 'js':
80
- return time.toDate();
81
- case 'string':
82
- return time.format(this.viewFormat);
83
- case 'moment':
84
- return time;
85
- case 'json':
86
- return time.toJSON();
87
- case 'array':
88
- return time.toArray();
89
- case 'iso':
90
- return time.toISOString();
91
- case 'object':
92
- return time.toObject();
93
- default:
94
- return time;
95
- }
96
- }
97
- }
98
- TimePickerComponent.decorators = [
99
- { type: Component, args: [{
100
- selector: 'time-picker',
101
- template: `<picker-modal (onOverlayClick)="cancelTimePicker()">
102
- <div class="picker-wrap">
103
- <div class="picker-box">
104
- <div class="picker-header">Time Picker</div>
105
- <div class="picker-table">
106
- <ul class="picker-table-time">
107
- <li class="picker-table-number hour">
108
- <span class="arrow up" (click)="increaseHour()"></span>
109
- {{ time | moment: hourFormat }}
110
- <span class="arrow down" (click)="decreaseHour()"></span>
111
- </li>
112
- <li class="picker-table-separator">:</li>
113
- <li class="picker-table-number minute">
114
- <span class="arrow up" (click)="increaseMinute()"></span>
115
- {{ time | moment: 'mm' }}
116
- <span class="arrow down" (click)="decreaseMinute()"></span>
117
- </li>
118
- <li *ngIf="showSecond" class="picker-table-separator">:</li>
119
- <li *ngIf="showSecond" class="picker-table-number second">
120
- <span class="arrow up" (click)="increaseSecond()"></span>
121
- {{ time | moment: 'ss' }}
122
- <span class="arrow down" (click)="decreaseSecond()"></span>
123
- </li>
124
- <li *ngIf="use12Hour" class="picker-table-meridiem meridiem">
125
- {{ time | moment: 'A' }}
126
- </li>
127
- </ul>
128
- </div>
129
- <div class="picker-footer">
130
- <div class="picker-action action-now" (click)="selectNow()">
131
- <span class="text">Now</span>
132
- </div>
133
- <div class="picker-action action-confirm" (click)="selectTime()">
134
- <span class="text">Confirm</span>
135
- </div>
136
- <div class="picker-action action-clear" (click)="clearTime()">
137
- <span class="text">Clear</span>
138
- </div>
139
- <div class="picker-action action-close" (click)="cancelTimePicker()">
140
- <span class="text">Close</span>
141
- </div>
142
- </div>
143
- </div>
144
- </div>
145
- </picker-modal>
146
- `,
147
- styles: [`*,::after,::before{box-sizing:border-box}.picker-wrap{width:95vw;max-width:40rem;font-family:'Open Sans'}.picker-box{width:100%;padding:.625rem 1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker-footer,.picker-header{font-size:1.333rem;line-height:2.5rem;height:2.5rem;width:100%}.picker-header{text-align:center}.picker-table{width:100%;margin:2.5rem 0}.picker-table-time{font-size:2.37rem;line-height:2.5rem;list-style:none;margin:0;padding:0;display:flex;justify-content:center;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker-table-meridiem,.picker-table-number,.picker-table-separator{text-align:center}.picker-table-meridiem,.picker-table-number{position:relative;width:20%}.arrow{position:absolute;left:50%;border:solid #777;border-width:0 .2rem .2rem 0;display:inline-block;padding:.25rem;cursor:pointer}.arrow.up{top:-1rem;-webkit-transform:translateX(-50%) rotate(-135deg);transform:translateX(-50%) rotate(-135deg)}.arrow.down{bottom:-1rem;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg)}.arrow:hover{border-color:#1975d2}.picker-table-separator{width:calc(20% / 3)}.picker-footer{display:flex;justify-content:center;width:100%;cursor:pointer}.picker-footer .picker-action{width:25%;text-align:center}.picker-footer .picker-action:hover{background-color:#b1dcfb}.picker-footer .picker-action .text{padding-left:.8rem}.picker-footer .action-clear::before,.picker-footer .action-close::before,.picker-footer .action-confirm::before,.picker-footer .action-now::before{content:' ';position:relative;display:inline-block;height:0;width:0}.picker-footer .action-now::before{border-top:.66em solid #0059bc;border-left:.66em solid transparent}.picker-footer .action-confirm::before{width:1rem;height:1rem;border-radius:100%;background-color:#00b5ad}.picker-footer .action-clear::before{top:-.5rem;width:1rem;border-top:3px solid #e20}.picker-footer .action-close::before{width:1rem;height:1rem;background:linear-gradient(to bottom,transparent 35%,#777 35%,#777 65%,transparent 65%),linear-gradient(to right,transparent 35%,#777 35%,#777 65%,transparent 65%);-webkit-transform:rotate(45deg);transform:rotate(45deg)}`]
148
- },] },
149
- ];
150
- TimePickerComponent.ctorParameters = () => [];
151
- TimePickerComponent.propDecorators = {
152
- initTime: [{ type: Input }],
153
- showSecond: [{ type: Input }],
154
- viewFormat: [{ type: Input }],
155
- use12Hour: [{ type: Input }],
156
- returnObject: [{ type: Input }],
157
- onSelectTime: [{ type: Output }],
158
- onTimePickerCancel: [{ type: Output }]
159
- };
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFFbEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBS3ZCLHFFQUFxRTtBQUNyRSxtRUFBbUU7QUFDbkUsWUFBWTtBQW9EWixNQUFNO0lBV0o7UUFUUyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNuQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzRCxlQUFVLEdBQUcsSUFBSSxDQUFDO0lBR0gsQ0FBQztJQUVoQixRQUFRO1FBQ04sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDeEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWIsd0NBQXdDO1FBQ3hDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFR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QztZQUVkLEtBQUssTUFBTTtnQkFDVCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRXZCLEtBQUssT0FBTztnQkFDVixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXhCLEtBQUssS0FBSztnQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRTVCLEtBQUssUUFBUTtnQkFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXpCO2dCQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7OztZQTdKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkNYO2dCQUNDLE1BQU0sRUFBRSxDQUFDLHV0RUFBdXRFLENBQUM7YUFDbHVFOzs7O3VCQUVFLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3dCQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxNQUFNO2lDQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHRpbWUtcGlja2VyLmNvbXBvbmVudFxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcblxuY29uc3QgbW9tZW50ID0gbW9tZW50XztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudC9tb21lbnQnO1xuXG4vLyB3ZWJwYWNrMV9cbmRlY2xhcmUgbGV0IHJlcXVpcmU6IGFueTtcbi8vIGNvbnN0IG15RHBTdHlsZXM6IHN0cmluZyA9IHJlcXVpcmUoJy4vdGltZS1waWNrZXIuY29tcG9uZW50LmNzcycpO1xuLy8gY29uc3QgbXlEcFRwbDogc3RyaW5nID0gcmVxdWlyZSgnLi90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcpO1xuLy8gd2VicGFjazJfXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGU6IGA8cGlja2VyLW1vZGFsIChvbk92ZXJsYXlDbGljayk9XCJjYW5jZWxUaW1lUGlja2VyKClcIj5cbiAgPGRpdiBjbGFzcz1cInBpY2tlci13cmFwXCI+XG4gICAgPGRpdiBjbGFzcz1cInBpY2tlci1ib3hcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItaGVhZGVyXCI+VGltZSBQaWNrZXI8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItdGFibGVcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwicGlja2VyLXRhYmxlLXRpbWVcIj5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJwaWNrZXItdGFibGUtbnVtYmVyIGhvdXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3cgdXBcIiAoY2xpY2spPVwiaW5jcmVhc2VIb3VyKClcIj48L3NwYW4+XG4gICAgICAgICAgICB7eyB0aW1lIHwgbW9tZW50OiBob3VyRm9ybWF0IH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IGRvd25cIiAoY2xpY2spPVwiZGVjcmVhc2VIb3VyKClcIj48L3NwYW4+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJwaWNrZXItdGFibGUtc2VwYXJhdG9yXCI+OjwvbGk+XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGlja2VyLXRhYmxlLW51bWJlciBtaW51dGVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3cgdXBcIiAoY2xpY2spPVwiaW5jcmVhc2VNaW51dGUoKVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIHt7IHRpbWUgfCBtb21lbnQ6ICdtbScgfX1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3cgZG93blwiIChjbGljayk9XCJkZWNyZWFzZU1pbnV0ZSgpXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpICpuZ0lmPVwic2hvd1NlY29uZFwiIGNsYXNzPVwicGlja2VyLXRhYmxlLXNlcGFyYXRvclwiPjo8L2xpPlxuICAgICAgICAgIDxsaSAqbmdJZj1cInNob3dTZWNvbmRcIiBjbGFzcz1cInBpY2tlci10YWJsZS1udW1iZXIgc2Vjb25kXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IHVwXCIgKGNsaWNrKT1cImluY3JlYXNlU2Vjb25kKClcIj48L3NwYW4+XG4gICAgICAgICAgICB7eyB0aW1lIHwgbW9tZW50OiAnc3MnIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IGRvd25cIiAoY2xpY2spPVwiZGVjcmVhc2VTZWNvbmQoKVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSAqbmdJZj1cInVzZTEySG91clwiIGNsYXNzPVwicGlja2VyLXRhYmxlLW1lcmlkaWVtIG1lcmlkaWVtXCI+XG4gICAgICAgICAgICB7eyB0aW1lIHwgbW9tZW50OiAnQScgfX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWZvb3RlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWFjdGlvbiBhY3Rpb24tbm93XCIgKGNsaWNrKT1cInNlbGVjdE5vdygpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+Tm93PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1hY3Rpb24gYWN0aW9uLWNvbmZpcm1cIiAoY2xpY2spPVwic2VsZWN0VGltZSgpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+Q29uZmlybTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItYWN0aW9uIGFjdGlvbi1jbGVhclwiIChjbGljayk9XCJjbGVhclRpbWUoKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkNsZWFyPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1hY3Rpb24gYWN0aW9uLWNsb3NlXCIgKGNsaWNrKT1cImNhbmNlbFRpbWVQaWNrZXIoKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkNsb3NlPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcGlja2VyLW1vZGFsPlxuYCxcbiAgc3R5bGVzOiBbYCosOjphZnRlciw6OmJlZm9yZXtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnBpY2tlci13cmFwe3dpZHRoOjk1dnc7bWF4LXdpZHRoOjQwcmVtO2ZvbnQtZmFtaWx5OidPcGVuIFNhbnMnfS5waWNrZXItYm94e3dpZHRoOjEwMCU7cGFkZGluZzouNjI1cmVtIDFyZW07LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5waWNrZXItZm9vdGVyLC5waWNrZXItaGVhZGVye2ZvbnQtc2l6ZToxLjMzM3JlbTtsaW5lLWhlaWdodDoyLjVyZW07aGVpZ2h0OjIuNXJlbTt3aWR0aDoxMDAlfS5waWNrZXItaGVhZGVye3RleHQtYWxpZ246Y2VudGVyfS5waWNrZXItdGFibGV7d2lkdGg6MTAwJTttYXJnaW46Mi41cmVtIDB9LnBpY2tlci10YWJsZS10aW1le2ZvbnQtc2l6ZToyLjM3cmVtO2xpbmUtaGVpZ2h0OjIuNXJlbTtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5waWNrZXItdGFibGUtbWVyaWRpZW0sLnBpY2tlci10YWJsZS1udW1iZXIsLnBpY2tlci10YWJsZS1zZXBhcmF0b3J7dGV4dC1hbGlnbjpjZW50ZXJ9LnBpY2tlci10YWJsZS1tZXJpZGllbSwucGlja2VyLXRhYmxlLW51bWJlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoyMCV9LmFycm93e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO2JvcmRlcjpzb2xpZCAjNzc3O2JvcmRlci13aWR0aDowIC4ycmVtIC4ycmVtIDA7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzouMjVyZW07Y3Vyc29yOnBvaW50ZXJ9LmFycm93LnVwe3RvcDotMXJlbTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTEzNWRlZyl9LmFycm93LmRvd257Ym90dG9tOi0xcmVtOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpfS5hcnJvdzpob3Zlcntib3JkZXItY29sb3I6IzE5NzVkMn0ucGlja2VyLXRhYmxlLXNlcGFyYXRvcnt3aWR0aDpjYWxjKDIwJSAvIDMpfS5waWNrZXItZm9vdGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXJ9LnBpY2tlci1mb290ZXIgLnBpY2tlci1hY3Rpb257d2lkdGg6MjUlO3RleHQtYWxpZ246Y2VudGVyfS5waWNrZXItZm9vdGVyIC5waWNrZXItYWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2IxZGNmYn0ucGlja2VyLWZvb3RlciAucGlja2VyLWFjdGlvbiAudGV4dHtwYWRkaW5nLWxlZnQ6LjhyZW19LnBpY2tlci1mb290ZXIgLmFjdGlvbi1jbGVhcjo6YmVmb3JlLC5waWNrZXItZm9vdGVyIC5hY3Rpb24tY2xvc2U6OmJlZm9yZSwucGlja2VyLWZvb3RlciAuYWN0aW9uLWNvbmZpcm06OmJlZm9yZSwucGlja2VyLWZvb3RlciAuYWN0aW9uLW5vdzo6YmVmb3Jle2NvbnRlbnQ6JyAnO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDowO3dpZHRoOjB9LnBpY2tlci1mb290ZXIgLmFjdGlvbi1ub3c6OmJlZm9yZXtib3JkZXItdG9wOi42NmVtIHNvbGlkICMwMDU5YmM7Ym9yZGVyLWxlZnQ6LjY2ZW0gc29saWQgdHJhbnNwYXJlbnR9LnBpY2tlci1mb290ZXIgLmFjdGlvbi1jb25maXJtOjpiZWZvcmV7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtib3JkZXItcmFkaXVzOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDBiNWFkfS5waWNrZXItZm9vdGVyIC5hY3Rpb24tY2xlYXI6OmJlZm9yZXt0b3A6LS41cmVtO3dpZHRoOjFyZW07Ym9yZGVyLXRvcDozcHggc29saWQgI2UyMH0ucGlja2VyLWZvb3RlciAuYWN0aW9uLWNsb3NlOjpiZWZvcmV7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sdHJhbnNwYXJlbnQgMzUlLCM3NzcgMzUlLCM3NzcgNjUlLHRyYW5zcGFyZW50IDY1JSksbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHRyYW5zcGFyZW50IDM1JSwjNzc3IDM1JSwjNzc3IDY1JSx0cmFuc3BhcmVudCA2NSUpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9YF1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGluaXRUaW1lOiBhbnk7XG4gIEBJbnB1dCgpIHNob3dTZWNvbmQgPSB0cnVlO1xuICBASW5wdXQoKSB2aWV3Rm9ybWF0ID0gJ2hoOm1tIEEnO1xuICBASW5wdXQoKSB1c2UxMkhvdXIgPSBmYWxzZTtcbiAgQElucHV0KCkgcmV0dXJuT2JqZWN0ID0gJ2pzJztcbiAgQE91dHB1dCgpIG9uU2VsZWN0VGltZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25UaW1lUGlja2VyQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBob3VyRm9ybWF0ID0gJ0hIJztcbiAgcHVibGljIHRpbWU6IE1vbWVudDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudXNlMTJIb3VyKSB7XG4gICAgICB0aGlzLmhvdXJGb3JtYXQgPSAnaGgnO1xuICAgIH1cbiAgICB0aGlzLnRpbWUgPSB0aGlzLmluaXRUaW1lXG4gICAgICA/IG1vbWVudCh0aGlzLmluaXRUaW1lLCB0aGlzLnZpZXdGb3JtYXQpXG4gICAgICA6IG1vbWVudCgpO1xuXG4gICAgLy8gY2hlY2sgaWYgdGhlIGlucHV0IGluaXREYXRlIGhhcyB2YWx1ZVxuICAgIGlmICh0aGlzLmluaXRUaW1lKSB7XG4gICAgICB0aGlzLnRpbWUgPVxuICAgICAgICB0aGlzLnJldHVybk9iamVjdCA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IG1vbWVudCh0aGlzLmluaXRUaW1lLCB0aGlzLnZpZXdGb3JtYXQpXG4gICAgICAgICAgOiBtb21lbnQodGhpcy5pbml0VGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGltZSA9IG1vbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIGluY3JlYXNlSG91cigpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWUgPSB0aGlzLnRpbWUuY2xvbmUoKS5hZGQoMSwgJ2gnKTtcbiAgfVxuXG4gIGRlY3JlYXNlSG91cigpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWUgPSB0aGlzLnRpbWUuY2xvbmUoKS5zdWJ0cmFjdCgxLCAnaCcpO1xuICB9XG5cbiAgaW5jcmVhc2VNaW51dGUoKSB7XG4gICAgdGhpcy50aW1lID0gdGhpcy50aW1lLmNsb25lKCkuYWRkKDEsICdtJyk7XG4gIH1cblxuICBkZWNyZWFzZU1pbnV0ZSgpIHtcbiAgICB0aGlzLnRpbWUgPSB0aGlzLnRpbWUuY2xvbmUoKS5zdWJ0cmFjdCgxLCAnbScpO1xuICB9XG5cbiAgaW5jcmVhc2VTZWNvbmQoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lID0gdGhpcy50aW1lLmNsb25lKCkuYWRkKDEsICdzJyk7XG4gIH1cblxuICBkZWNyZWFzZVNlY29uZCgpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWUgPSB0aGlzLnRpbWUuY2xvbmUoKS5zdWJ0cmFjdCgxLCAncycpO1xuICB9XG5cbiAgc2VsZWN0VGltZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RUaW1lID0gdGhpcy5wYXJzZVRvUmV0dXJuT2JqZWN0VHlwZSh0aGlzLnRpbWUpO1xuICAgIHRoaXMub25TZWxlY3RUaW1lLmVtaXQoc2VsZWN0VGltZSk7XG4gICAgdGhpcy5jYW5jZWxUaW1lUGlja2VyKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc2VsZWN0Tm93KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdFRpbWUgPSB0aGlzLnBhcnNlVG9SZXR1cm5PYmplY3RUeXBlKG1vbWVudCgpKTtcbiAgICB0aGlzLm9uU2VsZWN0VGltZS5lbWl0KHNlbGVjdFRpbWUpO1xuICAgIHRoaXMuY2FuY2VsVGltZVBpY2tlcigpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNsZWFyVGltZSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uU2VsZWN0VGltZS5lbWl0KG51bGwpO1xuICAgIHRoaXMuY2FuY2VsVGltZVBpY2tlcigpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNhbmNlbFRpbWVQaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5vblRpbWVQaWNrZXJDYW5jZWwuZW1pdChmYWxzZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlVG9SZXR1cm5PYmplY3RUeXBlKHRpbWU6IE1vbWVudCk6IGFueSB7XG4gICAgc3dpdGNoICh0aGlzLnJldHVybk9iamVjdCkge1xuICAgICAgY2FzZSAnanMnOlxuICAgICAgICByZXR1cm4gdGltZS50b0RhdGUoKTtcblxuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIHRpbWUuZm9ybWF0KHRoaXMudmlld0Zvcm1hdCk7XG5cbiAgICAgIGNhc2UgJ21vbWVudCc6XG4gICAgICAgIHJldHVybiB0aW1lO1xuXG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgcmV0dXJuIHRpbWUudG9KU09OKCk7XG5cbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgcmV0dXJuIHRpbWUudG9BcnJheSgpO1xuXG4gICAgICBjYXNlICdpc28nOlxuICAgICAgICByZXR1cm4gdGltZS50b0lTT1N0cmluZygpO1xuXG4gICAgICBjYXNlICdvYmplY3QnOlxuICAgICAgICByZXR1cm4gdGltZS50b09iamVjdCgpO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGltZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,128 +0,0 @@
1
- import { Component, Input, forwardRef, Renderer2 } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- export class FileUploadComponent {
4
- constructor(renderer) {
5
- this.renderer = renderer;
6
- this.uploading = false;
7
- this.fileUuid = null;
8
- this.pdfUploaded = false;
9
- this.formEntryMode = true;
10
- // the method set in registerOnChange, it is just
11
- // a placeholder for a method that takes one parameter,
12
- // we use it to emit changes back to the form
13
- this.propagateChange = (_) => { };
14
- }
15
- get dataSource() {
16
- return this._dataSource;
17
- }
18
- set dataSource(v) {
19
- this._dataSource = v;
20
- }
21
- ngOnInit() {
22
- if (this.fileUuid) {
23
- this.checkFileType();
24
- }
25
- }
26
- onFileChange(fileList) {
27
- for (const file of fileList) {
28
- this.upload(file);
29
- }
30
- }
31
- upload(data) {
32
- if (this.dataSource) {
33
- this.uploading = true;
34
- this.dataSource.fileUpload(data).subscribe((result) => {
35
- this.fileUuid = result.image;
36
- this.checkFileType();
37
- this.propagateChange(this.fileUuid);
38
- this.uploading = false;
39
- }, (error) => {
40
- this.uploading = false;
41
- });
42
- }
43
- }
44
- // this is the initial value set to the component
45
- writeValue(value) {
46
- if (value !== this.fileUuid) {
47
- this.fileUuid = value;
48
- this.checkFileType();
49
- }
50
- }
51
- // registers 'fn' that will be fired when changes are made
52
- // this is how we emit the changes back to the form
53
- registerOnChange(fn) {
54
- this.propagateChange = fn;
55
- }
56
- // not used, used for touch input
57
- registerOnTouched() { }
58
- // change events from the textarea
59
- onChange(event) {
60
- this.propagateChange(event.id);
61
- // .....
62
- // update the form
63
- // this.propagateChange(this.data);
64
- }
65
- clearValue() {
66
- this.fileUuid = null;
67
- this.pdfUploaded = false;
68
- this.pdfUrl = null;
69
- this.propagateChange(this.fileUuid);
70
- }
71
- getPdfUrl(fileUuid) {
72
- this.dataSource.fetchFile(fileUuid, 'pdf').subscribe((file) => {
73
- this.pdfUploaded = true;
74
- this.pdfUrl = file.changingThisBreaksApplicationSecurity;
75
- });
76
- }
77
- checkFileType() {
78
- const re = /pdf/gi;
79
- if (this.fileUuid.search(re) !== -1) {
80
- this.getPdfUrl(this.fileUuid);
81
- }
82
- }
83
- }
84
- FileUploadComponent.decorators = [
85
- { type: Component, args: [{
86
- selector: 'app-file-upload',
87
- template: `<lib-file-uploader
88
- [srcUrl]="pdfUrl"
89
- [formEntry]="formEntryMode"
90
- [(ngModel)]="fileUuid"
91
- (_onClear)="clearValue()"
92
- (uploadData)="onFileChange($event)"
93
- >
94
- </lib-file-uploader>
95
- <div *ngIf="fileUuid">
96
- <img
97
- *ngIf="!pdfUploaded"
98
- class="img-responsive"
99
- [src]="fileUuid | secure: this.dataSource.fetchFile"
100
- alt=""
101
- />
102
- </div>
103
- `,
104
- providers: [
105
- {
106
- provide: NG_VALUE_ACCESSOR,
107
- useExisting: forwardRef(() => FileUploadComponent),
108
- multi: true
109
- }
110
- ],
111
- styles: [
112
- `
113
- img {
114
- margin-left: auto;
115
- margin-right: auto;
116
- display: block;
117
- }
118
- `
119
- ]
120
- },] },
121
- ];
122
- FileUploadComponent.ctorParameters = () => [
123
- { type: Renderer2 }
124
- ];
125
- FileUploadComponent.propDecorators = {
126
- dataSource: [{ type: Input }]
127
- };
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9wZW5tcnMtZm9ybWVudHJ5LyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF3Q3pFLE1BQU07SUFlSixZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZHZDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQStEckIsaURBQWlEO1FBQ2pELHVEQUF1RDtRQUN2RCw2Q0FBNkM7UUFDckMsb0JBQWUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBdkRDLENBQUM7SUFSM0MsSUFDVyxVQUFVO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFhO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFJRCxRQUFRO1FBQ04sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBQ00sWUFBWSxDQUFDLFFBQVE7UUFDMUIsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxD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S0FNQztpQkFDRjthQUNGOzs7WUExQ0MsU0FBUzs7O3lCQWtEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBmb3J3YXJkUmVmLFxuICBSZW5kZXJlcjIsXG4gIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBTZWN1cmVQaXBlIH0gZnJvbSAnLi9zZWN1cmUucGlwZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmlsZS11cGxvYWQnLFxuICB0ZW1wbGF0ZTogYDxsaWItZmlsZS11cGxvYWRlclxuICBbc3JjVXJsXT1cInBkZlVybFwiXG4gIFtmb3JtRW50cnldPVwiZm9ybUVudHJ5TW9kZVwiXG4gIFsobmdNb2RlbCldPVwiZmlsZVV1aWRcIlxuICAoX29uQ2xlYXIpPVwiY2xlYXJWYWx1ZSgpXCJcbiAgKHVwbG9hZERhdGEpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIlxuPlxuPC9saWItZmlsZS11cGxvYWRlcj5cbjxkaXYgKm5nSWY9XCJmaWxlVXVpZFwiPlxuICA8aW1nXG4gICAgKm5nSWY9XCIhcGRmVXBsb2FkZWRcIlxuICAgIGNsYXNzPVwiaW1nLXJlc3BvbnNpdmVcIlxuICAgIFtzcmNdPVwiZmlsZVV1aWQgfCBzZWN1cmU6IHRoaXMuZGF0YVNvdXJjZS5mZXRjaEZpbGVcIlxuICAgIGFsdD1cIlwiXG4gIC8+XG48L2Rpdj5cbmAsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZVVwbG9hZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgdXBsb2FkaW5nID0gZmFsc2U7XG4gIGZpbGVVdWlkID0gbnVsbDtcbiAgcGRmVXBsb2FkZWQgPSBmYWxzZTtcbiAgZm9ybUVudHJ5TW9kZSA9IHRydWU7XG4gIHBkZlVybDogc3RyaW5nO1xuICBwcml2YXRlIF9kYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRhdGFTb3VyY2UoKTogRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gIH1cbiAgcHVibGljIHNldCBkYXRhU291cmNlKHY6IERhdGFTb3VyY2UpIHtcbiAgICB0aGlzLl9kYXRhU291cmNlID0gdjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5maWxlVXVpZCkge1xuICAgICAgdGhpcy5jaGVja0ZpbGVUeXBlKCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBvbkZpbGVDaGFuZ2UoZmlsZUxpc3QpIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZUxpc3QpIHtcbiAgICAgIHRoaXMudXBsb2FkKGZpbGUpO1xuICAgIH1cbiAgfVxuICB1cGxvYWQoZGF0YSkge1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWxlVXBsb2FkKGRhdGEpLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIHRoaXMuZmlsZVV1aWQgPSByZXN1bHQuaW1hZ2U7XG4gICAgICAgICAgdGhpcy5jaGVja0ZpbGVUeXBlKCk7XG4gICAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5maWxlVXVpZCk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyB0aGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuZmlsZVV1aWQpIHtcbiAgICAgIHRoaXMuZmlsZVV1aWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2hlY2tGaWxlVHlwZSgpO1xuICAgIH1cbiAgfVxuICAvLyByZWdpc3RlcnMgJ2ZuJyB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlXG4gIC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIG5vdCB1c2VkLCB1c2VkIGZvciB0b3VjaCBpbnB1dFxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKSB7fVxuICAvLyBjaGFuZ2UgZXZlbnRzIGZyb20gdGhlIHRleHRhcmVhXG4gIG9uQ2hhbmdlKGV2ZW50KSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UoZXZlbnQuaWQpO1xuICAgIC8vIC4uLi4uXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgLy8gdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5kYXRhKTtcbiAgfVxuXG4gIC8vIHRoZSBtZXRob2Qgc2V0IGluIHJlZ2lzdGVyT25DaGFuZ2UsIGl0IGlzIGp1c3RcbiAgLy8gYSBwbGFjZWhvbGRlciBmb3IgYSBtZXRob2QgdGhhdCB0YWtlcyBvbmUgcGFyYW1ldGVyLFxuICAvLyB3ZSB1c2UgaXQgdG8gZW1pdCBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcblxuICBwdWJsaWMgY2xlYXJWYWx1ZSgpIHtcbiAgICB0aGlzLmZpbGVVdWlkID0gbnVsbDtcbiAgICB0aGlzLnBkZlVwbG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5wZGZVcmwgPSBudWxsO1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZmlsZVV1aWQpO1xuICB9XG5cbiAgcHVibGljIGdldFBkZlVybChmaWxlVXVpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5kYXRhU291cmNlLmZldGNoRmlsZShmaWxlVXVpZCwgJ3BkZicpLnN1YnNjcmliZSgoZmlsZSkgPT4ge1xuICAgICAgdGhpcy5wZGZVcGxvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLnBkZlVybCA9IGZpbGUuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eTtcbiAgICB9KTtcbiAgfVxuICBwdWJsaWMgY2hlY2tGaWxlVHlwZSgpIHtcbiAgICBjb25zdCByZSA9IC9wZGYvZ2k7XG4gICAgaWYgKHRoaXMuZmlsZVV1aWQuc2VhcmNoKHJlKSAhPT0gLTEpIHtcbiAgICAgIHRoaXMuZ2V0UGRmVXJsKHRoaXMuZmlsZVV1aWQpO1xuICAgIH1cbiAgfVxufVxuIl19