@ampath-kenya/ngx-openmrs-formentry 3.0.0-alpha9 → 3.0.0-ampath.1-beta.0

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 (441) hide show
  1. package/abstract-controls-extension/afe-control-type.d.ts +1 -1
  2. package/abstract-controls-extension/afe-form-array.d.ts +2 -3
  3. package/abstract-controls-extension/afe-form-control.d.ts +1 -1
  4. package/abstract-controls-extension/afe-form-group.d.ts +1 -1
  5. package/ampath-kenya-ngx-openmrs-formentry.d.ts +48 -74
  6. package/ampath-kenya-ngx-openmrs-formentry.metadata.json +1 -1
  7. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js +5729 -9376
  8. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.js.map +1 -1
  9. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js +1 -16
  10. package/bundles/ampath-kenya-ngx-openmrs-formentry.umd.min.js.map +1 -1
  11. package/change-tracking/control-relation.d.ts +4 -4
  12. package/change-tracking/control-relations.d.ts +3 -3
  13. package/components/check-box/checkbox.component.d.ts +1 -2
  14. package/components/date-time-picker/date-time-picker.component.d.ts +1 -2
  15. package/components/date-time-picker/date-time-picker.module.d.ts +0 -3
  16. package/components/file-upload/file-upload.component.d.ts +25 -0
  17. package/components/file-upload/file-upload.module.d.ts +2 -0
  18. package/components/file-upload/secure.pipe.d.ts +5 -5
  19. package/components/ngx-date-time-picker/ngx-date-time-picker.component.d.ts +52 -0
  20. package/components/{ngx-datetime-picker/ngx-datetime-picker.module.d.ts → ngx-date-time-picker/ngx-date-time-picker.module.d.ts} +0 -3
  21. package/components/ngx-time-picker/ngx-time-picker.component.d.ts +13 -0
  22. package/components/ngx-time-picker/ngx-time-picker.module.d.ts +2 -0
  23. package/components/{ngx-remote-select/ngx-remote-select.component.d.ts → remote-select/remote-select.component.d.ts} +8 -12
  24. package/components/remote-select/remote-select.module.d.ts +2 -0
  25. package/components/select/diacritics.d.ts +844 -0
  26. package/components/select/option-list.d.ts +36 -0
  27. package/components/select/option.d.ts +17 -0
  28. package/components/select/select-dropdown.component.d.ts +40 -0
  29. package/components/select/select-dropdown.component.style.d.ts +1 -0
  30. package/components/select/select.component.d.ts +96 -108
  31. package/components/select/select.component.style.d.ts +1 -0
  32. package/encounter-viewer/display-controls/file-preview.component.d.ts +25 -0
  33. package/encounter-viewer/display-controls/question-control.component.d.ts +15 -0
  34. package/encounter-viewer/display-controls/remote-answer.component.d.ts +17 -0
  35. package/encounter-viewer/encounter-container/encounter-container.component.d.ts +15 -0
  36. package/encounter-viewer/encounter-pdf-viewer.service.d.ts +27 -0
  37. package/encounter-viewer/encounter-view/encounter-viewer.component.d.ts +30 -0
  38. package/encounter-viewer/encounter-viewer.module.d.ts +2 -0
  39. package/encounter-viewer/encounter-viewer.service.d.ts +16 -0
  40. package/esm2015/abstract-controls-extension/afe-control-type.js +2 -1
  41. package/esm2015/abstract-controls-extension/afe-form-array.js +2 -1
  42. package/esm2015/abstract-controls-extension/afe-form-control.js +2 -1
  43. package/esm2015/abstract-controls-extension/afe-form-group.js +2 -1
  44. package/esm2015/abstract-controls-extension/control-extensions.js +2 -1
  45. package/esm2015/abstract-controls-extension/index.js +2 -1
  46. package/esm2015/abstract-controls-extension/value-change.listener.js +2 -2
  47. package/esm2015/ampath-kenya-ngx-openmrs-formentry.js +40 -65
  48. package/esm2015/change-tracking/control-relation.js +2 -1
  49. package/esm2015/change-tracking/control-relations.js +2 -1
  50. package/esm2015/components/afe-ng-select.component.js +3 -2
  51. package/esm2015/components/appointments-overview/appointments-overview.component.js +78 -33
  52. package/esm2015/components/check-box/checkbox.component.js +24 -3
  53. package/esm2015/components/check-box/checkbox.module.js +3 -2
  54. package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +93 -4
  55. package/esm2015/components/date-time-picker/date-time-picker.component.js +109 -5
  56. package/esm2015/components/date-time-picker/date-time-picker.module.js +3 -2
  57. package/esm2015/components/date-time-picker/picker-modal/modal.component.js +13 -5
  58. package/esm2015/components/date-time-picker/pipes/moment.pipe.js +3 -2
  59. package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +51 -4
  60. package/esm2015/components/file-upload/file-upload.component.js +130 -0
  61. package/esm2015/components/file-upload/file-upload.module.js +28 -0
  62. package/esm2015/components/file-upload/secure.pipe.js +5 -3
  63. package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.component.js +259 -0
  64. package/esm2015/components/ngx-date-time-picker/ngx-date-time-picker.module.js +43 -0
  65. package/esm2015/components/ngx-time-picker/ngx-time-picker.component.js +78 -0
  66. package/esm2015/components/ngx-time-picker/ngx-time-picker.module.js +16 -0
  67. package/esm2015/components/remote-select/remote-select.component.js +171 -0
  68. package/esm2015/components/remote-select/remote-select.module.js +18 -0
  69. package/esm2015/components/select/diacritics.js +856 -0
  70. package/esm2015/components/select/option-list.js +180 -0
  71. package/esm2015/components/select/option.js +30 -0
  72. package/esm2015/components/select/select-dropdown.component.js +162 -0
  73. package/esm2015/components/select/select-dropdown.component.style.js +59 -0
  74. package/esm2015/components/select/select.component.js +493 -216
  75. package/esm2015/components/select/select.component.style.js +102 -0
  76. package/esm2015/components/select/select.module.js +11 -24
  77. package/esm2015/encounter-viewer/display-controls/file-preview.component.js +111 -0
  78. package/esm2015/encounter-viewer/display-controls/question-control.component.js +94 -0
  79. package/esm2015/encounter-viewer/display-controls/remote-answer.component.js +81 -0
  80. package/esm2015/encounter-viewer/encounter-container/encounter-container.component.js +50 -0
  81. package/esm2015/encounter-viewer/encounter-pdf-viewer.service.js +437 -0
  82. package/esm2015/encounter-viewer/encounter-view/encounter-viewer.component.js +301 -0
  83. package/esm2015/encounter-viewer/encounter-viewer.module.js +36 -0
  84. package/esm2015/encounter-viewer/encounter-viewer.service.js +162 -0
  85. package/esm2015/form-entry/control-alerts/alert-helpers.js +2 -1
  86. package/esm2015/form-entry/control-alerts/can-generate-alert.js +2 -2
  87. package/esm2015/form-entry/control-calculators/can-calculate.js +2 -2
  88. package/esm2015/form-entry/control-hiders-disablers/can-disable.js +2 -2
  89. package/esm2015/form-entry/control-hiders-disablers/can-hide.js +2 -2
  90. package/esm2015/form-entry/control-hiders-disablers/disabler-helper.js +2 -1
  91. package/esm2015/form-entry/control-hiders-disablers/hider-helpers.js +2 -1
  92. package/esm2015/form-entry/data-sources/data-sources.js +5 -3
  93. package/esm2015/form-entry/data-sources/dummy-data-source.js +2 -1
  94. package/esm2015/form-entry/directives/historical-value-directive.js +4 -2
  95. package/esm2015/form-entry/error-renderer/error-renderer.component.js +20 -4
  96. package/esm2015/form-entry/expression-runner/expression-runner.js +13 -16
  97. package/esm2015/form-entry/form-entry.module.js +29 -25
  98. package/esm2015/form-entry/form-factory/control-relations.factory.js +4 -2
  99. package/esm2015/form-entry/form-factory/form-control.service.js +4 -2
  100. package/esm2015/form-entry/form-factory/form-node.js +2 -4
  101. package/esm2015/form-entry/form-factory/form.factory.js +4 -2
  102. package/esm2015/form-entry/form-factory/form.js +2 -1
  103. package/esm2015/form-entry/form-factory/hiders-disablers.factory.js +4 -2
  104. package/esm2015/form-entry/form-factory/question.factory.js +158 -23
  105. package/esm2015/form-entry/form-factory/show-messages.factory.js +4 -2
  106. package/esm2015/form-entry/form-factory/validation.factory.js +4 -2
  107. package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +8 -12
  108. package/esm2015/form-entry/form-renderer/form-renderer.component.js +458 -9
  109. package/esm2015/form-entry/helpers/historical-expression-helper-service.js +4 -2
  110. package/esm2015/form-entry/helpers/historical-field-helper-service.js +2 -5
  111. package/esm2015/form-entry/helpers/js-expression-helper.js +2 -5
  112. package/esm2015/form-entry/question-models/checkbox.model.js +2 -1
  113. package/esm2015/form-entry/question-models/conditional-validation.model.js +2 -1
  114. package/esm2015/form-entry/question-models/date-question.js +3 -1
  115. package/esm2015/form-entry/question-models/date-validation.model.js +2 -1
  116. package/esm2015/form-entry/question-models/decimal-point-validation.model.js +20 -0
  117. package/esm2015/form-entry/question-models/file-upload-question.js +2 -1
  118. package/esm2015/form-entry/question-models/group-question.js +2 -1
  119. package/esm2015/form-entry/question-models/interfaces/base-options.js +2 -2
  120. package/esm2015/form-entry/question-models/interfaces/checkbox-options.js +2 -2
  121. package/esm2015/form-entry/question-models/interfaces/data-source.js +2 -2
  122. package/esm2015/form-entry/question-models/interfaces/date-question-options.js +2 -2
  123. package/esm2015/form-entry/question-models/interfaces/file-upload-question-options.js +2 -2
  124. package/esm2015/form-entry/question-models/interfaces/group-question-options.js +2 -2
  125. package/esm2015/form-entry/question-models/interfaces/multi-select-options.js +2 -2
  126. package/esm2015/form-entry/question-models/interfaces/nested-questions.js +2 -1
  127. package/esm2015/form-entry/question-models/interfaces/repeating-question-options.js +2 -2
  128. package/esm2015/form-entry/question-models/interfaces/select-option.js +2 -2
  129. package/esm2015/form-entry/question-models/interfaces/select-question-options.js +2 -2
  130. package/esm2015/form-entry/question-models/interfaces/test-order-question-options.js +2 -2
  131. package/esm2015/form-entry/question-models/interfaces/text-area-question-options.js +2 -2
  132. package/esm2015/form-entry/question-models/interfaces/text-question-options.js +2 -2
  133. package/esm2015/form-entry/question-models/interfaces/time-question-options.js +2 -0
  134. package/esm2015/form-entry/question-models/interfaces/ui-select-question-options.js +2 -2
  135. package/esm2015/form-entry/question-models/js-expression-validation.model.js +2 -1
  136. package/esm2015/form-entry/question-models/max-validation.model.js +2 -1
  137. package/esm2015/form-entry/question-models/min-validation.model.js +2 -1
  138. package/esm2015/form-entry/question-models/models.js +2 -1
  139. package/esm2015/form-entry/question-models/multi-select-question.js +2 -1
  140. package/esm2015/form-entry/question-models/pair.model.js +2 -1
  141. package/esm2015/form-entry/question-models/question-base.js +2 -1
  142. package/esm2015/form-entry/question-models/rendering-type.js +2 -1
  143. package/esm2015/form-entry/question-models/repeating-question.js +2 -1
  144. package/esm2015/form-entry/question-models/select-option.js +2 -1
  145. package/esm2015/form-entry/question-models/select-question.js +2 -1
  146. package/esm2015/form-entry/question-models/test-order-question.js +2 -1
  147. package/esm2015/form-entry/question-models/text-area-input-question.js +2 -1
  148. package/esm2015/form-entry/question-models/text-input-question.js +2 -1
  149. package/esm2015/form-entry/question-models/time-question.js +11 -0
  150. package/esm2015/form-entry/question-models/ui-select-question.js +2 -1
  151. package/esm2015/form-entry/question-models/validation.model.js +2 -1
  152. package/esm2015/form-entry/services/debug-mode.service.js +4 -2
  153. package/esm2015/form-entry/services/form-errors.service.js +3 -2
  154. package/esm2015/form-entry/services/form-schema-compiler.service.js +4 -2
  155. package/esm2015/form-entry/services/historical-encounter-data.service.js +4 -2
  156. package/esm2015/form-entry/utils/messages.js +2 -1
  157. package/esm2015/form-entry/validators/conditional-answered.validator.js +2 -1
  158. package/esm2015/form-entry/validators/conditional-required.validator.js +2 -1
  159. package/esm2015/form-entry/validators/date.validator.js +2 -1
  160. package/esm2015/form-entry/validators/future-date-restriction.validator.js +2 -1
  161. package/esm2015/form-entry/validators/js-expression.validator.js +2 -1
  162. package/esm2015/form-entry/validators/max-date.validator.js +2 -1
  163. package/esm2015/form-entry/validators/max.validator.js +2 -1
  164. package/esm2015/form-entry/validators/min-date.validator.js +2 -1
  165. package/esm2015/form-entry/validators/min.validator.js +2 -1
  166. package/esm2015/form-entry/validators/required.validator.js +2 -1
  167. package/esm2015/form-entry/validators/validations.js +2 -1
  168. package/esm2015/form-entry/value-adapters/encounter.adapter.js +5 -3
  169. package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +5 -11
  170. package/esm2015/form-entry/value-adapters/obs.adapter.js +5 -6
  171. package/esm2015/form-entry/value-adapters/order.adapter.js +3 -2
  172. package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +8 -3
  173. package/esm2015/form-entry/value-adapters/value.adapter.js +2 -2
  174. package/esm2015/public_api.js +52 -2
  175. package/esm2015/shared.module.js +3 -2
  176. package/esm5/abstract-controls-extension/afe-control-type.js +9 -0
  177. package/esm5/abstract-controls-extension/afe-form-array.js +99 -0
  178. package/esm5/abstract-controls-extension/afe-form-control.js +97 -0
  179. package/esm5/abstract-controls-extension/afe-form-group.js +71 -0
  180. package/esm5/abstract-controls-extension/control-extensions.js +6 -0
  181. package/esm5/abstract-controls-extension/index.js +6 -0
  182. package/esm5/abstract-controls-extension/value-change.listener.js +2 -0
  183. package/esm5/ampath-kenya-ngx-openmrs-formentry.js +45 -0
  184. package/esm5/change-tracking/control-relation.js +60 -0
  185. package/esm5/change-tracking/control-relations.js +47 -0
  186. package/esm5/components/afe-ng-select.component.js +88 -0
  187. package/esm5/components/appointments-overview/appointments-overview.component.js +127 -0
  188. package/esm5/components/check-box/checkbox.component.js +89 -0
  189. package/esm5/components/check-box/checkbox.module.js +19 -0
  190. package/esm5/components/date-time-picker/date-picker/date-picker.component.js +188 -0
  191. package/esm5/components/date-time-picker/date-time-picker.component.js +113 -0
  192. package/esm5/components/date-time-picker/date-time-picker.module.js +39 -0
  193. package/esm5/components/date-time-picker/picker-modal/modal.component.js +34 -0
  194. package/esm5/components/date-time-picker/pipes/moment.pipe.js +18 -0
  195. package/esm5/components/date-time-picker/time-picker/time-picker.component.js +119 -0
  196. package/esm5/components/file-upload/file-upload.component.js +128 -0
  197. package/esm5/components/file-upload/file-upload.module.js +32 -0
  198. package/esm5/components/file-upload/secure.pipe.js +107 -0
  199. package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.component.js +221 -0
  200. package/esm5/components/ngx-date-time-picker/ngx-date-time-picker.module.js +47 -0
  201. package/esm5/components/ngx-time-picker/ngx-time-picker.component.js +74 -0
  202. package/esm5/components/ngx-time-picker/ngx-time-picker.module.js +20 -0
  203. package/esm5/components/remote-select/remote-select.component.js +165 -0
  204. package/esm5/components/remote-select/remote-select.module.js +22 -0
  205. package/esm5/components/select/diacritics.js +861 -0
  206. package/esm5/components/select/option-list.js +225 -0
  207. package/esm5/components/select/option.js +32 -0
  208. package/esm5/components/select/select-dropdown.component.js +132 -0
  209. package/esm5/components/select/select-dropdown.component.style.js +3 -0
  210. package/esm5/components/select/select.component.js +457 -0
  211. package/esm5/components/select/select.component.style.js +3 -0
  212. package/esm5/components/select/select.module.js +20 -0
  213. package/esm5/encounter-viewer/display-controls/file-preview.component.js +111 -0
  214. package/esm5/encounter-viewer/display-controls/question-control.component.js +106 -0
  215. package/esm5/encounter-viewer/display-controls/remote-answer.component.js +88 -0
  216. package/esm5/encounter-viewer/encounter-container/encounter-container.component.js +47 -0
  217. package/esm5/encounter-viewer/encounter-pdf-viewer.service.js +523 -0
  218. package/esm5/encounter-viewer/encounter-view/encounter-viewer.component.js +187 -0
  219. package/esm5/encounter-viewer/encounter-viewer.module.js +40 -0
  220. package/esm5/encounter-viewer/encounter-viewer.service.js +167 -0
  221. package/esm5/form-entry/control-alerts/alert-helpers.js +45 -0
  222. package/esm5/form-entry/control-alerts/can-generate-alert.js +2 -0
  223. package/esm5/form-entry/control-calculators/can-calculate.js +2 -0
  224. package/esm5/form-entry/control-hiders-disablers/can-disable.js +2 -0
  225. package/esm5/form-entry/control-hiders-disablers/can-hide.js +2 -0
  226. package/esm5/form-entry/control-hiders-disablers/disabler-helper.js +38 -0
  227. package/esm5/form-entry/control-hiders-disablers/hider-helpers.js +45 -0
  228. package/esm5/form-entry/data-sources/data-sources.js +39 -0
  229. package/esm5/form-entry/data-sources/dummy-data-source.js +107 -0
  230. package/esm5/form-entry/directives/historical-value-directive.js +74 -0
  231. package/esm5/form-entry/error-renderer/error-renderer.component.js +64 -0
  232. package/esm5/form-entry/expression-runner/expression-runner.js +159 -0
  233. package/esm5/form-entry/form-entry.module.js +111 -0
  234. package/esm5/form-entry/form-factory/control-relations.factory.js +245 -0
  235. package/esm5/form-entry/form-factory/form-control.service.js +122 -0
  236. package/esm5/form-entry/form-factory/form-node.js +117 -0
  237. package/esm5/form-entry/form-factory/form.factory.js +138 -0
  238. package/esm5/form-entry/form-factory/form.js +214 -0
  239. package/esm5/form-entry/form-factory/hiders-disablers.factory.js +70 -0
  240. package/esm5/form-entry/form-factory/question.factory.js +980 -0
  241. package/esm5/form-entry/form-factory/show-messages.factory.js +34 -0
  242. package/esm5/form-entry/form-factory/validation.factory.js +191 -0
  243. package/esm5/form-entry/form-renderer/form-renderer.component.css.js +3 -0
  244. package/esm5/form-entry/form-renderer/form-renderer.component.js +219 -0
  245. package/esm5/form-entry/helpers/historical-expression-helper-service.js +43 -0
  246. package/esm5/form-entry/helpers/historical-field-helper-service.js +37 -0
  247. package/esm5/form-entry/helpers/js-expression-helper.js +243 -0
  248. package/esm5/form-entry/question-models/checkbox.model.js +17 -0
  249. package/esm5/form-entry/question-models/conditional-validation.model.js +15 -0
  250. package/esm5/form-entry/question-models/date-question.js +19 -0
  251. package/esm5/form-entry/question-models/date-validation.model.js +16 -0
  252. package/esm5/form-entry/question-models/decimal-point-validation.model.js +22 -0
  253. package/esm5/form-entry/question-models/file-upload-question.js +19 -0
  254. package/esm5/form-entry/question-models/group-question.js +18 -0
  255. package/esm5/form-entry/question-models/interfaces/base-options.js +2 -0
  256. package/esm5/form-entry/question-models/interfaces/checkbox-options.js +2 -0
  257. package/esm5/form-entry/question-models/interfaces/data-source.js +2 -0
  258. package/esm5/form-entry/question-models/interfaces/date-question-options.js +2 -0
  259. package/esm5/form-entry/question-models/interfaces/file-upload-question-options.js +2 -0
  260. package/esm5/form-entry/question-models/interfaces/group-question-options.js +2 -0
  261. package/esm5/form-entry/question-models/interfaces/multi-select-options.js +2 -0
  262. package/esm5/form-entry/question-models/interfaces/nested-questions.js +12 -0
  263. package/esm5/form-entry/question-models/interfaces/repeating-question-options.js +2 -0
  264. package/esm5/form-entry/question-models/interfaces/select-option.js +2 -0
  265. package/esm5/form-entry/question-models/interfaces/select-question-options.js +2 -0
  266. package/esm5/form-entry/question-models/interfaces/test-order-question-options.js +2 -0
  267. package/esm5/form-entry/question-models/interfaces/text-area-question-options.js +2 -0
  268. package/esm5/form-entry/question-models/interfaces/text-question-options.js +2 -0
  269. package/esm5/form-entry/question-models/interfaces/time-question-options.js +2 -0
  270. package/esm5/form-entry/question-models/interfaces/ui-select-question-options.js +2 -0
  271. package/esm5/form-entry/question-models/js-expression-validation.model.js +14 -0
  272. package/esm5/form-entry/question-models/max-validation.model.js +15 -0
  273. package/esm5/form-entry/question-models/min-validation.model.js +15 -0
  274. package/esm5/form-entry/question-models/models.js +13 -0
  275. package/esm5/form-entry/question-models/multi-select-question.js +17 -0
  276. package/esm5/form-entry/question-models/pair.model.js +10 -0
  277. package/esm5/form-entry/question-models/question-base.js +27 -0
  278. package/esm5/form-entry/question-models/rendering-type.js +10 -0
  279. package/esm5/form-entry/question-models/repeating-question.js +17 -0
  280. package/esm5/form-entry/question-models/select-option.js +10 -0
  281. package/esm5/form-entry/question-models/select-question.js +18 -0
  282. package/esm5/form-entry/question-models/test-order-question.js +21 -0
  283. package/esm5/form-entry/question-models/text-area-input-question.js +19 -0
  284. package/esm5/form-entry/question-models/text-input-question.js +16 -0
  285. package/esm5/form-entry/question-models/time-question.js +16 -0
  286. package/esm5/form-entry/question-models/ui-select-question.js +17 -0
  287. package/esm5/form-entry/question-models/validation.model.js +10 -0
  288. package/esm5/form-entry/services/debug-mode.service.js +26 -0
  289. package/esm5/form-entry/services/form-errors.service.js +21 -0
  290. package/esm5/form-entry/services/form-schema-compiler.service.js +254 -0
  291. package/esm5/form-entry/services/historical-encounter-data.service.js +180 -0
  292. package/esm5/form-entry/utils/messages.js +17 -0
  293. package/esm5/form-entry/validators/conditional-answered.validator.js +50 -0
  294. package/esm5/form-entry/validators/conditional-required.validator.js +44 -0
  295. package/esm5/form-entry/validators/date.validator.js +22 -0
  296. package/esm5/form-entry/validators/future-date-restriction.validator.js +25 -0
  297. package/esm5/form-entry/validators/js-expression.validator.js +30 -0
  298. package/esm5/form-entry/validators/max-date.validator.js +28 -0
  299. package/esm5/form-entry/validators/max.validator.js +22 -0
  300. package/esm5/form-entry/validators/min-date.validator.js +28 -0
  301. package/esm5/form-entry/validators/min.validator.js +22 -0
  302. package/esm5/form-entry/validators/required.validator.js +16 -0
  303. package/esm5/form-entry/validators/validations.js +9 -0
  304. package/esm5/form-entry/value-adapters/encounter.adapter.js +178 -0
  305. package/esm5/form-entry/value-adapters/obs-adapter-helper.js +509 -0
  306. package/esm5/form-entry/value-adapters/obs.adapter.js +737 -0
  307. package/esm5/form-entry/value-adapters/order.adapter.js +227 -0
  308. package/esm5/form-entry/value-adapters/person-attribute.adapter.js +96 -0
  309. package/esm5/form-entry/value-adapters/value.adapter.js +2 -0
  310. package/esm5/public_api.js +52 -0
  311. package/esm5/shared.module.js +20 -0
  312. package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js +5093 -6889
  313. package/fesm2015/ampath-kenya-ngx-openmrs-formentry.js.map +1 -1
  314. package/fesm5/ampath-kenya-ngx-openmrs-formentry.js +10737 -0
  315. package/fesm5/ampath-kenya-ngx-openmrs-formentry.js.map +1 -0
  316. package/form-entry/data-sources/data-sources.d.ts +1 -1
  317. package/form-entry/directives/historical-value-directive.d.ts +2 -2
  318. package/form-entry/error-renderer/error-renderer.component.d.ts +1 -1
  319. package/form-entry/expression-runner/expression-runner.d.ts +6 -6
  320. package/form-entry/form-factory/form-control.service.d.ts +3 -3
  321. package/form-entry/form-factory/form-node.d.ts +9 -10
  322. package/form-entry/form-factory/form.d.ts +6 -7
  323. package/form-entry/form-factory/question.factory.d.ts +7 -1
  324. package/form-entry/form-factory/validation.factory.d.ts +10 -10
  325. package/form-entry/form-renderer/form-renderer.component.css.d.ts +1 -1
  326. package/form-entry/form-renderer/form-renderer.component.d.ts +4 -6
  327. package/form-entry/helpers/js-expression-helper.d.ts +1 -1
  328. package/form-entry/question-models/date-question.d.ts +2 -0
  329. package/form-entry/question-models/decimal-point-validation.model.d.ts +10 -0
  330. package/form-entry/question-models/interfaces/base-options.d.ts +1 -0
  331. package/form-entry/question-models/interfaces/time-question-options.d.ts +3 -0
  332. package/form-entry/question-models/question-base.d.ts +4 -0
  333. package/form-entry/question-models/rendering-type.d.ts +1 -1
  334. package/form-entry/question-models/time-question.d.ts +5 -0
  335. package/form-entry/services/form-errors.service.d.ts +2 -1
  336. package/form-entry/services/form-schema-compiler.service.d.ts +16 -16
  337. package/form-entry/services/historical-encounter-data.service.d.ts +3 -3
  338. package/form-entry/utils/messages.d.ts +9 -9
  339. package/form-entry/value-adapters/encounter.adapter.d.ts +2 -2
  340. package/form-entry/value-adapters/order.adapter.d.ts +9 -9
  341. package/form-entry/value-adapters/person-attribute.adapter.d.ts +1 -1
  342. package/package.json +18 -16
  343. package/public_api.d.ts +50 -1
  344. package/components/input/input.directive.d.ts +0 -28
  345. package/components/input/input.module.d.ts +0 -2
  346. package/components/input/label.component.d.ts +0 -87
  347. package/components/input/text-area.directive.d.ts +0 -21
  348. package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +0 -13
  349. package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.d.ts +0 -189
  350. package/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.d.ts +0 -15
  351. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.d.ts +0 -73
  352. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.d.ts +0 -5
  353. package/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.d.ts +0 -7
  354. package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +0 -77
  355. package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +0 -139
  356. package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +0 -109
  357. package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +0 -120
  358. package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +0 -141
  359. package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +0 -90
  360. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +0 -122
  361. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +0 -152
  362. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.d.ts +0 -51
  363. package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +0 -21
  364. package/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.d.ts +0 -8
  365. package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +0 -157
  366. package/components/ngx-pick-datetime/lib/date-time/date-time.class.d.ts +0 -86
  367. package/components/ngx-pick-datetime/lib/date-time/date-time.module.d.ts +0 -5
  368. package/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.d.ts +0 -7
  369. package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +0 -35
  370. package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +0 -129
  371. package/components/ngx-pick-datetime/lib/dialog/dialog-config.class.d.ts +0 -93
  372. package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +0 -56
  373. package/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.d.ts +0 -49
  374. package/components/ngx-pick-datetime/lib/dialog/dialog.module.d.ts +0 -5
  375. package/components/ngx-pick-datetime/lib/dialog/dialog.service.d.ts +0 -70
  376. package/components/ngx-pick-datetime/lib/utils/index.d.ts +0 -4
  377. package/components/ngx-pick-datetime/lib/utils/object.utils.d.ts +0 -11
  378. package/components/ngx-remote-select/ngx-remote-select.module.d.ts +0 -2
  379. package/components/ngx-tabset/components/tab-set.d.ts +0 -15
  380. package/components/ngx-tabset/components/tab.d.ts +0 -10
  381. package/components/ngx-tabset/directives/hover-class.directive.d.ts +0 -8
  382. package/components/ngx-tabset/modules/ngx-tabset.module.d.ts +0 -11
  383. package/components/number-input/number-input.component.d.ts +0 -148
  384. package/components/number-input/number-input.module.d.ts +0 -2
  385. package/components/select/optgroup.directive.d.ts +0 -3
  386. package/components/select/option.directive.d.ts +0 -3
  387. package/esm2015/components/input/input.directive.js +0 -55
  388. package/esm2015/components/input/input.module.js +0 -29
  389. package/esm2015/components/input/label.component.js +0 -139
  390. package/esm2015/components/input/text-area.directive.js +0 -40
  391. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +0 -52
  392. package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +0 -28
  393. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-adapter.class.js +0 -115
  394. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/date-time-format.class.js +0 -7
  395. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-adapter.class.js +0 -346
  396. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time-format.class.js +0 -10
  397. package/esm2015/components/ngx-pick-datetime/lib/date-time/adapter/native-date-time.module.js +0 -30
  398. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +0 -149
  399. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +0 -432
  400. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +0 -353
  401. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +0 -362
  402. package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +0 -337
  403. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +0 -252
  404. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +0 -379
  405. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +0 -601
  406. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-intl.service.js +0 -60
  407. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +0 -69
  408. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.animations.js +0 -21
  409. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +0 -515
  410. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js +0 -154
  411. package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.module.js +0 -63
  412. package/esm2015/components/ngx-pick-datetime/lib/date-time/numberedFixLen.pipe.js +0 -24
  413. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +0 -83
  414. package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +0 -293
  415. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-config.class.js +0 -56
  416. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +0 -208
  417. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-ref.class.js +0 -113
  418. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.module.js +0 -29
  419. package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog.service.js +0 -228
  420. package/esm2015/components/ngx-pick-datetime/lib/utils/index.js +0 -5
  421. package/esm2015/components/ngx-pick-datetime/lib/utils/object.utils.js +0 -26
  422. package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +0 -119
  423. package/esm2015/components/ngx-remote-select/ngx-remote-select.module.js +0 -18
  424. package/esm2015/components/ngx-tabset/components/tab-set.js +0 -67
  425. package/esm2015/components/ngx-tabset/components/tab.js +0 -38
  426. package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +0 -26
  427. package/esm2015/components/ngx-tabset/modules/ngx-tabset.module.js +0 -40
  428. package/esm2015/components/number-input/number-input.component.js +0 -203
  429. package/esm2015/components/number-input/number-input.module.js +0 -15
  430. package/esm2015/components/select/optgroup.directive.js +0 -17
  431. package/esm2015/components/select/option.directive.js +0 -17
  432. package/esm2015/form-entry/directives/collapse-animations.js +0 -11
  433. package/esm2015/form-entry/directives/collapse.directive.js +0 -157
  434. package/esm2015/form-entry/pipes/time-ago.pipe.js +0 -107
  435. package/esm2015/lib/index.js +0 -49
  436. package/form-entry/directives/collapse-animations.d.ts +0 -4
  437. package/form-entry/directives/collapse.directive.d.ts +0 -42
  438. package/form-entry/pipes/time-ago.pipe.d.ts +0 -11
  439. package/lib/index.d.ts +0 -49
  440. package/styles/ngx-formentry.css +0 -317
  441. package/styles/picker.min.css +0 -1
@@ -0,0 +1,113 @@
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
+ var Moment = moment_;
5
+ var DateTimePickerComponent = /** @class */ (function () {
6
+ function DateTimePickerComponent() {
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 = function () { };
15
+ this.onTouched = function () { };
16
+ }
17
+ DateTimePickerComponent.prototype.ngOnInit = function () { };
18
+ DateTimePickerComponent.prototype.weeksSelected = function (count) {
19
+ var now = new Date();
20
+ var nextDate = now.setDate(now.getDate() + count * 7);
21
+ this.value = Moment(nextDate).format();
22
+ };
23
+ DateTimePickerComponent.prototype.setDate = function (date) {
24
+ if (date && date !== '') {
25
+ this.value = Moment(date).format();
26
+ }
27
+ else {
28
+ this.value = date;
29
+ }
30
+ };
31
+ DateTimePickerComponent.prototype.setTime = function (time) {
32
+ if (time && time !== '') {
33
+ this.value = Moment(time).format();
34
+ }
35
+ else {
36
+ this.value = time;
37
+ }
38
+ return;
39
+ };
40
+ DateTimePickerComponent.prototype.toggleDatePicker = function (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
+ DateTimePickerComponent.prototype.toggleTimePicker = function (status) {
55
+ this.showTimePicker = status;
56
+ return;
57
+ };
58
+ Object.defineProperty(DateTimePickerComponent.prototype, "value", {
59
+ get: function () {
60
+ return this.modelValue;
61
+ },
62
+ set: function (val) {
63
+ this.modelValue = val;
64
+ this.onDateChange.emit(val);
65
+ this.onChange(val);
66
+ this.onTouched();
67
+ },
68
+ enumerable: true,
69
+ configurable: true
70
+ });
71
+ DateTimePickerComponent.prototype.registerOnChange = function (fn) {
72
+ this.onChange = fn;
73
+ };
74
+ DateTimePickerComponent.prototype.registerOnTouched = function (fn) {
75
+ this.onTouched = fn;
76
+ };
77
+ DateTimePickerComponent.prototype.writeValue = function (value) {
78
+ if (value instanceof Date) {
79
+ this.value = Moment(value).format();
80
+ }
81
+ else {
82
+ this.value = value;
83
+ }
84
+ };
85
+ DateTimePickerComponent.decorators = [
86
+ { type: Component, args: [{
87
+ selector: 'date-time-picker',
88
+ template: "<div class=\"row\">\n <div *ngIf=\"!showTime\" class=\"col-xs-12 col-md-12\">\n <input\n *ngIf=\"!showWeeks\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div *ngIf=\"showWeeks\" class=\"input-group\">\n <input\n type=\"text\"\n class=\"form-control\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n Weeks <span class=\"caret\"></span>\n </button>\n <ul class=\"dropdown-menu up\">\n <li (click)=\"weeksSelected(count)\" *ngFor=\"let count of weeks\">\n <span> {{ count }} Weeks</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"col-xs-8 col-md-8\">\n <input\n *ngIf=\"!showWeeks\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div *ngIf=\"showWeeks\" class=\"input-group\">\n <input\n type=\"text\"\n class=\"form-control\"\n class=\"form-control\"\n [value]=\"value | date: 'mediumDate'\"\n (focus)=\"toggleDatePicker(true)\"\n readonly\n placeholder=\"Select Date\"\n />\n <div class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-default dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n >\n Weeks <span class=\"caret\"></span>\n </button>\n <ul class=\"dropdown-menu up\">\n <li (click)=\"weeksSelected(count)\" *ngFor=\"let count of weeks\">\n <span> {{ count }} Weeks</span>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div *ngIf=\"showTime\" class=\"col-xs-4 col-md-4\">\n <input\n type=\"text\"\n class=\"form-control\"\n [value]=\"value | date: 'shortTime'\"\n (focus)=\"toggleTimePicker(true)\"\n readonly\n placeholder=\"Select Time\"\n />\n </div>\n</div>\n<date-picker\n *ngIf=\"showDatePicker\"\n [initDate]=\"value\"\n (onSelectDate)=\"setDate($event)\"\n (onDatePickerCancel)=\"toggleDatePicker($event)\"\n></date-picker>\n\n<time-picker\n *ngIf=\"showTimePicker\"\n [initTime]=\"value\"\n [use12Hour]=\"true\"\n (onSelectTime)=\"setTime($event)\"\n (onTimePickerCancel)=\"toggleTimePicker($event)\"\n></time-picker>\n",
89
+ styles: ["input[readonly]{background-color:#fff}.up{bottom:100%!important;top:auto!important}.glyphicon{top:1px}"],
90
+ providers: [
91
+ {
92
+ provide: NG_VALUE_ACCESSOR,
93
+ useExisting: forwardRef(function () { return DateTimePickerComponent; }),
94
+ multi: true
95
+ }
96
+ ]
97
+ },] },
98
+ ];
99
+ /** @nocollapse */
100
+ DateTimePickerComponent.ctorParameters = function () { return []; };
101
+ DateTimePickerComponent.propDecorators = {
102
+ modelValue: [{ type: Input }],
103
+ showDate: [{ type: Input }],
104
+ showTime: [{ type: Input }],
105
+ showWeeks: [{ type: Input }],
106
+ weeks: [{ type: Input }],
107
+ onDateChange: [{ type: Output }]
108
+ };
109
+ return DateTimePickerComponent;
110
+ }());
111
+ export { DateTimePickerComponent };
112
+
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFFbEMsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBRXZCO0lBOEhFO1FBVlMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsVUFBSyxHQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzlCLGFBQVEsR0FBUSxjQUFPLENBQUMsQ0FBQztRQUN6QixjQUFTLEdBQVEsY0FBTyxDQUFDLENBQUM7SUFFWCxDQUFDO0lBRWhCLDBDQUFRLEdBQVIsY0FBWSxDQUFDO0lBRWIsK0NBQWEsR0FBYixVQUFjLEtBQUs7UUFDakIsSUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUs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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIGZvcndhcmRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuXG5jb25zdCBNb21lbnQgPSBtb21lbnRfO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRlLXRpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgKm5nSWY9XCIhc2hvd1RpbWVcIiBjbGFzcz1cImNvbC14cy0xMiBjb2wtbWQtMTJcIj5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwiIXNob3dXZWVrc1wiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiAnbWVkaXVtRGF0ZSdcIlxuICAgICAgKGZvY3VzKT1cInRvZ2dsZURhdGVQaWNrZXIodHJ1ZSlcIlxuICAgICAgcmVhZG9ubHlcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERhdGVcIlxuICAgIC8+XG4gICAgPGRpdiAqbmdJZj1cInNob3dXZWVrc1wiIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiAnbWVkaXVtRGF0ZSdcIlxuICAgICAgICAoZm9jdXMpPVwidG9nZ2xlRGF0ZVBpY2tlcih0cnVlKVwiXG4gICAgICAgIHJlYWRvbmx5XG4gICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERhdGVcIlxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGRyb3Bkb3duLXRvZ2dsZVwiXG4gICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICBXZWVrcyA8c3BhbiBjbGFzcz1cImNhcmV0XCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSB1cFwiPlxuICAgICAgICAgIDxsaSAoY2xpY2spPVwid2Vla3NTZWxlY3RlZChjb3VudClcIiAqbmdGb3I9XCJsZXQgY291bnQgb2Ygd2Vla3NcIj5cbiAgICAgICAgICAgIDxzcGFuPiB7eyBjb3VudCB9fSBXZWVrczwvc3Bhbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwic2hvd1RpbWVcIiBjbGFzcz1cImNvbC14cy04IGNvbC1tZC04XCI+XG4gICAgPGlucHV0XG4gICAgICAqbmdJZj1cIiFzaG93V2Vla3NcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlIHwgZGF0ZTogJ21lZGl1bURhdGUnXCJcbiAgICAgIChmb2N1cyk9XCJ0b2dnbGVEYXRlUGlja2VyKHRydWUpXCJcbiAgICAgIHJlYWRvbmx5XG4gICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBEYXRlXCJcbiAgICAvPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93V2Vla3NcIiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlIHwgZGF0ZTogJ21lZGl1bURhdGUnXCJcbiAgICAgICAgKGZvY3VzKT1cInRvZ2dsZURhdGVQaWNrZXIodHJ1ZSlcIlxuICAgICAgICByZWFkb25seVxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBEYXRlXCJcbiAgICAgIC8+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBkcm9wZG93bi10b2dnbGVcIlxuICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgV2Vla3MgPHNwYW4gY2xhc3M9XCJjYXJldFwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgdXBcIj5cbiAgICAgICAgICA8bGkgKGNsaWNrKT1cIndlZWtzU2VsZWN0ZWQoY291bnQpXCIgKm5nRm9yPVwibGV0IGNvdW50IG9mIHdlZWtzXCI+XG4gICAgICAgICAgICA8c3Bhbj4ge3sgY291bnQgfX0gV2Vla3M8L3NwYW4+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInNob3dUaW1lXCIgY2xhc3M9XCJjb2wteHMtNCBjb2wtbWQtNFwiPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgW3ZhbHVlXT1cInZhbHVlIHwgZGF0ZTogJ3Nob3J0VGltZSdcIlxuICAgICAgKGZvY3VzKT1cInRvZ2dsZVRpbWVQaWNrZXIodHJ1ZSlcIlxuICAgICAgcmVhZG9ubHlcbiAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFRpbWVcIlxuICAgIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGF0ZS1waWNrZXJcbiAgKm5nSWY9XCJzaG93RGF0ZVBpY2tlclwiXG4gIFtpbml0RGF0ZV09XCJ2YWx1ZVwiXG4gIChvblNlbGVjdERhdGUpPVwic2V0RGF0ZSgkZXZlbnQpXCJcbiAgKG9uRGF0ZVBpY2tlckNhbmNlbCk9XCJ0b2dnbGVEYXRlUGlja2VyKCRldmVudClcIlxuPjwvZGF0ZS1waWNrZXI+XG5cbjx0aW1lLXBpY2tlclxuICAqbmdJZj1cInNob3dUaW1lUGlja2VyXCJcbiAgW2luaXRUaW1lXT1cInZhbHVlXCJcbiAgW3VzZTEySG91cl09XCJ0cnVlXCJcbiAgKG9uU2VsZWN0VGltZSk9XCJzZXRUaW1lKCRldmVudClcIlxuICAob25UaW1lUGlja2VyQ2FuY2VsKT1cInRvZ2dsZVRpbWVQaWNrZXIoJGV2ZW50KVwiXG4+PC90aW1lLXBpY2tlcj5cbmAsXG4gIHN0eWxlczogW2BpbnB1dFtyZWFkb25seV17YmFja2dyb3VuZC1jb2xvcjojZmZmfS51cHtib3R0b206MTAwJSFpbXBvcnRhbnQ7dG9wOmF1dG8haW1wb3J0YW50fS5nbHlwaGljb257dG9wOjFweH1gXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBtb2RlbFZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIHNob3dEYXRlID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1RpbWUgPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1dlZWtzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdlZWtzOiBudW1iZXJbXSA9IFsyLCA0LCA2LCA4LCAxMiwgMTYsIDI0XTtcbiAgQE91dHB1dCgpIG9uRGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwdWJsaWMgc2hvd0RhdGVQaWNrZXIgPSBmYWxzZTtcbiAgcHVibGljIHNob3dUaW1lUGlja2VyID0gZmFsc2U7XG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIHdlZWtzU2VsZWN0ZWQoY291bnQpIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IG5leHREYXRlID0gbm93LnNldERhdGUobm93LmdldERhdGUoKSArIGNvdW50ICogNyk7XG4gICAgdGhpcy52YWx1ZSA9IE1vbWVudChuZXh0RGF0ZSkuZm9ybWF0KCk7XG4gIH1cbiAgc2V0RGF0ZShkYXRlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZGF0ZSAmJiBkYXRlICE9PSAnJykge1xuICAgICAgdGhpcy52YWx1ZSA9IE1vbWVudChkYXRlKS5mb3JtYXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IGRhdGU7XG4gICAgfVxuICB9XG5cbiAgc2V0VGltZSh0aW1lOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGltZSAmJiB0aW1lICE9PSAnJykge1xuICAgICAgdGhpcy52YWx1ZSA9IE1vbWVudCh0aW1lKS5mb3JtYXQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRpbWU7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHRvZ2dsZURhdGVQaWNrZXIoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5zaG93RGF0ZVBpY2tlciA9IHN0YXR1cztcbiAgICAvKnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgIGxldCBfYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250ZW50LXdyYXBwZXInKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgICBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlY3Rpb24tbW9kYWwtbWFpbicpO1xuICAgICAgICBpZiAoZWxlbSkge1xuICAgICAgICAgIGxldCBlbGVtQm94ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICBpZiAoZWxlbUJveC5ib3R0b20gPiBfYm9keS5ib3R0b20pIHtcbiAgICAgICAgICAgIGVsZW0uc3R5bGUuYm90dG9tID0gJzM2cHgnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSwgMCk7Ki9cbiAgICByZXR1cm47XG4gIH1cblxuICB0b2dnbGVUaW1lUGlja2VyKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2hvd1RpbWVQaWNrZXIgPSBzdGF0dXM7XG4gICAgcmV0dXJuO1xuICB9XG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbFZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbCkge1xuICAgIHRoaXMubW9kZWxWYWx1ZSA9IHZhbDtcbiAgICB0aGlzLm9uRGF0ZUNoYW5nZS5lbWl0KHZhbCk7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm4pIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBNb21lbnQodmFsdWUpLmZvcm1hdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,39 @@
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
+ var DateTimePickerModule = /** @class */ (function () {
13
+ function DateTimePickerModule() {
14
+ }
15
+ DateTimePickerModule.decorators = [
16
+ { type: NgModule, args: [{
17
+ imports: [CommonModule, FormsModule],
18
+ declarations: [
19
+ DatePickerComponent,
20
+ TimePickerComponent,
21
+ ModalComponent,
22
+ MomentPipe,
23
+ DateTimePickerComponent
24
+ ],
25
+ exports: [
26
+ DatePickerComponent,
27
+ TimePickerComponent,
28
+ ModalComponent,
29
+ MomentPipe,
30
+ DateTimePickerComponent
31
+ ],
32
+ providers: []
33
+ },] },
34
+ ];
35
+ return DateTimePickerModule;
36
+ }());
37
+ export { DateTimePickerModule };
38
+
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXZFO0lBQUE7SUFrQm1DLENBQUM7O2dCQWxCbkMsUUFBUSxTQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7b0JBQ3BDLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxVQUFVO3dCQUNWLHVCQUF1QjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsdUJBQXVCO3FCQUN4QjtvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZDs7SUFDa0MsMkJBQUM7Q0FBQSxBQWxCcEMsSUFrQm9DO1NBQXZCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZGF0ZS10aW1lLXBpY2tlci5tb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyLW1vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb21lbnRQaXBlIH0gZnJvbSAnLi9waXBlcy9tb21lbnQucGlwZSc7XG5pbXBvcnQgeyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBNb2RhbENvbXBvbmVudCxcbiAgICBNb21lbnRQaXBlLFxuICAgIERhdGVUaW1lUGlja2VyQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIFRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgTW9kYWxDb21wb25lbnQsXG4gICAgTW9tZW50UGlwZSxcbiAgICBEYXRlVGltZVBpY2tlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,34 @@
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
+ var ModalComponent = /** @class */ (function () {
9
+ function ModalComponent() {
10
+ this.onOverlayClick = new EventEmitter();
11
+ }
12
+ ModalComponent.prototype.ngOnInit = function () { };
13
+ ModalComponent.prototype.closeModal = function () {
14
+ this.onOverlayClick.emit(false);
15
+ };
16
+ ModalComponent.decorators = [
17
+ { type: Component, args: [{
18
+ selector: 'picker-modal',
19
+ template: "<section class=\"x-modal\">\n <section class=\"modal-overlay\" (click)=\"closeModal()\"></section>\n <section class=\"modal-main\" id=\"section-modal-main\">\n <ng-content></ng-content>\n </section>\n</section>\n",
20
+ 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)}"],
21
+ changeDetection: ChangeDetectionStrategy.OnPush,
22
+ animations: []
23
+ },] },
24
+ ];
25
+ /** @nocollapse */
26
+ ModalComponent.ctorParameters = function () { return []; };
27
+ ModalComponent.propDecorators = {
28
+ onOverlayClick: [{ type: Output }]
29
+ };
30
+ return ModalComponent;
31
+ }());
32
+ export { ModalComponent };
33
+
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvcGlja2VyLW1vZGFsL21vZGFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUVOLFlBQVksRUFDWix1QkFBdUIsRUFDeEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsK0RBQStEO0FBQy9ELDZEQUE2RDtBQUM3RCxZQUFZO0FBRVo7SUFnQkU7UUFGVSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFeEMsQ0FBQztJQUVoQixpQ0FBUSxHQUFSLGNBQVksQ0FBQztJQUViLG1DQUFVLEdBQVY7UUFDRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDOztnQkF0QkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsNE5BTVg7b0JBQ0MsTUFBTSxFQUFFLENBQUMsbVRBQW1ULENBQUM7b0JBQzdULGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsRUFBRTtpQkFDZjs7Ozs7aUNBRUUsTUFBTTs7SUFTVCxxQkFBQztDQUFBLEFBdkJELElBdUJDO1NBVlksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogbW9kYWwuY29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPdXRwdXQsXG4gIE9uSW5pdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gd2VicGFjazFfXG5kZWNsYXJlIGxldCByZXF1aXJlOiBhbnk7XG4vLyBjb25zdCBteURwU3R5bGVzOiBzdHJpbmcgPSByZXF1aXJlKCcuL21vZGFsLmNvbXBvbmVudC5jc3MnKTtcbi8vIGNvbnN0IG15RHBUcGw6IHN0cmluZyA9IHJlcXVpcmUoJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnKTtcbi8vIHdlYnBhY2syX1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwaWNrZXItbW9kYWwnLFxuICB0ZW1wbGF0ZTogYDxzZWN0aW9uIGNsYXNzPVwieC1tb2RhbFwiPlxuICA8c2VjdGlvbiBjbGFzcz1cIm1vZGFsLW92ZXJsYXlcIiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+PC9zZWN0aW9uPlxuICA8c2VjdGlvbiBjbGFzcz1cIm1vZGFsLW1haW5cIiBpZD1cInNlY3Rpb24tbW9kYWwtbWFpblwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zZWN0aW9uPlxuPC9zZWN0aW9uPlxuYCxcbiAgc3R5bGVzOiBbYDpob3N0e3otaW5kZXg6OTk5OTk5OTk5OX0qLDo6YWZ0ZXIsOjpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94fS5tb2RhbC1tYWlue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTkuNiU7cmlnaHQ6YXV0bzt0b3A6YXV0bzt6LWluZGV4OjExMTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZDdkYWQ3O2JvcmRlci1yYWRpdXM6NnB4Oy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKTtib3gtc2hhZG93OjAgNXB4IDE1cHggcmdiYSgwLDAsMCwuMyl9YF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBvbk92ZXJsYXlDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGNsb3NlTW9kYWwoKSB7XG4gICAgdGhpcy5vbk92ZXJsYXlDbGljay5lbWl0KGZhbHNlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,18 @@
1
+ /**
2
+ * moment.pipe
3
+ */
4
+ import { Pipe } from '@angular/core';
5
+ var MomentPipe = /** @class */ (function () {
6
+ function MomentPipe() {
7
+ }
8
+ MomentPipe.prototype.transform = function (moment, format) {
9
+ return format ? moment.format(format) : moment.format('MMM DD, YYYY');
10
+ };
11
+ MomentPipe.decorators = [
12
+ { type: Pipe, args: [{ name: 'moment' },] },
13
+ ];
14
+ return MomentPipe;
15
+ }());
16
+ export { MomentPipe };
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9tZW50LnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW1wYXRoLWtlbnlhL25neC1vcGVubXJzLWZvcm1lbnRyeS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9waXBlcy9tb21lbnQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BEO0lBQUE7SUFLQSxDQUFDO0lBSEMsOEJBQVMsR0FBVCxVQUFVLE1BQWMsRUFBRSxNQUFlO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7Z0JBSkYsSUFBSSxTQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTs7SUFLeEIsaUJBQUM7Q0FBQSxBQUxELElBS0M7U0FKWSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBtb21lbnQucGlwZVxuICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudC9tb21lbnQnO1xuXG5AUGlwZSh7IG5hbWU6ICdtb21lbnQnIH0pXG5leHBvcnQgY2xhc3MgTW9tZW50UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0obW9tZW50OiBNb21lbnQsIGZvcm1hdD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvcm1hdCA/IG1vbWVudC5mb3JtYXQoZm9ybWF0KSA6IG1vbWVudC5mb3JtYXQoJ01NTSBERCwgWVlZWScpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,119 @@
1
+ /**
2
+ * time-picker.component
3
+ */
4
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
5
+ import * as moment_ from 'moment';
6
+ var moment = moment_;
7
+ // const myDpStyles: string = require('./time-picker.component.css');
8
+ // const myDpTpl: string = require('./time-picker.component.html');
9
+ // webpack2_
10
+ var TimePickerComponent = /** @class */ (function () {
11
+ function TimePickerComponent() {
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
+ TimePickerComponent.prototype.ngOnInit = function () {
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
+ TimePickerComponent.prototype.increaseHour = function () {
39
+ this.time = this.time.clone().add(1, 'h');
40
+ };
41
+ TimePickerComponent.prototype.decreaseHour = function () {
42
+ this.time = this.time.clone().subtract(1, 'h');
43
+ };
44
+ TimePickerComponent.prototype.increaseMinute = function () {
45
+ this.time = this.time.clone().add(1, 'm');
46
+ };
47
+ TimePickerComponent.prototype.decreaseMinute = function () {
48
+ this.time = this.time.clone().subtract(1, 'm');
49
+ };
50
+ TimePickerComponent.prototype.increaseSecond = function () {
51
+ this.time = this.time.clone().add(1, 's');
52
+ };
53
+ TimePickerComponent.prototype.decreaseSecond = function () {
54
+ this.time = this.time.clone().subtract(1, 's');
55
+ };
56
+ TimePickerComponent.prototype.selectTime = function () {
57
+ var selectTime = this.parseToReturnObjectType(this.time);
58
+ this.onSelectTime.emit(selectTime);
59
+ this.cancelTimePicker();
60
+ return;
61
+ };
62
+ TimePickerComponent.prototype.selectNow = function () {
63
+ var selectTime = this.parseToReturnObjectType(moment());
64
+ this.onSelectTime.emit(selectTime);
65
+ this.cancelTimePicker();
66
+ return;
67
+ };
68
+ TimePickerComponent.prototype.clearTime = function () {
69
+ this.onSelectTime.emit(null);
70
+ this.cancelTimePicker();
71
+ return;
72
+ };
73
+ TimePickerComponent.prototype.cancelTimePicker = function () {
74
+ this.onTimePickerCancel.emit(false);
75
+ return;
76
+ };
77
+ TimePickerComponent.prototype.parseToReturnObjectType = function (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
+ TimePickerComponent.decorators = [
98
+ { type: Component, args: [{
99
+ selector: 'time-picker',
100
+ template: "<picker-modal (onOverlayClick)=\"cancelTimePicker()\">\n <div class=\"picker-wrap\">\n <div class=\"picker-box\">\n <div class=\"picker-header\">Time Picker</div>\n <div class=\"picker-table\">\n <ul class=\"picker-table-time\">\n <li class=\"picker-table-number hour\">\n <span class=\"arrow up\" (click)=\"increaseHour()\"></span>\n {{ time | moment: hourFormat }}\n <span class=\"arrow down\" (click)=\"decreaseHour()\"></span>\n </li>\n <li class=\"picker-table-separator\">:</li>\n <li class=\"picker-table-number minute\">\n <span class=\"arrow up\" (click)=\"increaseMinute()\"></span>\n {{ time | moment: 'mm' }}\n <span class=\"arrow down\" (click)=\"decreaseMinute()\"></span>\n </li>\n <li *ngIf=\"showSecond\" class=\"picker-table-separator\">:</li>\n <li *ngIf=\"showSecond\" class=\"picker-table-number second\">\n <span class=\"arrow up\" (click)=\"increaseSecond()\"></span>\n {{ time | moment: 'ss' }}\n <span class=\"arrow down\" (click)=\"decreaseSecond()\"></span>\n </li>\n <li *ngIf=\"use12Hour\" class=\"picker-table-meridiem meridiem\">\n {{ time | moment: 'A' }}\n </li>\n </ul>\n </div>\n <div class=\"picker-footer\">\n <div class=\"picker-action action-now\" (click)=\"selectNow()\">\n <span class=\"text\">Now</span>\n </div>\n <div class=\"picker-action action-confirm\" (click)=\"selectTime()\">\n <span class=\"text\">Confirm</span>\n </div>\n <div class=\"picker-action action-clear\" (click)=\"clearTime()\">\n <span class=\"text\">Clear</span>\n </div>\n <div class=\"picker-action action-close\" (click)=\"cancelTimePicker()\">\n <span class=\"text\">Close</span>\n </div>\n </div>\n </div>\n </div>\n</picker-modal>\n",
101
+ 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)}"]
102
+ },] },
103
+ ];
104
+ /** @nocollapse */
105
+ TimePickerComponent.ctorParameters = function () { return []; };
106
+ TimePickerComponent.propDecorators = {
107
+ initTime: [{ type: Input }],
108
+ showSecond: [{ type: Input }],
109
+ viewFormat: [{ type: Input }],
110
+ use12Hour: [{ type: Input }],
111
+ returnObject: [{ type: Input }],
112
+ onSelectTime: [{ type: Output }],
113
+ onTimePickerCancel: [{ type: Output }]
114
+ };
115
+ return TimePickerComponent;
116
+ }());
117
+ export { TimePickerComponent };
118
+
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUVsQyxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFLdkIscUVBQXFFO0FBQ3JFLG1FQUFtRTtBQUNuRSxZQUFZO0FBRVo7SUE2REU7UUFUUyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNuQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMzRCxlQUFVLEdBQUcsSUFBSSxDQUFDO0lBR0gsQ0FBQztJQUVoQixzQ0FBUSxHQUFSO1FBQ0UsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDeEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWIsd0NBQXdDO1FBQ3hDLEVBQUUsQ0FBQyxDQUFD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SSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFdEMsS0FBSyxRQUFRO2dCQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFFZCxLQUFLLE1BQU07Z0JBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUV2QixLQUFLLE9BQU87Z0JBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUV4QixLQUFLLEtBQUs7Z0JBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUU1QixLQUFLLFFBQVE7Z0JBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUV6QjtnQkFDRSxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDOztnQkE3SkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsMjhEQTZDWDtvQkFDQyxNQUFNLEVBQUUsQ0FBQyx1dEVBQXV0RSxDQUFDO2lCQUNsdUU7Ozs7OzJCQUVFLEtBQUs7NkJBQ0wsS0FBSzs2QkFDTCxLQUFLOzRCQUNMLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxNQUFNO3FDQUNOLE1BQU07O0lBcUdULDBCQUFDO0NBQUEsQUE5SkQsSUE4SkM7U0E1R1ksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiB0aW1lLXBpY2tlci5jb21wb25lbnRcbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQvbW9tZW50JztcblxuLy8gd2VicGFjazFfXG5kZWNsYXJlIGxldCByZXF1aXJlOiBhbnk7XG4vLyBjb25zdCBteURwU3R5bGVzOiBzdHJpbmcgPSByZXF1aXJlKCcuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5jc3MnKTtcbi8vIGNvbnN0IG15RHBUcGw6IHN0cmluZyA9IHJlcXVpcmUoJy4vdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnKTtcbi8vIHdlYnBhY2syX1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlOiBgPHBpY2tlci1tb2RhbCAob25PdmVybGF5Q2xpY2spPVwiY2FuY2VsVGltZVBpY2tlcigpXCI+XG4gIDxkaXYgY2xhc3M9XCJwaWNrZXItd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItYm94XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWhlYWRlclwiPlRpbWUgUGlja2VyPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLXRhYmxlXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cInBpY2tlci10YWJsZS10aW1lXCI+XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGlja2VyLXRhYmxlLW51bWJlciBob3VyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IHVwXCIgKGNsaWNrKT1cImluY3JlYXNlSG91cigpXCI+PC9zcGFuPlxuICAgICAgICAgICAge3sgdGltZSB8IG1vbWVudDogaG91ckZvcm1hdCB9fVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvdyBkb3duXCIgKGNsaWNrKT1cImRlY3JlYXNlSG91cigpXCI+PC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGlja2VyLXRhYmxlLXNlcGFyYXRvclwiPjo8L2xpPlxuICAgICAgICAgIDxsaSBjbGFzcz1cInBpY2tlci10YWJsZS1udW1iZXIgbWludXRlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IHVwXCIgKGNsaWNrKT1cImluY3JlYXNlTWludXRlKClcIj48L3NwYW4+XG4gICAgICAgICAgICB7eyB0aW1lIHwgbW9tZW50OiAnbW0nIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFycm93IGRvd25cIiAoY2xpY2spPVwiZGVjcmVhc2VNaW51dGUoKVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDxsaSAqbmdJZj1cInNob3dTZWNvbmRcIiBjbGFzcz1cInBpY2tlci10YWJsZS1zZXBhcmF0b3JcIj46PC9saT5cbiAgICAgICAgICA8bGkgKm5nSWY9XCJzaG93U2Vjb25kXCIgY2xhc3M9XCJwaWNrZXItdGFibGUtbnVtYmVyIHNlY29uZFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvdyB1cFwiIChjbGljayk9XCJpbmNyZWFzZVNlY29uZCgpXCI+PC9zcGFuPlxuICAgICAgICAgICAge3sgdGltZSB8IG1vbWVudDogJ3NzJyB9fVxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcnJvdyBkb3duXCIgKGNsaWNrKT1cImRlY3JlYXNlU2Vjb25kKClcIj48L3NwYW4+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgICA8bGkgKm5nSWY9XCJ1c2UxMkhvdXJcIiBjbGFzcz1cInBpY2tlci10YWJsZS1tZXJpZGllbSBtZXJpZGllbVwiPlxuICAgICAgICAgICAge3sgdGltZSB8IG1vbWVudDogJ0EnIH19XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1mb290ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1hY3Rpb24gYWN0aW9uLW5vd1wiIChjbGljayk9XCJzZWxlY3ROb3coKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPk5vdzwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItYWN0aW9uIGFjdGlvbi1jb25maXJtXCIgKGNsaWNrKT1cInNlbGVjdFRpbWUoKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkNvbmZpcm08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWFjdGlvbiBhY3Rpb24tY2xlYXJcIiAoY2xpY2spPVwiY2xlYXJUaW1lKClcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5DbGVhcjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItYWN0aW9uIGFjdGlvbi1jbG9zZVwiIChjbGljayk9XCJjYW5jZWxUaW1lUGlja2VyKClcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5DbG9zZTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3BpY2tlci1tb2RhbD5cbmAsXG4gIHN0eWxlczogW2AqLDo6YWZ0ZXIsOjpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94fS5waWNrZXItd3JhcHt3aWR0aDo5NXZ3O21heC13aWR0aDo0MHJlbTtmb250LWZhbWlseTonT3BlbiBTYW5zJ30ucGlja2VyLWJveHt3aWR0aDoxMDAlO3BhZGRpbmc6LjYyNXJlbSAxcmVtOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGlja2VyLWZvb3RlciwucGlja2VyLWhlYWRlcntmb250LXNpemU6MS4zMzNyZW07bGluZS1oZWlnaHQ6Mi41cmVtO2hlaWdodDoyLjVyZW07d2lkdGg6MTAwJX0ucGlja2VyLWhlYWRlcnt0ZXh0LWFsaWduOmNlbnRlcn0ucGlja2VyLXRhYmxle3dpZHRoOjEwMCU7bWFyZ2luOjIuNXJlbSAwfS5waWNrZXItdGFibGUtdGltZXtmb250LXNpemU6Mi4zN3JlbTtsaW5lLWhlaWdodDoyLjVyZW07bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGlja2VyLXRhYmxlLW1lcmlkaWVtLC5waWNrZXItdGFibGUtbnVtYmVyLC5waWNrZXItdGFibGUtc2VwYXJhdG9ye3RleHQtYWxpZ246Y2VudGVyfS5waWNrZXItdGFibGUtbWVyaWRpZW0sLnBpY2tlci10YWJsZS1udW1iZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjAlfS5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3JkZXI6c29saWQgIzc3Nztib3JkZXItd2lkdGg6MCAuMnJlbSAuMnJlbSAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6LjI1cmVtO2N1cnNvcjpwb2ludGVyfS5hcnJvdy51cHt0b3A6LTFyZW07LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoLTEzNWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKC0xMzVkZWcpfS5hcnJvdy5kb3due2JvdHRvbTotMXJlbTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDQ1ZGVnKX0uYXJyb3c6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxOTc1ZDJ9LnBpY2tlci10YWJsZS1zZXBhcmF0b3J7d2lkdGg6Y2FsYygyMCUgLyAzKX0ucGlja2VyLWZvb3RlcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyfS5waWNrZXItZm9vdGVyIC5waWNrZXItYWN0aW9ue3dpZHRoOjI1JTt0ZXh0LWFsaWduOmNlbnRlcn0ucGlja2VyLWZvb3RlciAucGlja2VyLWFjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNiMWRjZmJ9LnBpY2tlci1mb290ZXIgLnBpY2tlci1hY3Rpb24gLnRleHR7cGFkZGluZy1sZWZ0Oi44cmVtfS5waWNrZXItZm9vdGVyIC5hY3Rpb24tY2xlYXI6OmJlZm9yZSwucGlja2VyLWZvb3RlciAuYWN0aW9uLWNsb3NlOjpiZWZvcmUsLnBpY2tlci1mb290ZXIgLmFjdGlvbi1jb25maXJtOjpiZWZvcmUsLnBpY2tlci1mb290ZXIgLmFjdGlvbi1ub3c6OmJlZm9yZXtjb250ZW50OicgJztwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDt3aWR0aDowfS5waWNrZXItZm9vdGVyIC5hY3Rpb24tbm93OjpiZWZvcmV7Ym9yZGVyLXRvcDouNjZlbSBzb2xpZCAjMDA1OWJjO2JvcmRlci1sZWZ0Oi42NmVtIHNvbGlkIHRyYW5zcGFyZW50fS5waWNrZXItZm9vdGVyIC5hY3Rpb24tY29uZmlybTo6YmVmb3Jle3dpZHRoOjFyZW07aGVpZ2h0OjFyZW07Ym9yZGVyLXJhZGl1czoxMDAlO2JhY2tncm91bmQtY29sb3I6IzAwYjVhZH0ucGlja2VyLWZvb3RlciAuYWN0aW9uLWNsZWFyOjpiZWZvcmV7dG9wOi0uNXJlbTt3aWR0aDoxcmVtO2JvcmRlci10b3A6M3B4IHNvbGlkICNlMjB9LnBpY2tlci1mb290ZXIgLmFjdGlvbi1jbG9zZTo6YmVmb3Jle3dpZHRoOjFyZW07aGVpZ2h0OjFyZW07YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHRyYW5zcGFyZW50IDM1JSwjNzc3IDM1JSwjNzc3IDY1JSx0cmFuc3BhcmVudCA2NSUpLGxpbmVhci1ncmFkaWVudCh0byByaWdodCx0cmFuc3BhcmVudCAzNSUsIzc3NyAzNSUsIzc3NyA2NSUsdHJhbnNwYXJlbnQgNjUlKTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfWBdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBpbml0VGltZTogYW55O1xuICBASW5wdXQoKSBzaG93U2Vjb25kID0gdHJ1ZTtcbiAgQElucHV0KCkgdmlld0Zvcm1hdCA9ICdoaDptbSBBJztcbiAgQElucHV0KCkgdXNlMTJIb3VyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJldHVybk9iamVjdCA9ICdqcyc7XG4gIEBPdXRwdXQoKSBvblNlbGVjdFRpbWUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uVGltZVBpY2tlckNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgaG91ckZvcm1hdCA9ICdISCc7XG4gIHB1YmxpYyB0aW1lOiBNb21lbnQ7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVzZTEySG91cikge1xuICAgICAgdGhpcy5ob3VyRm9ybWF0ID0gJ2hoJztcbiAgICB9XG4gICAgdGhpcy50aW1lID0gdGhpcy5pbml0VGltZVxuICAgICAgPyBtb21lbnQodGhpcy5pbml0VGltZSwgdGhpcy52aWV3Rm9ybWF0KVxuICAgICAgOiBtb21lbnQoKTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBpbnB1dCBpbml0RGF0ZSBoYXMgdmFsdWVcbiAgICBpZiAodGhpcy5pbml0VGltZSkge1xuICAgICAgdGhpcy50aW1lID1cbiAgICAgICAgdGhpcy5yZXR1cm5PYmplY3QgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBtb21lbnQodGhpcy5pbml0VGltZSwgdGhpcy52aWV3Rm9ybWF0KVxuICAgICAgICAgIDogbW9tZW50KHRoaXMuaW5pdFRpbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRpbWUgPSBtb21lbnQoKTtcbiAgICB9XG4gIH1cblxuICBpbmNyZWFzZUhvdXIoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lID0gdGhpcy50aW1lLmNsb25lKCkuYWRkKDEsICdoJyk7XG4gIH1cblxuICBkZWNyZWFzZUhvdXIoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lID0gdGhpcy50aW1lLmNsb25lKCkuc3VidHJhY3QoMSwgJ2gnKTtcbiAgfVxuXG4gIGluY3JlYXNlTWludXRlKCkge1xuICAgIHRoaXMudGltZSA9IHRoaXMudGltZS5jbG9uZSgpLmFkZCgxLCAnbScpO1xuICB9XG5cbiAgZGVjcmVhc2VNaW51dGUoKSB7XG4gICAgdGhpcy50aW1lID0gdGhpcy50aW1lLmNsb25lKCkuc3VidHJhY3QoMSwgJ20nKTtcbiAgfVxuXG4gIGluY3JlYXNlU2Vjb25kKCk6IHZvaWQge1xuICAgIHRoaXMudGltZSA9IHRoaXMudGltZS5jbG9uZSgpLmFkZCgxLCAncycpO1xuICB9XG5cbiAgZGVjcmVhc2VTZWNvbmQoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lID0gdGhpcy50aW1lLmNsb25lKCkuc3VidHJhY3QoMSwgJ3MnKTtcbiAgfVxuXG4gIHNlbGVjdFRpbWUoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0VGltZSA9IHRoaXMucGFyc2VUb1JldHVybk9iamVjdFR5cGUodGhpcy50aW1lKTtcbiAgICB0aGlzLm9uU2VsZWN0VGltZS5lbWl0KHNlbGVjdFRpbWUpO1xuICAgIHRoaXMuY2FuY2VsVGltZVBpY2tlcigpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHNlbGVjdE5vdygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RUaW1lID0gdGhpcy5wYXJzZVRvUmV0dXJuT2JqZWN0VHlwZShtb21lbnQoKSk7XG4gICAgdGhpcy5vblNlbGVjdFRpbWUuZW1pdChzZWxlY3RUaW1lKTtcbiAgICB0aGlzLmNhbmNlbFRpbWVQaWNrZXIoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjbGVhclRpbWUoKTogdm9pZCB7XG4gICAgdGhpcy5vblNlbGVjdFRpbWUuZW1pdChudWxsKTtcbiAgICB0aGlzLmNhbmNlbFRpbWVQaWNrZXIoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjYW5jZWxUaW1lUGlja2VyKCk6IHZvaWQge1xuICAgIHRoaXMub25UaW1lUGlja2VyQ2FuY2VsLmVtaXQoZmFsc2UpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZVRvUmV0dXJuT2JqZWN0VHlwZSh0aW1lOiBNb21lbnQpOiBhbnkge1xuICAgIHN3aXRjaCAodGhpcy5yZXR1cm5PYmplY3QpIHtcbiAgICAgIGNhc2UgJ2pzJzpcbiAgICAgICAgcmV0dXJuIHRpbWUudG9EYXRlKCk7XG5cbiAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgIHJldHVybiB0aW1lLmZvcm1hdCh0aGlzLnZpZXdGb3JtYXQpO1xuXG4gICAgICBjYXNlICdtb21lbnQnOlxuICAgICAgICByZXR1cm4gdGltZTtcblxuICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgIHJldHVybiB0aW1lLnRvSlNPTigpO1xuXG4gICAgICBjYXNlICdhcnJheSc6XG4gICAgICAgIHJldHVybiB0aW1lLnRvQXJyYXkoKTtcblxuICAgICAgY2FzZSAnaXNvJzpcbiAgICAgICAgcmV0dXJuIHRpbWUudG9JU09TdHJpbmcoKTtcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgcmV0dXJuIHRpbWUudG9PYmplY3QoKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRpbWU7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,128 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Component, Input, forwardRef, Renderer2 } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ var FileUploadComponent = /** @class */ (function () {
5
+ function FileUploadComponent(renderer) {
6
+ this.renderer = renderer;
7
+ this.uploading = false;
8
+ this.fileUuid = null;
9
+ this.pdfUploaded = false;
10
+ this.formEntryMode = true;
11
+ // the method set in registerOnChange, it is just
12
+ // a placeholder for a method that takes one parameter,
13
+ // we use it to emit changes back to the form
14
+ this.propagateChange = function (_) { };
15
+ }
16
+ Object.defineProperty(FileUploadComponent.prototype, "dataSource", {
17
+ get: function () {
18
+ return this._dataSource;
19
+ },
20
+ set: function (v) {
21
+ this._dataSource = v;
22
+ },
23
+ enumerable: true,
24
+ configurable: true
25
+ });
26
+ FileUploadComponent.prototype.ngOnInit = function () {
27
+ if (this.fileUuid) {
28
+ this.checkFileType();
29
+ }
30
+ };
31
+ FileUploadComponent.prototype.onFileChange = function (fileList) {
32
+ try {
33
+ for (var fileList_1 = tslib_1.__values(fileList), fileList_1_1 = fileList_1.next(); !fileList_1_1.done; fileList_1_1 = fileList_1.next()) {
34
+ var file = fileList_1_1.value;
35
+ this.upload(file);
36
+ }
37
+ }
38
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
39
+ finally {
40
+ try {
41
+ if (fileList_1_1 && !fileList_1_1.done && (_a = fileList_1.return)) _a.call(fileList_1);
42
+ }
43
+ finally { if (e_1) throw e_1.error; }
44
+ }
45
+ var e_1, _a;
46
+ };
47
+ FileUploadComponent.prototype.upload = function (data) {
48
+ var _this = this;
49
+ if (this.dataSource) {
50
+ this.uploading = true;
51
+ this.dataSource.fileUpload(data).subscribe(function (result) {
52
+ _this.fileUuid = result.image;
53
+ _this.checkFileType();
54
+ _this.propagateChange(_this.fileUuid);
55
+ _this.uploading = false;
56
+ }, function (error) {
57
+ _this.uploading = false;
58
+ });
59
+ }
60
+ };
61
+ // this is the initial value set to the component
62
+ FileUploadComponent.prototype.writeValue = function (value) {
63
+ if (value !== this.fileUuid) {
64
+ this.fileUuid = value;
65
+ this.checkFileType();
66
+ }
67
+ };
68
+ // registers 'fn' that will be fired when changes are made
69
+ // this is how we emit the changes back to the form
70
+ FileUploadComponent.prototype.registerOnChange = function (fn) {
71
+ this.propagateChange = fn;
72
+ };
73
+ // not used, used for touch input
74
+ FileUploadComponent.prototype.registerOnTouched = function () { };
75
+ // change events from the textarea
76
+ FileUploadComponent.prototype.onChange = function (event) {
77
+ this.propagateChange(event.id);
78
+ // .....
79
+ // update the form
80
+ // this.propagateChange(this.data);
81
+ };
82
+ FileUploadComponent.prototype.clearValue = function () {
83
+ this.fileUuid = null;
84
+ this.pdfUploaded = false;
85
+ this.pdfUrl = null;
86
+ this.propagateChange(this.fileUuid);
87
+ };
88
+ FileUploadComponent.prototype.getPdfUrl = function (fileUuid) {
89
+ var _this = this;
90
+ this.dataSource.fetchFile(fileUuid, 'pdf').subscribe(function (file) {
91
+ _this.pdfUploaded = true;
92
+ _this.pdfUrl = file.changingThisBreaksApplicationSecurity;
93
+ });
94
+ };
95
+ FileUploadComponent.prototype.checkFileType = function () {
96
+ var re = /pdf/gi;
97
+ if (this.fileUuid.search(re) !== -1) {
98
+ this.getPdfUrl(this.fileUuid);
99
+ }
100
+ };
101
+ FileUploadComponent.decorators = [
102
+ { type: Component, args: [{
103
+ selector: 'app-file-upload',
104
+ template: "<lib-file-uploader\n [srcUrl]=\"pdfUrl\"\n [formEntry]=\"formEntryMode\"\n [(ngModel)]=\"fileUuid\"\n (_onClear)=\"clearValue()\"\n (uploadData)=\"onFileChange($event)\"\n>\n</lib-file-uploader>\n<div *ngIf=\"fileUuid\">\n <img\n *ngIf=\"!pdfUploaded\"\n class=\"img-responsive\"\n [src]=\"fileUuid | secure: this.dataSource.fetchFile\"\n alt=\"\"\n />\n</div>\n",
105
+ providers: [
106
+ {
107
+ provide: NG_VALUE_ACCESSOR,
108
+ useExisting: forwardRef(function () { return FileUploadComponent; }),
109
+ multi: true
110
+ }
111
+ ],
112
+ styles: [
113
+ "\n img {\n margin-left: auto;\n margin-right: auto;\n display: block;\n }\n "
114
+ ]
115
+ },] },
116
+ ];
117
+ /** @nocollapse */
118
+ FileUploadComponent.ctorParameters = function () { return [
119
+ { type: Renderer2 }
120
+ ]; };
121
+ FileUploadComponent.propDecorators = {
122
+ dataSource: [{ type: Input }]
123
+ };
124
+ return FileUploadComponent;
125
+ }());
126
+ export { FileUploadComponent };
127
+
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJekU7SUFtREUsNkJBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFkdkMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBK0RyQixpREFBaUQ7UUFDakQsdURBQXVEO1FBQ3ZELDZDQUE2QztRQUNyQyxvQkFBZSxHQUFHLFVBQUMsQ0FBTSxJQUFNLENBQUMsQ0FBQztJQXZEQyxDQUFDO0lBUjNDLHNCQUNXLDJDQUFVO2FBRHJCO1lBRUUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUIsQ0FBQzthQUNELFVBQXNCLENBQWE7WUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdkIsQ0FBQzs7O09BSEE7SUFPRCxzQ0FBUSxHQUFSO1FBQ0UsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBQ00sMENBQVksR0FBbkIsVUFBb0IsUUFBUTs7WUFDMUIsR0FBRyxDQUFDLENBQWUsSUFBQSxhQUFBLGlCQUFBLFFBQVEsQ0FBQSxrQ0FBQTtnQkFBdEIsSUFBTSxJQUFJLHFCQUFBO2dCQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkI7Ozs7Ozs7Ozs7SUFDSCxDQUFDO0lBQ0Qsb0NBQU0sR0FBTixVQUFPLElBQUk7UUFBWCxpQkFlQztRQWRDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FDeEMsVUFBQyxNQUFNO2dCQUNMLEtBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDN0IsS0FBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixLQUFJLENBQUMsZUFBZSxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEMsS0FBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQyxFQUNELFVBQUMsS0FBSztnQkFDSixLQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN6QixDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsaURBQWlEO0lBQzFDLHdDQUFVLEdBQWpCLFVBQWtCLEtBQVU7UUFDMUIsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUNELDBEQUEwRDtJQUMxRCxtREFBbUQ7SUFDNUMsOENBQWdCLEdBQXZCLFVBQXdCLEVBQU87UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGlDQUFpQztJQUMxQiwrQ0FBaUIsR0FBeEIsY0FBNEIsQ0FBQztJQUM3QixrQ0FBa0M7SUFDbEMsc0NBQVEsR0FBUixVQUFTLEtBQUs7UUFDWixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvQixRQUFRO1FBQ1Isa0JBQWtCO1FBQ2xCLG1DQUFtQztJQUNyQyxDQUFDO0lBT00sd0NBQVUsR0FBakI7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sdUNBQVMsR0FBaEIsVUFBaUIsUUFBZ0I7UUFBakMsaUJBS0M7UUFKQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQUMsSUFBSTtZQUN4RCxLQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixLQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTSwyQ0FBYSxHQUFwQjtRQUNFLElBQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNuQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7O2dCQTlIRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLCtYQWdCWDtvQkFDQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsbUJBQW1CLEVBQW5CLENBQW1CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO29CQUNELE1BQU0sRUFBRTt3QkFDTixnSEFNQztxQkFDRjtpQkFDRjs7OztnQkExQ0MsU0FBUzs7OzZCQWtEUixLQUFLOztJQW9GUiwwQkFBQztDQUFBLEFBL0hELElBK0hDO1NBM0ZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgUmVuZGVyZXIyLFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgU2VjdXJlUGlwZSB9IGZyb20gJy4vc2VjdXJlLnBpcGUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGU6IGA8bGliLWZpbGUtdXBsb2FkZXJcbiAgW3NyY1VybF09XCJwZGZVcmxcIlxuICBbZm9ybUVudHJ5XT1cImZvcm1FbnRyeU1vZGVcIlxuICBbKG5nTW9kZWwpXT1cImZpbGVVdWlkXCJcbiAgKF9vbkNsZWFyKT1cImNsZWFyVmFsdWUoKVwiXG4gICh1cGxvYWREYXRhKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbj5cbjwvbGliLWZpbGUtdXBsb2FkZXI+XG48ZGl2ICpuZ0lmPVwiZmlsZVV1aWRcIj5cbiAgPGltZ1xuICAgICpuZ0lmPVwiIXBkZlVwbG9hZGVkXCJcbiAgICBjbGFzcz1cImltZy1yZXNwb25zaXZlXCJcbiAgICBbc3JjXT1cImZpbGVVdWlkIHwgc2VjdXJlOiB0aGlzLmRhdGFTb3VyY2UuZmV0Y2hGaWxlXCJcbiAgICBhbHQ9XCJcIlxuICAvPlxuPC9kaXY+XG5gLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbGVVcGxvYWRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIGBcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHVwbG9hZGluZyA9IGZhbHNlO1xuICBmaWxlVXVpZCA9IG51bGw7XG4gIHBkZlVwbG9hZGVkID0gZmFsc2U7XG4gIGZvcm1FbnRyeU1vZGUgPSB0cnVlO1xuICBwZGZVcmw6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBkYXRhU291cmNlKCk6IERhdGFTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlO1xuICB9XG4gIHB1YmxpYyBzZXQgZGF0YVNvdXJjZSh2OiBEYXRhU291cmNlKSB7XG4gICAgdGhpcy5fZGF0YVNvdXJjZSA9IHY7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmlsZVV1aWQpIHtcbiAgICAgIHRoaXMuY2hlY2tGaWxlVHlwZSgpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgb25GaWxlQ2hhbmdlKGZpbGVMaXN0KSB7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVMaXN0KSB7XG4gICAgICB0aGlzLnVwbG9hZChmaWxlKTtcbiAgICB9XG4gIH1cbiAgdXBsb2FkKGRhdGEpIHtcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XG4gICAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsZVVwbG9hZChkYXRhKS5zdWJzY3JpYmUoXG4gICAgICAgIChyZXN1bHQpID0+IHtcbiAgICAgICAgICB0aGlzLmZpbGVVdWlkID0gcmVzdWx0LmltYWdlO1xuICAgICAgICAgIHRoaXMuY2hlY2tGaWxlVHlwZSgpO1xuICAgICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZmlsZVV1aWQpO1xuICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmZpbGVVdWlkKSB7XG4gICAgICB0aGlzLmZpbGVVdWlkID0gdmFsdWU7XG4gICAgICB0aGlzLmNoZWNrRmlsZVR5cGUoKTtcbiAgICB9XG4gIH1cbiAgLy8gcmVnaXN0ZXJzICdmbicgdGhhdCB3aWxsIGJlIGZpcmVkIHdoZW4gY2hhbmdlcyBhcmUgbWFkZVxuICAvLyB0aGlzIGlzIGhvdyB3ZSBlbWl0IHRoZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBub3QgdXNlZCwgdXNlZCBmb3IgdG91Y2ggaW5wdXRcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCkge31cbiAgLy8gY2hhbmdlIGV2ZW50cyBmcm9tIHRoZSB0ZXh0YXJlYVxuICBvbkNoYW5nZShldmVudCkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKGV2ZW50LmlkKTtcbiAgICAvLyAuLi4uLlxuICAgIC8vIHVwZGF0ZSB0aGUgZm9ybVxuICAgIC8vIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZGF0YSk7XG4gIH1cblxuICAvLyB0aGUgbWV0aG9kIHNldCBpbiByZWdpc3Rlck9uQ2hhbmdlLCBpdCBpcyBqdXN0XG4gIC8vIGEgcGxhY2Vob2xkZXIgZm9yIGEgbWV0aG9kIHRoYXQgdGFrZXMgb25lIHBhcmFtZXRlcixcbiAgLy8gd2UgdXNlIGl0IHRvIGVtaXQgY2hhbmdlcyBiYWNrIHRvIHRoZSBmb3JtXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG5cbiAgcHVibGljIGNsZWFyVmFsdWUoKSB7XG4gICAgdGhpcy5maWxlVXVpZCA9IG51bGw7XG4gICAgdGhpcy5wZGZVcGxvYWRlZCA9IGZhbHNlO1xuICAgIHRoaXMucGRmVXJsID0gbnVsbDtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLmZpbGVVdWlkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQZGZVcmwoZmlsZVV1aWQ6IHN0cmluZykge1xuICAgIHRoaXMuZGF0YVNvdXJjZS5mZXRjaEZpbGUoZmlsZVV1aWQsICdwZGYnKS5zdWJzY3JpYmUoKGZpbGUpID0+IHtcbiAgICAgIHRoaXMucGRmVXBsb2FkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5wZGZVcmwgPSBmaWxlLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk7XG4gICAgfSk7XG4gIH1cbiAgcHVibGljIGNoZWNrRmlsZVR5cGUoKSB7XG4gICAgY29uc3QgcmUgPSAvcGRmL2dpO1xuICAgIGlmICh0aGlzLmZpbGVVdWlkLnNlYXJjaChyZSkgIT09IC0xKSB7XG4gICAgICB0aGlzLmdldFBkZlVybCh0aGlzLmZpbGVVdWlkKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { NgxFileUploaderModule } from 'ngx-file-uploader';
5
+ import { SharedModule } from '../../shared.module';
6
+ // import { SelectModule } from 'ng2-select/ng2-select';
7
+ import { SelectModule } from '../../components/select/select.module';
8
+ import { FileUploadComponent } from './file-upload.component';
9
+ import { WebcamModule } from 'ngx-webcam';
10
+ var RemoteFileUploadModule = /** @class */ (function () {
11
+ function RemoteFileUploadModule() {
12
+ }
13
+ RemoteFileUploadModule.decorators = [
14
+ { type: NgModule, args: [{
15
+ imports: [
16
+ CommonModule,
17
+ SelectModule,
18
+ FormsModule,
19
+ SharedModule,
20
+ WebcamModule,
21
+ NgxFileUploaderModule
22
+ ],
23
+ exports: [FileUploadComponent],
24
+ declarations: [FileUploadComponent],
25
+ providers: []
26
+ },] },
27
+ ];
28
+ return RemoteFileUploadModule;
29
+ }());
30
+ export { RemoteFileUploadModule };
31
+
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFtcGF0aC1rZW55YS9uZ3gtb3Blbm1ycy1mb3JtZW50cnkvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQztJQUFBO0lBYXFDLENBQUM7O2dCQWJyQyxRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsU0FBUyxFQUFFLEVBQUU7aUJBQ2Q7O0lBQ29DLDZCQUFDO0NBQUEsQUFidEMsSUFhc0M7U0FBekIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmd4RmlsZVVwbG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LWZpbGUtdXBsb2FkZXInO1xuXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQubW9kdWxlJztcbi8vIGltcG9ydCB7IFNlbGVjdE1vZHVsZSB9IGZyb20gJ25nMi1zZWxlY3QvbmcyLXNlbGVjdCc7XG5pbXBvcnQgeyBTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QubW9kdWxlJztcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXZWJjYW1Nb2R1bGUgfSBmcm9tICduZ3gtd2ViY2FtJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2hhcmVkTW9kdWxlLFxuICAgIFdlYmNhbU1vZHVsZSxcbiAgICBOZ3hGaWxlVXBsb2FkZXJNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0ZpbGVVcGxvYWRDb21wb25lbnRdLFxuICBkZWNsYXJhdGlvbnM6IFtGaWxlVXBsb2FkQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBSZW1vdGVGaWxlVXBsb2FkTW9kdWxlIHt9XG4iXX0=