@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
@@ -1,293 +0,0 @@
1
- /* tslint:disable:no-host-metadata-property */
2
- /**
3
- * timer.component
4
- */
5
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgZone, Optional, Output } from '@angular/core';
6
- import { OwlDateTimeIntl } from './date-time-picker-intl.service';
7
- import { DateTimeAdapter } from './adapter/date-time-adapter.class';
8
- import { take } from 'rxjs/operators';
9
- export class OwlTimerComponent {
10
- constructor(ngZone, elmRef, pickerIntl, cdRef, dateTimeAdapter) {
11
- this.ngZone = ngZone;
12
- this.elmRef = elmRef;
13
- this.pickerIntl = pickerIntl;
14
- this.cdRef = cdRef;
15
- this.dateTimeAdapter = dateTimeAdapter;
16
- this.isPM = false; // a flag indicates the current timer moment is in PM or AM
17
- /**
18
- * Hours to change per step
19
- */
20
- this.stepHour = 1;
21
- /**
22
- * Minutes to change per step
23
- */
24
- this.stepMinute = 1;
25
- /**
26
- * Seconds to change per step
27
- */
28
- this.stepSecond = 1;
29
- this.selectedChange = new EventEmitter();
30
- }
31
- get pickerMoment() {
32
- return this._pickerMoment;
33
- }
34
- set pickerMoment(value) {
35
- value = this.dateTimeAdapter.deserialize(value);
36
- this._pickerMoment =
37
- this.getValidDate(value) || this.dateTimeAdapter.now();
38
- }
39
- get minDateTime() {
40
- return this._minDateTime;
41
- }
42
- set minDateTime(value) {
43
- value = this.dateTimeAdapter.deserialize(value);
44
- this._minDateTime = this.getValidDate(value);
45
- }
46
- get maxDateTime() {
47
- return this._maxDateTime;
48
- }
49
- set maxDateTime(value) {
50
- value = this.dateTimeAdapter.deserialize(value);
51
- this._maxDateTime = this.getValidDate(value);
52
- }
53
- get hourValue() {
54
- return this.dateTimeAdapter.getHours(this.pickerMoment);
55
- }
56
- /**
57
- * The value would be displayed in hourBox.
58
- * We need this because the value displayed in hourBox it not
59
- * the same as the hourValue when the timer is in hour12Timer mode.
60
- * */
61
- get hourBoxValue() {
62
- let hours = this.hourValue;
63
- if (!this.hour12Timer) {
64
- return hours;
65
- }
66
- else {
67
- if (hours === 0) {
68
- hours = 12;
69
- this.isPM = false;
70
- }
71
- else if (hours > 0 && hours < 12) {
72
- this.isPM = false;
73
- }
74
- else if (hours === 12) {
75
- this.isPM = true;
76
- }
77
- else if (hours > 12 && hours < 24) {
78
- hours = hours - 12;
79
- this.isPM = true;
80
- }
81
- return hours;
82
- }
83
- }
84
- get minuteValue() {
85
- return this.dateTimeAdapter.getMinutes(this.pickerMoment);
86
- }
87
- get secondValue() {
88
- return this.dateTimeAdapter.getSeconds(this.pickerMoment);
89
- }
90
- get upHourButtonLabel() {
91
- return this.pickerIntl.upHourLabel;
92
- }
93
- get downHourButtonLabel() {
94
- return this.pickerIntl.downHourLabel;
95
- }
96
- get upMinuteButtonLabel() {
97
- return this.pickerIntl.upMinuteLabel;
98
- }
99
- get downMinuteButtonLabel() {
100
- return this.pickerIntl.downMinuteLabel;
101
- }
102
- get upSecondButtonLabel() {
103
- return this.pickerIntl.upSecondLabel;
104
- }
105
- get downSecondButtonLabel() {
106
- return this.pickerIntl.downSecondLabel;
107
- }
108
- get hour12ButtonLabel() {
109
- return this.isPM
110
- ? this.pickerIntl.hour12PMLabel
111
- : this.pickerIntl.hour12AMLabel;
112
- }
113
- get owlDTTimerClass() {
114
- return true;
115
- }
116
- get owlDTTimeTabIndex() {
117
- return -1;
118
- }
119
- ngOnInit() { }
120
- /**
121
- * Focus to the host element
122
- * */
123
- focus() {
124
- this.ngZone.runOutsideAngular(() => {
125
- this.ngZone.onStable
126
- .asObservable()
127
- .pipe(take(1))
128
- .subscribe(() => {
129
- this.elmRef.nativeElement.focus();
130
- });
131
- });
132
- }
133
- /**
134
- * Set the hour value via typing into timer box input
135
- * We need this to handle the hour value when the timer is in hour12 mode
136
- * */
137
- setHourValueViaInput(hours) {
138
- if (this.hour12Timer && this.isPM && hours >= 1 && hours <= 11) {
139
- hours = hours + 12;
140
- }
141
- else if (this.hour12Timer && !this.isPM && hours === 12) {
142
- hours = 0;
143
- }
144
- this.setHourValue(hours);
145
- }
146
- setHourValue(hours) {
147
- const m = this.dateTimeAdapter.setHours(this.pickerMoment, hours);
148
- this.selectedChange.emit(m);
149
- this.cdRef.markForCheck();
150
- }
151
- setMinuteValue(minutes) {
152
- const m = this.dateTimeAdapter.setMinutes(this.pickerMoment, minutes);
153
- this.selectedChange.emit(m);
154
- this.cdRef.markForCheck();
155
- }
156
- setSecondValue(seconds) {
157
- const m = this.dateTimeAdapter.setSeconds(this.pickerMoment, seconds);
158
- this.selectedChange.emit(m);
159
- this.cdRef.markForCheck();
160
- }
161
- setMeridiem(event) {
162
- this.isPM = !this.isPM;
163
- let hours = this.hourValue;
164
- if (this.isPM) {
165
- hours = hours + 12;
166
- }
167
- else {
168
- hours = hours - 12;
169
- }
170
- if (hours >= 0 && hours <= 23) {
171
- this.setHourValue(hours);
172
- }
173
- this.cdRef.markForCheck();
174
- event.preventDefault();
175
- }
176
- /**
177
- * Check if the up hour button is enabled
178
- */
179
- upHourEnabled() {
180
- return (!this.maxDateTime ||
181
- this.compareHours(this.stepHour, this.maxDateTime) < 1);
182
- }
183
- /**
184
- * Check if the down hour button is enabled
185
- */
186
- downHourEnabled() {
187
- return (!this.minDateTime ||
188
- this.compareHours(-this.stepHour, this.minDateTime) > -1);
189
- }
190
- /**
191
- * Check if the up minute button is enabled
192
- */
193
- upMinuteEnabled() {
194
- return (!this.maxDateTime ||
195
- this.compareMinutes(this.stepMinute, this.maxDateTime) < 1);
196
- }
197
- /**
198
- * Check if the down minute button is enabled
199
- */
200
- downMinuteEnabled() {
201
- return (!this.minDateTime ||
202
- this.compareMinutes(-this.stepMinute, this.minDateTime) > -1);
203
- }
204
- /**
205
- * Check if the up second button is enabled
206
- */
207
- upSecondEnabled() {
208
- return (!this.maxDateTime ||
209
- this.compareSeconds(this.stepSecond, this.maxDateTime) < 1);
210
- }
211
- /**
212
- * Check if the down second button is enabled
213
- */
214
- downSecondEnabled() {
215
- return (!this.minDateTime ||
216
- this.compareSeconds(-this.stepSecond, this.minDateTime) > -1);
217
- }
218
- /**
219
- * PickerMoment's hour value +/- certain amount and compare it to the give date
220
- * 1 is after the comparedDate
221
- * -1 is before the comparedDate
222
- * 0 is equal the comparedDate
223
- * */
224
- compareHours(amount, comparedDate) {
225
- const hours = this.dateTimeAdapter.getHours(this.pickerMoment) + amount;
226
- const result = this.dateTimeAdapter.setHours(this.pickerMoment, hours);
227
- return this.dateTimeAdapter.compare(result, comparedDate);
228
- }
229
- /**
230
- * PickerMoment's minute value +/- certain amount and compare it to the give date
231
- * 1 is after the comparedDate
232
- * -1 is before the comparedDate
233
- * 0 is equal the comparedDate
234
- * */
235
- compareMinutes(amount, comparedDate) {
236
- const minutes = this.dateTimeAdapter.getMinutes(this.pickerMoment) + amount;
237
- const result = this.dateTimeAdapter.setMinutes(this.pickerMoment, minutes);
238
- return this.dateTimeAdapter.compare(result, comparedDate);
239
- }
240
- /**
241
- * PickerMoment's second value +/- certain amount and compare it to the give date
242
- * 1 is after the comparedDate
243
- * -1 is before the comparedDate
244
- * 0 is equal the comparedDate
245
- * */
246
- compareSeconds(amount, comparedDate) {
247
- const seconds = this.dateTimeAdapter.getSeconds(this.pickerMoment) + amount;
248
- const result = this.dateTimeAdapter.setSeconds(this.pickerMoment, seconds);
249
- return this.dateTimeAdapter.compare(result, comparedDate);
250
- }
251
- /**
252
- * Get a valid date object
253
- */
254
- getValidDate(obj) {
255
- return this.dateTimeAdapter.isDateInstance(obj) &&
256
- this.dateTimeAdapter.isValid(obj)
257
- ? obj
258
- : null;
259
- }
260
- }
261
- OwlTimerComponent.decorators = [
262
- { type: Component, args: [{
263
- exportAs: 'owlDateTimeTimer',
264
- selector: 'owl-date-time-timer',
265
- template: "<owl-date-time-timer-box\n [upBtnAriaLabel]=\"upHourButtonLabel\"\n [downBtnAriaLabel]=\"downHourButtonLabel\"\n [upBtnDisabled]=\"!upHourEnabled()\"\n [downBtnDisabled]=\"!downHourEnabled()\"\n [boxValue]=\"hourBoxValue\"\n [value]=\"hourValue\" [min]=\"0\" [max]=\"23\"\n [step]=\"stepHour\" [inputLabel]=\"'Hour'\"\n (inputChange)=\"setHourValueViaInput($event)\"\n (valueChange)=\"setHourValue($event)\"></owl-date-time-timer-box>\n<owl-date-time-timer-box\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upMinuteButtonLabel\"\n [downBtnAriaLabel]=\"downMinuteButtonLabel\"\n [upBtnDisabled]=\"!upMinuteEnabled()\"\n [downBtnDisabled]=\"!downMinuteEnabled()\"\n [value]=\"minuteValue\" [min]=\"0\" [max]=\"59\"\n [step]=\"stepMinute\" [inputLabel]=\"'Minute'\"\n (inputChange)=\"setMinuteValue($event)\"\n (valueChange)=\"setMinuteValue($event)\"></owl-date-time-timer-box>\n<owl-date-time-timer-box\n *ngIf=\"showSecondsTimer\"\n [showDivider]=\"true\"\n [upBtnAriaLabel]=\"upSecondButtonLabel\"\n [downBtnAriaLabel]=\"downSecondButtonLabel\"\n [upBtnDisabled]=\"!upSecondEnabled()\"\n [downBtnDisabled]=\"!downSecondEnabled()\"\n [value]=\"secondValue\" [min]=\"0\" [max]=\"59\"\n [step]=\"stepSecond\" [inputLabel]=\"'Second'\"\n (inputChange)=\"setSecondValue($event)\"\n (valueChange)=\"setSecondValue($event)\"></owl-date-time-timer-box>\n\n<div *ngIf=\"hour12Timer\" class=\"owl-dt-timer-hour12\">\n <button class=\"owl-dt-control-button owl-dt-timer-hour12-box\"\n type=\"button\" tabindex=\"0\"\n (click)=\"setMeridiem($event)\">\n <span class=\"owl-dt-control-button-content\" tabindex=\"-1\">\n {{hour12ButtonLabel}}\n </span>\n </button>\n</div>\n",
266
- preserveWhitespaces: false,
267
- changeDetection: ChangeDetectionStrategy.OnPush,
268
- host: {
269
- '[class.owl-dt-timer]': 'owlDTTimerClass',
270
- '[attr.tabindex]': 'owlDTTimeTabIndex'
271
- },
272
- styles: [""]
273
- },] }
274
- ];
275
- OwlTimerComponent.ctorParameters = () => [
276
- { type: NgZone },
277
- { type: ElementRef },
278
- { type: OwlDateTimeIntl },
279
- { type: ChangeDetectorRef },
280
- { type: DateTimeAdapter, decorators: [{ type: Optional }] }
281
- ];
282
- OwlTimerComponent.propDecorators = {
283
- pickerMoment: [{ type: Input }],
284
- minDateTime: [{ type: Input }],
285
- maxDateTime: [{ type: Input }],
286
- showSecondsTimer: [{ type: Input }],
287
- hour12Timer: [{ type: Input }],
288
- stepHour: [{ type: Input }],
289
- stepMinute: [{ type: Input }],
290
- stepSecond: [{ type: Input }],
291
- selectedChange: [{ type: Output }]
292
- };
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL3RpbWVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4Q0FBOEM7QUFDOUM7O0dBRUc7QUFFSCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFFBQVEsRUFDUixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFjdEMsTUFBTSxPQUFPLGlCQUFpQjtJQXNKMUIsWUFDWSxNQUFjLEVBQ2QsTUFBa0IsRUFDbEIsVUFBMkIsRUFDM0IsS0FBd0IsRUFDWixlQUFtQztRQUovQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUNaLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQXJIbkQsU0FBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLDJEQUEyRDtRQWNqRjs7V0FFRztRQUVILGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYjs7V0FFRztRQUVILGVBQVUsR0FBRyxDQUFDLENBQUM7UUFFZjs7V0FFRztRQUVILGVBQVUsR0FBRyxDQUFDLENBQUM7UUF3RWYsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBSyxDQUFDO0lBZ0JwQyxDQUFDO0lB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ZGF0YS1wcm9wZXJ0eSAqL1xuLyoqXG4gKiB0aW1lci5jb21wb25lbnRcbiAqL1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE93bERhdGVUaW1lSW50bCB9IGZyb20gJy4vZGF0ZS10aW1lLXBpY2tlci1pbnRsLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0ZVRpbWVBZGFwdGVyIH0gZnJvbSAnLi9hZGFwdGVyL2RhdGUtdGltZS1hZGFwdGVyLmNsYXNzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIGV4cG9ydEFzOiAnb3dsRGF0ZVRpbWVUaW1lcicsXG4gICAgc2VsZWN0b3I6ICdvd2wtZGF0ZS10aW1lLXRpbWVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGltZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpbWVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLm93bC1kdC10aW1lcl0nOiAnb3dsRFRUaW1lckNsYXNzJyxcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdvd2xEVFRpbWVUYWJJbmRleCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE93bFRpbWVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogVGhlIGN1cnJlbnQgcGlja2VyIG1vbWVudCAqL1xuICAgIHByaXZhdGUgX3BpY2tlck1vbWVudDogVDtcbiAgICBASW5wdXQoKVxuICAgIGdldCBwaWNrZXJNb21lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9waWNrZXJNb21lbnQ7XG4gICAgfVxuXG4gICAgc2V0IHBpY2tlck1vbWVudCh2YWx1ZTogVCkge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fcGlja2VyTW9tZW50ID1cbiAgICAgICAgICAgIHRoaXMuZ2V0VmFsaWREYXRlKHZhbHVlKSB8fCB0aGlzLmRhdGVUaW1lQWRhcHRlci5ub3coKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIG1pbmltdW0gc2VsZWN0YWJsZSBkYXRlIHRpbWUuICovXG4gICAgcHJpdmF0ZSBfbWluRGF0ZVRpbWU6IFQgfCBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG1pbkRhdGVUaW1lKCk6IFQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21pbkRhdGVUaW1lO1xuICAgIH1cblxuICAgIHNldCBtaW5EYXRlVGltZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX21pbkRhdGVUaW1lID0gdGhpcy5nZXRWYWxpZERhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgbWF4aW11bSBzZWxlY3RhYmxlIGRhdGUgdGltZS4gKi9cbiAgICBwcml2YXRlIF9tYXhEYXRlVGltZTogVCB8IG51bGw7XG4gICAgQElucHV0KClcbiAgICBnZXQgbWF4RGF0ZVRpbWUoKTogVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4RGF0ZVRpbWU7XG4gICAgfVxuXG4gICAgc2V0IG1heERhdGVUaW1lKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgICAgICB2YWx1ZSA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcbiAgICAgICAgdGhpcy5fbWF4RGF0ZVRpbWUgPSB0aGlzLmdldFZhbGlkRGF0ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1BNID0gZmFsc2U7IC8vIGEgZmxhZyBpbmRpY2F0ZXMgdGhlIGN1cnJlbnQgdGltZXIgbW9tZW50IGlzIGluIFBNIG9yIEFNXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIHNlY29uZCdzIHRpbWVyXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaG93U2Vjb25kc1RpbWVyOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdGltZXIgaXMgaW4gaG91cjEyIGZvcm1hdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaG91cjEyVGltZXI6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBIb3VycyB0byBjaGFuZ2UgcGVyIHN0ZXBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHN0ZXBIb3VyID0gMTtcblxuICAgIC8qKlxuICAgICAqIE1pbnV0ZXMgdG8gY2hhbmdlIHBlciBzdGVwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGVwTWludXRlID0gMTtcblxuICAgIC8qKlxuICAgICAqIFNlY29uZHMgdG8gY2hhbmdlIHBlciBzdGVwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzdGVwU2Vjb25kID0gMTtcblxuICAgIGdldCBob3VyVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmdldEhvdXJzKHRoaXMucGlja2VyTW9tZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgd291bGQgYmUgZGlzcGxheWVkIGluIGhvdXJCb3guXG4gICAgICogV2UgbmVlZCB0aGlzIGJlY2F1c2UgdGhlIHZhbHVlIGRpc3BsYXllZCBpbiBob3VyQm94IGl0IG5vdFxuICAgICAqIHRoZSBzYW1lIGFzIHRoZSBob3VyVmFsdWUgd2hlbiB0aGUgdGltZXIgaXMgaW4gaG91cjEyVGltZXIgbW9kZS5cbiAgICAgKiAqL1xuICAgIGdldCBob3VyQm94VmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGhvdXJzID0gdGhpcy5ob3VyVmFsdWU7XG5cbiAgICAgICAgaWYgKCF0aGlzLmhvdXIxMlRpbWVyKSB7XG4gICAgICAgICAgICByZXR1cm4gaG91cnM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoaG91cnMgPT09IDApIHtcbiAgICAgICAgICAgICAgICBob3VycyA9IDEyO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQTSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChob3VycyA+IDAgJiYgaG91cnMgPCAxMikge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQTSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChob3VycyA9PT0gMTIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUE0gPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChob3VycyA+IDEyICYmIGhvdXJzIDwgMjQpIHtcbiAgICAgICAgICAgICAgICBob3VycyA9IGhvdXJzIC0gMTI7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1BNID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGhvdXJzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IG1pbnV0ZVZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVUaW1lQWRhcHRlci5nZXRNaW51dGVzKHRoaXMucGlja2VyTW9tZW50KTtcbiAgICB9XG5cbiAgICBnZXQgc2Vjb25kVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmdldFNlY29uZHModGhpcy5waWNrZXJNb21lbnQpO1xuICAgIH1cblxuICAgIGdldCB1cEhvdXJCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLnVwSG91ckxhYmVsO1xuICAgIH1cblxuICAgIGdldCBkb3duSG91ckJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlckludGwuZG93bkhvdXJMYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgdXBNaW51dGVCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLnVwTWludXRlTGFiZWw7XG4gICAgfVxuXG4gICAgZ2V0IGRvd25NaW51dGVCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLmRvd25NaW51dGVMYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgdXBTZWNvbmRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLnVwU2Vjb25kTGFiZWw7XG4gICAgfVxuXG4gICAgZ2V0IGRvd25TZWNvbmRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJJbnRsLmRvd25TZWNvbmRMYWJlbDtcbiAgICB9XG5cbiAgICBnZXQgaG91cjEyQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNQTVxuICAgICAgICAgICAgPyB0aGlzLnBpY2tlckludGwuaG91cjEyUE1MYWJlbFxuICAgICAgICAgICAgOiB0aGlzLnBpY2tlckludGwuaG91cjEyQU1MYWJlbDtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICAgIGdldCBvd2xEVFRpbWVyQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldCBvd2xEVFRpbWVUYWJJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZWxtUmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHBpY2tlckludGw6IE93bERhdGVUaW1lSW50bCxcbiAgICAgICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZGF0ZVRpbWVBZGFwdGVyOiBEYXRlVGltZUFkYXB0ZXI8VD5cbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7fVxuXG4gICAgLyoqXG4gICAgICogRm9jdXMgdG8gdGhlIGhvc3QgZWxlbWVudFxuICAgICAqICovXG4gICAgcHVibGljIGZvY3VzKCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxtUmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBob3VyIHZhbHVlIHZpYSB0eXBpbmcgaW50byB0aW1lciBib3ggaW5wdXRcbiAgICAgKiBXZSBuZWVkIHRoaXMgdG8gaGFuZGxlIHRoZSBob3VyIHZhbHVlIHdoZW4gdGhlIHRpbWVyIGlzIGluIGhvdXIxMiBtb2RlXG4gICAgICogKi9cbiAgICBwdWJsaWMgc2V0SG91clZhbHVlVmlhSW5wdXQoaG91cnM6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ob3VyMTJUaW1lciAmJiB0aGlzLmlzUE0gJiYgaG91cnMgPj0gMSAmJiBob3VycyA8PSAxMSkge1xuICAgICAgICAgICAgaG91cnMgPSBob3VycyArIDEyO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaG91cjEyVGltZXIgJiYgIXRoaXMuaXNQTSAmJiBob3VycyA9PT0gMTIpIHtcbiAgICAgICAgICAgIGhvdXJzID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0SG91clZhbHVlKGhvdXJzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SG91clZhbHVlKGhvdXJzOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbSA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldEhvdXJzKHRoaXMucGlja2VyTW9tZW50LCBob3Vycyk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChtKTtcbiAgICAgICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TWludXRlVmFsdWUobWludXRlczogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG0gPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5zZXRNaW51dGVzKHRoaXMucGlja2VyTW9tZW50LCBtaW51dGVzKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KG0pO1xuICAgICAgICB0aGlzLmNkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTZWNvbmRWYWx1ZShzZWNvbmRzOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbSA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldFNlY29uZHModGhpcy5waWNrZXJNb21lbnQsIHNlY29uZHMpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQobSk7XG4gICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1lcmlkaWVtKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1BNID0gIXRoaXMuaXNQTTtcblxuICAgICAgICBsZXQgaG91cnMgPSB0aGlzLmhvdXJWYWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuaXNQTSkge1xuICAgICAgICAgICAgaG91cnMgPSBob3VycyArIDEyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaG91cnMgPSBob3VycyAtIDEyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdXJzID49IDAgJiYgaG91cnMgPD0gMjMpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SG91clZhbHVlKGhvdXJzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIHVwIGhvdXIgYnV0dG9uIGlzIGVuYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBIb3VyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLm1heERhdGVUaW1lIHx8XG4gICAgICAgICAgICB0aGlzLmNvbXBhcmVIb3Vycyh0aGlzLnN0ZXBIb3VyLCB0aGlzLm1heERhdGVUaW1lKSA8IDFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZG93biBob3VyIGJ1dHRvbiBpcyBlbmFibGVkXG4gICAgICovXG4gICAgcHVibGljIGRvd25Ib3VyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLm1pbkRhdGVUaW1lIHx8XG4gICAgICAgICAgICB0aGlzLmNvbXBhcmVIb3VycygtdGhpcy5zdGVwSG91ciwgdGhpcy5taW5EYXRlVGltZSkgPiAtMVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSB1cCBtaW51dGUgYnV0dG9uIGlzIGVuYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgdXBNaW51dGVFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubWF4RGF0ZVRpbWUgfHxcbiAgICAgICAgICAgIHRoaXMuY29tcGFyZU1pbnV0ZXModGhpcy5zdGVwTWludXRlLCB0aGlzLm1heERhdGVUaW1lKSA8IDFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZG93biBtaW51dGUgYnV0dG9uIGlzIGVuYWJsZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZG93bk1pbnV0ZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5taW5EYXRlVGltZSB8fFxuICAgICAgICAgICAgdGhpcy5jb21wYXJlTWludXRlcygtdGhpcy5zdGVwTWludXRlLCB0aGlzLm1pbkRhdGVUaW1lKSA+IC0xXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIHVwIHNlY29uZCBidXR0b24gaXMgZW5hYmxlZFxuICAgICAqL1xuICAgIHB1YmxpYyB1cFNlY29uZEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5tYXhEYXRlVGltZSB8fFxuICAgICAgICAgICAgdGhpcy5jb21wYXJlU2Vjb25kcyh0aGlzLnN0ZXBTZWNvbmQsIHRoaXMubWF4RGF0ZVRpbWUpIDwgMVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBkb3duIHNlY29uZCBidXR0b24gaXMgZW5hYmxlZFxuICAgICAqL1xuICAgIHB1YmxpYyBkb3duU2Vjb25kRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLm1pbkRhdGVUaW1lIHx8XG4gICAgICAgICAgICB0aGlzLmNvbXBhcmVTZWNvbmRzKC10aGlzLnN0ZXBTZWNvbmQsIHRoaXMubWluRGF0ZVRpbWUpID4gLTFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQaWNrZXJNb21lbnQncyBob3VyIHZhbHVlICsvLSBjZXJ0YWluIGFtb3VudCBhbmQgY29tcGFyZSBpdCB0byB0aGUgZ2l2ZSBkYXRlXG4gICAgICogMSBpcyBhZnRlciB0aGUgY29tcGFyZWREYXRlXG4gICAgICogLTEgaXMgYmVmb3JlIHRoZSBjb21wYXJlZERhdGVcbiAgICAgKiAwIGlzIGVxdWFsIHRoZSBjb21wYXJlZERhdGVcbiAgICAgKiAqL1xuICAgIHByaXZhdGUgY29tcGFyZUhvdXJzKGFtb3VudDogbnVtYmVyLCBjb21wYXJlZERhdGU6IFQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBob3VycyA9IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmdldEhvdXJzKHRoaXMucGlja2VyTW9tZW50KSArIGFtb3VudDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0SG91cnModGhpcy5waWNrZXJNb21lbnQsIGhvdXJzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmNvbXBhcmUocmVzdWx0LCBjb21wYXJlZERhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBpY2tlck1vbWVudCdzIG1pbnV0ZSB2YWx1ZSArLy0gY2VydGFpbiBhbW91bnQgYW5kIGNvbXBhcmUgaXQgdG8gdGhlIGdpdmUgZGF0ZVxuICAgICAqIDEgaXMgYWZ0ZXIgdGhlIGNvbXBhcmVkRGF0ZVxuICAgICAqIC0xIGlzIGJlZm9yZSB0aGUgY29tcGFyZWREYXRlXG4gICAgICogMCBpcyBlcXVhbCB0aGUgY29tcGFyZWREYXRlXG4gICAgICogKi9cbiAgICBwcml2YXRlIGNvbXBhcmVNaW51dGVzKGFtb3VudDogbnVtYmVyLCBjb21wYXJlZERhdGU6IFQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBtaW51dGVzID1cbiAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmdldE1pbnV0ZXModGhpcy5waWNrZXJNb21lbnQpICsgYW1vdW50O1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5zZXRNaW51dGVzKFxuICAgICAgICAgICAgdGhpcy5waWNrZXJNb21lbnQsXG4gICAgICAgICAgICBtaW51dGVzXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVUaW1lQWRhcHRlci5jb21wYXJlKHJlc3VsdCwgY29tcGFyZWREYXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQaWNrZXJNb21lbnQncyBzZWNvbmQgdmFsdWUgKy8tIGNlcnRhaW4gYW1vdW50IGFuZCBjb21wYXJlIGl0IHRvIHRoZSBnaXZlIGRhdGVcbiAgICAgKiAxIGlzIGFmdGVyIHRoZSBjb21wYXJlZERhdGVcbiAgICAgKiAtMSBpcyBiZWZvcmUgdGhlIGNvbXBhcmVkRGF0ZVxuICAgICAqIDAgaXMgZXF1YWwgdGhlIGNvbXBhcmVkRGF0ZVxuICAgICAqICovXG4gICAgcHJpdmF0ZSBjb21wYXJlU2Vjb25kcyhhbW91bnQ6IG51bWJlciwgY29tcGFyZWREYXRlOiBUKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgc2Vjb25kcyA9XG4gICAgICAgICAgICB0aGlzLmRhdGVUaW1lQWRhcHRlci5nZXRTZWNvbmRzKHRoaXMucGlja2VyTW9tZW50KSArIGFtb3VudDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0U2Vjb25kcyhcbiAgICAgICAgICAgIHRoaXMucGlja2VyTW9tZW50LFxuICAgICAgICAgICAgc2Vjb25kc1xuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZUFkYXB0ZXIuY29tcGFyZShyZXN1bHQsIGNvbXBhcmVkRGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgdmFsaWQgZGF0ZSBvYmplY3RcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFZhbGlkRGF0ZShvYmo6IGFueSk6IFQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzRGF0ZUluc3RhbmNlKG9iaikgJiZcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzVmFsaWQob2JqKVxuICAgICAgICAgICAgPyBvYmpcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG59XG4iXX0=
@@ -1,56 +0,0 @@
1
- import { NoopScrollStrategy } from '@angular/cdk/overlay';
2
- let uniqueId = 0;
3
- export class OwlDialogConfig {
4
- constructor() {
5
- /**
6
- * ID of the element that describes the dialog.
7
- */
8
- this.ariaDescribedBy = null;
9
- /**
10
- * Whether to focus the dialog when the dialog is opened
11
- */
12
- this.autoFocus = true;
13
- /** Whether the dialog has a backdrop. */
14
- this.hasBackdrop = true;
15
- /** Data being injected into the child component. */
16
- this.data = null;
17
- /** Whether the user can use escape or clicking outside to close a modal. */
18
- this.disableClose = false;
19
- /**
20
- * The ARIA role of the dialog element.
21
- */
22
- this.role = 'dialog';
23
- /**
24
- * Custom class for the pane
25
- * */
26
- this.paneClass = '';
27
- /**
28
- * Mouse Event
29
- * */
30
- this.event = null;
31
- /**
32
- * Custom class for the backdrop
33
- * */
34
- this.backdropClass = '';
35
- /**
36
- * Whether the dialog should close when the user goes backwards/forwards in history.
37
- * */
38
- this.closeOnNavigation = true;
39
- /** Width of the dialog. */
40
- this.width = '';
41
- /** Height of the dialog. */
42
- this.height = '';
43
- /**
44
- * The max-width of the overlay panel.
45
- * If a number is provided, pixel units are assumed.
46
- * */
47
- this.maxWidth = '85vw';
48
- /**
49
- * The scroll strategy when the dialog is open
50
- * Learn more this from https://material.angular.io/cdk/overlay/overview#scroll-strategies
51
- * */
52
- this.scrollStrategy = new NoopScrollStrategy();
53
- this.id = `owl-dialog-${uniqueId++}`;
54
- }
55
- }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RpYWxvZy9kaWFsb2ctY29uZmlnLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRSxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFpQmpCLE1BQU0sT0FBTyxlQUFlO0lBZ0d4QjtRQS9GQTs7V0FFRztRQUNJLG9CQUFlLEdBQW1CLElBQUksQ0FBQztRQUU5Qzs7V0FFRztRQUNJLGNBQVMsR0FBSyxJQUFJLENBQUM7UUFFMUIseUNBQXlDO1FBQ2xDLGdCQUFXLEdBQUssSUFBSSxDQUFDO1FBTzVCLG9EQUFvRDtRQUM3QyxTQUFJLEdBQVMsSUFBSSxDQUFDO1FBRXpCLDRFQUE0RTtRQUNyRSxpQkFBWSxHQUFLLEtBQUssQ0FBQztRQU85Qjs7V0FFRztRQUNJLFNBQUksR0FBOEIsUUFBUSxDQUFDO1FBRWxEOzthQUVLO1FBQ0UsY0FBUyxHQUF1QixFQUFFLENBQUM7UUFFMUM7O2FBRUs7UUFDRSxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUVqQzs7YUFFSztRQUNFLGtCQUFhLEdBQXVCLEVBQUUsQ0FBQztRQUU5Qzs7YUFFSztRQUNFLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUVoQywyQkFBMkI7UUFDcEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVsQiw0QkFBNEI7UUFDckIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQWNuQjs7O2FBR0s7UUFDRSxhQUFRLEdBQXFCLE1BQU0sQ0FBQztRQVczQzs7O2FBR0s7UUFDRSxtQkFBYyxHQUFvQixJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFLOUQsSUFBSSxDQUFDLEVBQUUsR0FBRyxjQUFjLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBkaWFsb2ctY29uZmlnLmNsYXNzXG4gKi9cbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vb3BTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbi8qKiBQb3NzaWJsZSBvdmVycmlkZXMgZm9yIGEgZGlhbG9nJ3MgcG9zaXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ1Bvc2l0aW9uIHtcbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyB0b3AgcG9zaXRpb24uICovXG4gICAgdG9wPzogc3RyaW5nO1xuXG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgYm90dG9tIHBvc2l0aW9uLiAqL1xuICAgIGJvdHRvbT86IHN0cmluZztcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIGxlZnQgcG9zaXRpb24uICovXG4gICAgbGVmdD86IHN0cmluZztcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIHJpZ2h0IHBvc2l0aW9uLiAqL1xuICAgIHJpZ2h0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgT3dsRGlhbG9nQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgZGlhbG9nLlxuICAgICAqL1xuICAgIHB1YmxpYyBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZm9jdXMgdGhlIGRpYWxvZyB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlbmVkXG4gICAgICovXG4gICAgcHVibGljIGF1dG9Gb2N1cyA/ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBkaWFsb2cgaGFzIGEgYmFja2Ryb3AuICovXG4gICAgcHVibGljIGhhc0JhY2tkcm9wID8gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0eWxlIGZvciB0aGUgYmFja2Ryb3BcbiAgICAgKiAqL1xuICAgIHB1YmxpYyBiYWNrZHJvcFN0eWxlPzogYW55O1xuXG4gICAgLyoqIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LiAqL1xuICAgIHB1YmxpYyBkYXRhPzogYW55ID0gbnVsbDtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGNhbiB1c2UgZXNjYXBlIG9yIGNsaWNraW5nIG91dHNpZGUgdG8gY2xvc2UgYSBtb2RhbC4gKi9cbiAgICBwdWJsaWMgZGlzYWJsZUNsb3NlID8gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIElEIGZvciB0aGUgbW9kYWwuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgQVJJQSByb2xlIG9mIHRoZSBkaWFsb2cgZWxlbWVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcm9sZT86ICdkaWFsb2cnIHwgJ2FsZXJ0ZGlhbG9nJyA9ICdkaWFsb2cnO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGNsYXNzIGZvciB0aGUgcGFuZVxuICAgICAqICovXG4gICAgcHVibGljIHBhbmVDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBNb3VzZSBFdmVudFxuICAgICAqICovXG4gICAgcHVibGljIGV2ZW50PzogTW91c2VFdmVudCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBiYWNrZHJvcFxuICAgICAqICovXG4gICAgcHVibGljIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBjbG9zZSB3aGVuIHRoZSB1c2VyIGdvZXMgYmFja3dhcmRzL2ZvcndhcmRzIGluIGhpc3RvcnkuXG4gICAgICogKi9cbiAgICBwdWJsaWMgY2xvc2VPbk5hdmlnYXRpb24gPSB0cnVlO1xuXG4gICAgLyoqIFdpZHRoIG9mIHRoZSBkaWFsb2cuICovXG4gICAgcHVibGljIHdpZHRoID0gJyc7XG5cbiAgICAvKiogSGVpZ2h0IG9mIHRoZSBkaWFsb2cuICovXG4gICAgcHVibGljIGhlaWdodCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1pbi13aWR0aCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICogKi9cbiAgICBwdWJsaWMgbWluV2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluLWhlaWdodCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICogKi9cbiAgICBwdWJsaWMgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1heC13aWR0aCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICogKi9cbiAgICBwdWJsaWMgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmcgPSAnODV2dyc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4LWhlaWdodCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICogKi9cbiAgICBwdWJsaWMgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqIFBvc2l0aW9uIG92ZXJyaWRlcy4gKi9cbiAgICBwdWJsaWMgcG9zaXRpb24/OiBEaWFsb2dQb3NpdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzY3JvbGwgc3RyYXRlZ3kgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5cbiAgICAgKiBMZWFybiBtb3JlIHRoaXMgZnJvbSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY2RrL292ZXJsYXkvb3ZlcnZpZXcjc2Nyb2xsLXN0cmF0ZWdpZXNcbiAgICAgKiAqL1xuICAgIHB1YmxpYyBzY3JvbGxTdHJhdGVneT86IFNjcm9sbFN0cmF0ZWd5ID0gbmV3IE5vb3BTY3JvbGxTdHJhdGVneSgpO1xuXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaWQgPSBgb3dsLWRpYWxvZy0ke3VuaXF1ZUlkKyt9YDtcbiAgICB9XG59XG4iXX0=
@@ -1,208 +0,0 @@
1
- /* tslint:disable:no-host-metadata-property */
2
- /**
3
- * dialog-container.component
4
- */
5
- import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, Optional, ViewChild } from '@angular/core';
6
- import { animate, animateChild, keyframes, style, transition, trigger } from '@angular/animations';
7
- import { DOCUMENT } from '@angular/common';
8
- import { FocusTrapFactory } from '@angular/cdk/a11y';
9
- import { BasePortalOutlet, CdkPortalOutlet } from '@angular/cdk/portal';
10
- const zoomFadeIn = {
11
- opacity: 0,
12
- transform: 'translateX({{ x }}) translateY({{ y }}) scale({{scale}})'
13
- };
14
- const zoomFadeInFrom = {
15
- opacity: 0,
16
- transform: 'translateX({{ x }}) translateY({{ y }}) scale({{scale}})',
17
- transformOrigin: '{{ ox }} {{ oy }}'
18
- };
19
- export class OwlDialogContainerComponent extends BasePortalOutlet {
20
- constructor(changeDetector, elementRef, focusTrapFactory, document) {
21
- super();
22
- this.changeDetector = changeDetector;
23
- this.elementRef = elementRef;
24
- this.focusTrapFactory = focusTrapFactory;
25
- this.document = document;
26
- /** ID of the element that should be considered as the dialog's label. */
27
- this.ariaLabelledBy = null;
28
- /** Emits when an animation state changes. */
29
- this.animationStateChanged = new EventEmitter();
30
- this.isAnimating = false;
31
- this.state = 'enter';
32
- // for animation purpose
33
- this.params = {
34
- x: '0px',
35
- y: '0px',
36
- ox: '50%',
37
- oy: '50%',
38
- scale: 0
39
- };
40
- // A variable to hold the focused element before the dialog was open.
41
- // This would help us to refocus back to element when the dialog was closed.
42
- this.elementFocusedBeforeDialogWasOpened = null;
43
- }
44
- get config() {
45
- return this._config;
46
- }
47
- get owlDialogContainerClass() {
48
- return true;
49
- }
50
- get owlDialogContainerTabIndex() {
51
- return -1;
52
- }
53
- get owlDialogContainerId() {
54
- return this._config.id;
55
- }
56
- get owlDialogContainerRole() {
57
- return this._config.role || null;
58
- }
59
- get owlDialogContainerAriaLabelledby() {
60
- return this.ariaLabelledBy;
61
- }
62
- get owlDialogContainerAriaDescribedby() {
63
- return this._config.ariaDescribedBy || null;
64
- }
65
- get owlDialogContainerAnimation() {
66
- return { value: this.state, params: this.params };
67
- }
68
- ngOnInit() { }
69
- /**
70
- * Attach a ComponentPortal as content to this dialog container.
71
- */
72
- attachComponentPortal(portal) {
73
- if (this.portalOutlet.hasAttached()) {
74
- throw Error('Attempting to attach dialog content after content is already attached');
75
- }
76
- this.savePreviouslyFocusedElement();
77
- return this.portalOutlet.attachComponentPortal(portal);
78
- }
79
- attachTemplatePortal(portal) {
80
- throw new Error('Method not implemented.');
81
- }
82
- setConfig(config) {
83
- this._config = config;
84
- if (config.event) {
85
- this.calculateZoomOrigin(event);
86
- }
87
- }
88
- onAnimationStart(event) {
89
- this.isAnimating = true;
90
- this.animationStateChanged.emit(event);
91
- }
92
- onAnimationDone(event) {
93
- if (event.toState === 'enter') {
94
- this.trapFocus();
95
- }
96
- else if (event.toState === 'exit') {
97
- this.restoreFocus();
98
- }
99
- this.animationStateChanged.emit(event);
100
- this.isAnimating = false;
101
- }
102
- startExitAnimation() {
103
- this.state = 'exit';
104
- this.changeDetector.markForCheck();
105
- }
106
- /**
107
- * Calculate origin used in the `zoomFadeInFrom()`
108
- * for animation purpose
109
- */
110
- calculateZoomOrigin(event) {
111
- if (!event) {
112
- return;
113
- }
114
- const clientX = event.clientX;
115
- const clientY = event.clientY;
116
- const wh = window.innerWidth / 2;
117
- const hh = window.innerHeight / 2;
118
- const x = clientX - wh;
119
- const y = clientY - hh;
120
- const ox = clientX / window.innerWidth;
121
- const oy = clientY / window.innerHeight;
122
- this.params.x = `${x}px`;
123
- this.params.y = `${y}px`;
124
- this.params.ox = `${ox * 100}%`;
125
- this.params.oy = `${oy * 100}%`;
126
- this.params.scale = 0;
127
- return;
128
- }
129
- /**
130
- * Save the focused element before dialog was open
131
- */
132
- savePreviouslyFocusedElement() {
133
- if (this.document) {
134
- this.elementFocusedBeforeDialogWasOpened = this.document
135
- .activeElement;
136
- Promise.resolve().then(() => this.elementRef.nativeElement.focus());
137
- }
138
- }
139
- trapFocus() {
140
- if (!this.focusTrap) {
141
- this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);
142
- }
143
- if (this._config.autoFocus) {
144
- this.focusTrap.focusInitialElementWhenReady();
145
- }
146
- }
147
- restoreFocus() {
148
- const toFocus = this.elementFocusedBeforeDialogWasOpened;
149
- // We need the extra check, because IE can set the `activeElement` to null in some cases.
150
- if (toFocus && typeof toFocus.focus === 'function') {
151
- toFocus.focus();
152
- }
153
- if (this.focusTrap) {
154
- this.focusTrap.destroy();
155
- }
156
- }
157
- }
158
- OwlDialogContainerComponent.decorators = [
159
- { type: Component, args: [{
160
- selector: 'owl-dialog-container',
161
- template: "<ng-template cdkPortalOutlet></ng-template>\n",
162
- animations: [
163
- trigger('slideModal', [
164
- transition('void => enter', [
165
- style(zoomFadeInFrom),
166
- animate('300ms cubic-bezier(0.35, 0, 0.25, 1)', style('*')),
167
- animate('150ms', keyframes([
168
- style({ transform: 'scale(1)', offset: 0 }),
169
- style({ transform: 'scale(1.05)', offset: 0.3 }),
170
- style({ transform: 'scale(.95)', offset: 0.8 }),
171
- style({ transform: 'scale(1)', offset: 1.0 })
172
- ])),
173
- animateChild()
174
- ], {
175
- params: {
176
- x: '0px',
177
- y: '0px',
178
- ox: '50%',
179
- oy: '50%',
180
- scale: 1
181
- }
182
- }),
183
- transition('enter => exit', [animateChild(), animate(200, style(zoomFadeIn))], { params: { x: '0px', y: '0px', ox: '50%', oy: '50%' } })
184
- ])
185
- ],
186
- host: {
187
- '(@slideModal.start)': 'onAnimationStart($event)',
188
- '(@slideModal.done)': 'onAnimationDone($event)',
189
- '[class.owl-dialog-container]': 'owlDialogContainerClass',
190
- '[attr.tabindex]': 'owlDialogContainerTabIndex',
191
- '[attr.id]': 'owlDialogContainerId',
192
- '[attr.role]': 'owlDialogContainerRole',
193
- '[attr.aria-labelledby]': 'owlDialogContainerAriaLabelledby',
194
- '[attr.aria-describedby]': 'owlDialogContainerAriaDescribedby',
195
- '[@slideModal]': 'owlDialogContainerAnimation'
196
- }
197
- },] }
198
- ];
199
- OwlDialogContainerComponent.ctorParameters = () => [
200
- { type: ChangeDetectorRef },
201
- { type: ElementRef },
202
- { type: FocusTrapFactory },
203
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] }
204
- ];
205
- OwlDialogContainerComponent.propDecorators = {
206
- portalOutlet: [{ type: ViewChild, args: [CdkPortalOutlet, { static: true },] }]
207
- };
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kaWFsb2cvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOENBQThDO0FBQzlDOztHQUVHO0FBRUgsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBRVQsVUFBVSxFQUVWLFlBQVksRUFDWixNQUFNLEVBRU4sUUFBUSxFQUNSLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsT0FBTyxFQUNQLFlBQVksRUFFWixTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEUsT0FBTyxFQUNILGdCQUFnQixFQUNoQixlQUFlLEVBR2xCLE1BQU0scUJBQXFCLENBQUM7QUFHN0IsTUFBTSxVQUFVLEdBQUc7SUFDZixPQUFPLEVBQUUsQ0FBQztJQUNWLFNBQVMsRUFBRSwwREFBMEQ7Q0FDeEUsQ0FBQztBQUNGLE1BQU0sY0FBYyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLDBEQUEwRDtJQUNyRSxlQUFlLEVBQUUsbUJBQW1CO0NBQ3ZDLENBQUM7QUFvREYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGdCQUFnQjtJQWdFN0QsWUFDWSxjQUFpQyxFQUNqQyxVQUFzQixFQUN0QixnQkFBa0MsRUFHbEMsUUFBYTtRQUVyQixLQUFLLEVBQUUsQ0FBQztRQVBBLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNq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QjtvQkFDbkMsYUFBYSxFQUFFLHdCQUF3QjtvQkFDdkMsd0JBQXdCLEVBQUUsa0NBQWtDO29CQUM1RCx5QkFBeUIsRUFBRSxtQ0FBbUM7b0JBQzlELGVBQWUsRUFBRSw2QkFBNkI7aUJBQ2pEO2FBQ0o7OztZQXpGRyxpQkFBaUI7WUFHakIsVUFBVTtZQWtCTSxnQkFBZ0I7NENBeUkzQixRQUFRLFlBQ1IsTUFBTSxTQUFDLFFBQVE7OzsyQkFuRW5CLFNBQVMsU0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6bm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eSAqL1xuLyoqXG4gKiBkaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudFxuICovXG5cbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGFuaW1hdGUsXG4gICAgYW5pbWF0ZUNoaWxkLFxuICAgIEFuaW1hdGlvbkV2ZW50LFxuICAgIGtleWZyYW1lcyxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIHRyaWdnZXJcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb2N1c1RyYXAsIEZvY3VzVHJhcEZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIEJhc2VQb3J0YWxPdXRsZXQsXG4gICAgQ2RrUG9ydGFsT3V0bGV0LFxuICAgIENvbXBvbmVudFBvcnRhbCxcbiAgICBUZW1wbGF0ZVBvcnRhbFxufSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE93bERpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZGlhbG9nLWNvbmZpZy5jbGFzcyc7XG5cbmNvbnN0IHpvb21GYWRlSW4gPSB7XG4gICAgb3BhY2l0eTogMCxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKHt7IHggfX0pIHRyYW5zbGF0ZVkoe3sgeSB9fSkgc2NhbGUoe3tzY2FsZX19KSdcbn07XG5jb25zdCB6b29tRmFkZUluRnJvbSA9IHtcbiAgICBvcGFjaXR5OiAwLFxuICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoe3sgeCB9fSkgdHJhbnNsYXRlWSh7eyB5IH19KSBzY2FsZSh7e3NjYWxlfX0pJyxcbiAgICB0cmFuc2Zvcm1PcmlnaW46ICd7eyBveCB9fSB7eyBveSB9fSdcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb3dsLWRpYWxvZy1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NsaWRlTW9kYWwnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAgICAgICAgICd2b2lkID0+IGVudGVyJyxcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHpvb21GYWRlSW5Gcm9tKSxcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpJywgc3R5bGUoJyonKSksXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAnMTUwbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5ZnJhbWVzKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpJywgb2Zmc2V0OiAwIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMS4wNSknLCBvZmZzZXQ6IDAuMyB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKC45NSknLCBvZmZzZXQ6IDAuOCB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDEpJywgb2Zmc2V0OiAxLjAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGVDaGlsZCgpXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgeDogJzBweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB5OiAnMHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG94OiAnNTAlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG95OiAnNTAlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiAxXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbihcbiAgICAgICAgICAgICAgICAnZW50ZXIgPT4gZXhpdCcsXG4gICAgICAgICAgICAgICAgW2FuaW1hdGVDaGlsZCgpLCBhbmltYXRlKDIwMCwgc3R5bGUoem9vbUZhZGVJbikpXSxcbiAgICAgICAgICAgICAgICB7IHBhcmFtczogeyB4OiAnMHB4JywgeTogJzBweCcsIG94OiAnNTAlJywgb3k6ICc1MCUnIH0gfVxuICAgICAgICAgICAgKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKEBzbGlkZU1vZGFsLnN0YXJ0KSc6ICdvbkFuaW1hdGlvblN0YXJ0KCRldmVudCknLFxuICAgICAgICAnKEBzbGlkZU1vZGFsLmRvbmUpJzogJ29uQW5pbWF0aW9uRG9uZSgkZXZlbnQpJyxcbiAgICAgICAgJ1tjbGFzcy5vd2wtZGlhbG9nLWNvbnRhaW5lcl0nOiAnb3dsRGlhbG9nQ29udGFpbmVyQ2xhc3MnLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ293bERpYWxvZ0NvbnRhaW5lclRhYkluZGV4JyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdvd2xEaWFsb2dDb250YWluZXJJZCcsXG4gICAgICAgICdbYXR0ci5yb2xlXSc6ICdvd2xEaWFsb2dDb250YWluZXJSb2xlJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnb3dsRGlhbG9nQ29udGFpbmVyQXJpYUxhYmVsbGVkYnknLFxuICAgICAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnb3dsRGlhbG9nQ29udGFpbmVyQXJpYURlc2NyaWJlZGJ5JyxcbiAgICAgICAgJ1tAc2xpZGVNb2RhbF0nOiAnb3dsRGlhbG9nQ29udGFpbmVyQW5pbWF0aW9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgT3dsRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBvcnRhbE91dGxldFxuICAgIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwb3J0YWxPdXRsZXQ6IENka1BvcnRhbE91dGxldDtcblxuICAgIC8qKiBUaGUgY2xhc3MgdGhhdCB0cmFwcyBhbmQgbWFuYWdlcyBmb2N1cyB3aXRoaW4gdGhlIGRpYWxvZy4gKi9cbiAgICBwcml2YXRlIGZvY3VzVHJhcDogRm9jdXNUcmFwO1xuXG4gICAgLyoqIElEIG9mIHRoZSBlbGVtZW50IHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgdGhlIGRpYWxvZydzIGxhYmVsLiAqL1xuICAgIHB1YmxpYyBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogRW1pdHMgd2hlbiBhbiBhbmltYXRpb24gc3RhdGUgY2hhbmdlcy4gKi9cbiAgICBwdWJsaWMgYW5pbWF0aW9uU3RhdGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxBbmltYXRpb25FdmVudD4oKTtcblxuICAgIHB1YmxpYyBpc0FuaW1hdGluZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfY29uZmlnOiBPd2xEaWFsb2dDb25maWc7XG4gICAgZ2V0IGNvbmZpZygpOiBPd2xEaWFsb2dDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGU6ICd2b2lkJyB8ICdlbnRlcicgfCAnZXhpdCcgPSAnZW50ZXInO1xuXG4gICAgLy8gZm9yIGFuaW1hdGlvbiBwdXJwb3NlXG4gICAgcHJpdmF0ZSBwYXJhbXM6IGFueSA9IHtcbiAgICAgICAgeDogJzBweCcsXG4gICAgICAgIHk6ICcwcHgnLFxuICAgICAgICBveDogJzUwJScsXG4gICAgICAgIG95OiAnNTAlJyxcbiAgICAgICAgc2NhbGU6IDBcbiAgICB9O1xuXG4gICAgLy8gQSB2YXJpYWJsZSB0byBob2xkIHRoZSBmb2N1c2VkIGVsZW1lbnQgYmVmb3JlIHRoZSBkaWFsb2cgd2FzIG9wZW4uXG4gICAgLy8gVGhpcyB3b3VsZCBoZWxwIHVzIHRvIHJlZm9jdXMgYmFjayB0byBlbGVtZW50IHdoZW4gdGhlIGRpYWxvZyB3YXMgY2xvc2VkLlxuICAgIHByaXZhdGUgZWxlbWVudEZvY3VzZWRCZWZvcmVEaWFsb2dXYXNPcGVuZWQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBnZXQgb3dsRGlhbG9nQ29udGFpbmVyQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldCBvd2xEaWFsb2dDb250YWluZXJUYWJJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgZ2V0IG93bERpYWxvZ0NvbnRhaW5lcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuaWQ7XG4gICAgfVxuXG4gICAgZ2V0IG93bERpYWxvZ0NvbnRhaW5lclJvbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yb2xlIHx8IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IG93bERpYWxvZ0NvbnRhaW5lckFyaWFMYWJlbGxlZGJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFyaWFMYWJlbGxlZEJ5O1xuICAgIH1cblxuICAgIGdldCBvd2xEaWFsb2dDb250YWluZXJBcmlhRGVzY3JpYmVkYnkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5hcmlhRGVzY3JpYmVkQnkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgb3dsRGlhbG9nQ29udGFpbmVyQW5pbWF0aW9uKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB7IHZhbHVlOiB0aGlzLnN0YXRlLCBwYXJhbXM6IHRoaXMucGFyYW1zIH07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZm9jdXNUcmFwRmFjdG9yeTogRm9jdXNUcmFwRmFjdG9yeSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChET0NVTUVOVClcbiAgICAgICAgcHJpdmF0ZSBkb2N1bWVudDogYW55XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge31cblxuICAgIC8qKlxuICAgICAqIEF0dGFjaCBhIENvbXBvbmVudFBvcnRhbCBhcyBjb250ZW50IHRvIHRoaXMgZGlhbG9nIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXR0YWNoQ29tcG9uZW50UG9ydGFsPFQ+KFxuICAgICAgICBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPlxuICAgICk6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgICAgIGlmICh0aGlzLnBvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgICAgICAnQXR0ZW1wdGluZyB0byBhdHRhY2ggZGlhbG9nIGNvbnRlbnQgYWZ0ZXIgY29udGVudCBpcyBhbHJlYWR5IGF0dGFjaGVkJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2F2ZVByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoQ29tcG9uZW50UG9ydGFsKHBvcnRhbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGF0dGFjaFRlbXBsYXRlUG9ydGFsPEM+KFxuICAgICAgICBwb3J0YWw6IFRlbXBsYXRlUG9ydGFsPEM+XG4gICAgKTogRW1iZWRkZWRWaWV3UmVmPEM+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRDb25maWcoY29uZmlnOiBPd2xEaWFsb2dDb25maWcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuXG4gICAgICAgIGlmIChjb25maWcuZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRlWm9vbU9yaWdpbihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25BbmltYXRpb25TdGFydCggZXZlbnQ6IEFuaW1hdGlvbkV2ZW50ICk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQW5pbWF0aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQW5pbWF0aW9uRG9uZSggZXZlbnQ6IEFuaW1hdGlvbkV2ZW50ICk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ2VudGVyJykge1xuICAgICAgICAgICAgdGhpcy50cmFwRm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC50b1N0YXRlID09PSAnZXhpdCcpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFuaW1hdGlvblN0YXRlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc0FuaW1hdGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGFydEV4aXRBbmltYXRpb24oKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSAnZXhpdCc7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlIG9yaWdpbiB1c2VkIGluIHRoZSBgem9vbUZhZGVJbkZyb20oKWBcbiAgICAgKiBmb3IgYW5pbWF0aW9uIHB1cnBvc2VcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVpvb21PcmlnaW4oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoIWV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGllbnRYID0gZXZlbnQuY2xpZW50WDtcbiAgICAgICAgY29uc3QgY2xpZW50WSA9IGV2ZW50LmNsaWVudFk7XG5cbiAgICAgICAgY29uc3Qgd2ggPSB3aW5kb3cuaW5uZXJXaWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IGhoID0gd2luZG93LmlubmVySGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgeCA9IGNsaWVudFggLSB3aDtcbiAgICAgICAgY29uc3QgeSA9IGNsaWVudFkgLSBoaDtcbiAgICAgICAgY29uc3Qgb3ggPSBjbGllbnRYIC8gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGNvbnN0IG95ID0gY2xpZW50WSAvIHdpbmRvdy5pbm5lckhlaWdodDtcblxuICAgICAgICB0aGlzLnBhcmFtcy54ID0gYCR7eH1weGA7XG4gICAgICAgIHRoaXMucGFyYW1zLnkgPSBgJHt5fXB4YDtcbiAgICAgICAgdGhpcy5wYXJhbXMub3ggPSBgJHtveCAqIDEwMH0lYDtcbiAgICAgICAgdGhpcy5wYXJhbXMub3kgPSBgJHtveSAqIDEwMH0lYDtcbiAgICAgICAgdGhpcy5wYXJhbXMuc2NhbGUgPSAwO1xuXG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTYXZlIHRoZSBmb2N1c2VkIGVsZW1lbnQgYmVmb3JlIGRpYWxvZyB3YXMgb3BlblxuICAgICAqL1xuICAgIHByaXZhdGUgc2F2ZVByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudEZvY3VzZWRCZWZvcmVEaWFsb2dXYXNPcGVuZWQgPSB0aGlzLmRvY3VtZW50XG4gICAgICAgICAgICAgICAgLmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYXBGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvY3VzVHJhcCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c1RyYXAgPSB0aGlzLmZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbmZpZy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdG9yZUZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0b0ZvY3VzID0gdGhpcy5lbGVtZW50Rm9jdXNlZEJlZm9yZURpYWxvZ1dhc09wZW5lZDtcblxuICAgICAgICAvLyBXZSBuZWVkIHRoZSBleHRyYSBjaGVjaywgYmVjYXVzZSBJRSBjYW4gc2V0IHRoZSBgYWN0aXZlRWxlbWVudGAgdG8gbnVsbCBpbiBzb21lIGNhc2VzLlxuICAgICAgICBpZiAodG9Gb2N1cyAmJiB0eXBlb2YgdG9Gb2N1cy5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdG9Gb2N1cy5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNUcmFwKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVHJhcC5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=