ngx-techlify-core 11.4.8 → 11.4.9

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 (341) hide show
  1. package/README.md +24 -24
  2. package/bundles/ngx-techlify-core.umd.js +8085 -8047
  3. package/bundles/ngx-techlify-core.umd.js.map +1 -1
  4. package/bundles/ngx-techlify-core.umd.min.js +1 -1
  5. package/bundles/ngx-techlify-core.umd.min.js.map +1 -1
  6. package/esm2015/lib/action-popup/action-popup.component.js +32 -32
  7. package/esm2015/lib/action-popup/action-popup.model.js +3 -3
  8. package/esm2015/lib/action-popup/action-popup.module.js +26 -26
  9. package/esm2015/lib/action-popup/index.js +3 -3
  10. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +12 -12
  11. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +49 -49
  12. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +25 -25
  13. package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +12 -12
  14. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +132 -132
  15. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +29 -29
  16. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +12 -12
  17. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +67 -67
  18. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +25 -25
  19. package/esm2015/lib/audit-log/audit-log-routing.module.js +19 -19
  20. package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +12 -12
  21. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +60 -60
  22. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +21 -21
  23. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +12 -12
  24. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +57 -57
  25. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +21 -21
  26. package/esm2015/lib/audit-log/audit-log.module.js +20 -20
  27. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +12 -12
  28. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +35 -35
  29. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +21 -21
  30. package/esm2015/lib/base-model/index.js +4 -4
  31. package/esm2015/lib/base-model/techlify-form-component.class.js +51 -51
  32. package/esm2015/lib/base-model/techlify-listing-component.class.js +41 -41
  33. package/esm2015/lib/base-model/techlify-service.class.js +64 -64
  34. package/esm2015/lib/core/alert.service.js +39 -39
  35. package/esm2015/lib/core/api-prefix.interceptor.js +28 -28
  36. package/esm2015/lib/core/authentication.guard.js +39 -39
  37. package/esm2015/lib/core/authentication.service.js +59 -59
  38. package/esm2015/lib/core/cache.interceptor.js +60 -60
  39. package/esm2015/lib/core/config.service.js +47 -47
  40. package/esm2015/lib/core/core.module.js +42 -42
  41. package/esm2015/lib/core/credentials.service.js +84 -84
  42. package/esm2015/lib/core/dataManager.service.js +120 -120
  43. package/esm2015/lib/core/error-handler.interceptor.js +53 -53
  44. package/esm2015/lib/core/error-handler.service.js +59 -59
  45. package/esm2015/lib/core/form-validator.service.js +23 -23
  46. package/esm2015/lib/core/header.interceptor.js +22 -22
  47. package/esm2015/lib/core/http-cache.service.js +110 -110
  48. package/esm2015/lib/core/http.service.js +82 -82
  49. package/esm2015/lib/core/index.js +21 -21
  50. package/esm2015/lib/core/logger.service.js +100 -100
  51. package/esm2015/lib/core/route-reusable-strategy.js +35 -35
  52. package/esm2015/lib/core/snack/snack.component.js +33 -33
  53. package/esm2015/lib/core/snack/snack.module.js +25 -25
  54. package/esm2015/lib/core/storage.service.js +36 -36
  55. package/esm2015/lib/core/techlify-config.model.js +28 -28
  56. package/esm2015/lib/core/token.interceptor.js +30 -30
  57. package/esm2015/lib/data-table/data-table.component.js +190 -190
  58. package/esm2015/lib/data-table/data-table.model.js +11 -11
  59. package/esm2015/lib/data-table/data-table.module.js +25 -25
  60. package/esm2015/lib/data-table/index.js +3 -3
  61. package/esm2015/lib/date-validator.js +10 -10
  62. package/esm2015/lib/document-viewer/document-viewer.component.js +58 -58
  63. package/esm2015/lib/document-viewer/document-viewer.module.js +25 -25
  64. package/esm2015/lib/document-viewer/index.js +3 -3
  65. package/esm2015/lib/document-viewer/viewer-config.model.js +3 -3
  66. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +26 -26
  67. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +72 -72
  68. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +23 -23
  69. package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +2 -2
  70. package/esm2015/lib/email-subscription/email-subscription-routing.module.js +12 -12
  71. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +12 -12
  72. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +102 -102
  73. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +28 -28
  74. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +2 -2
  75. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +28 -28
  76. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +153 -153
  77. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +27 -27
  78. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +1 -1
  79. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +12 -12
  80. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +15 -15
  81. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +12 -12
  82. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +99 -99
  83. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +27 -27
  84. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +2 -2
  85. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +28 -28
  86. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +155 -155
  87. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +29 -29
  88. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +2 -2
  89. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +12 -12
  90. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +50 -50
  91. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +25 -25
  92. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +2 -2
  93. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +12 -12
  94. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +15 -15
  95. package/esm2015/lib/email-subscription/email-subscription.module.js +15 -15
  96. package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +147 -138
  97. package/esm2015/lib/entity-files/entity-file.service.js +42 -42
  98. package/esm2015/lib/entity-files/entity-files-view-all.component.js +234 -208
  99. package/esm2015/lib/entity-files/entity-files-view-all.module.js +40 -34
  100. package/esm2015/lib/entity-files/index.js +3 -3
  101. package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +32 -32
  102. package/esm2015/lib/export-excel/export-excel.module.js +17 -17
  103. package/esm2015/lib/file-dropper/file-dropper.component.js +122 -122
  104. package/esm2015/lib/file-dropper/file-dropper.model.js +3 -3
  105. package/esm2015/lib/file-dropper/file-dropper.module.js +21 -21
  106. package/esm2015/lib/file-dropper/index.js +3 -3
  107. package/esm2015/lib/import-csv/data-import/data-import.component.js +18 -18
  108. package/esm2015/lib/import-csv/failed-items-list/failed-items-list.component.js +33 -33
  109. package/esm2015/lib/import-csv/field-mapping/field-mapping.component.js +148 -148
  110. package/esm2015/lib/import-csv/import-csv-config.js +2 -2
  111. package/esm2015/lib/import-csv/import-csv.component.js +196 -196
  112. package/esm2015/lib/import-csv/import-csv.module.js +46 -46
  113. package/esm2015/lib/import-csv/import-history-list/import-history-list.component.js +71 -71
  114. package/esm2015/lib/import-csv/import-success/import-success.component.js +19 -19
  115. package/esm2015/lib/loader/index.js +2 -2
  116. package/esm2015/lib/loader/loader.component.js +22 -22
  117. package/esm2015/lib/loader/loader.module.js +21 -21
  118. package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +20 -20
  119. package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +88 -88
  120. package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +27 -27
  121. package/esm2015/lib/material.module.js +60 -60
  122. package/esm2015/lib/note/comment-form/comment-form.component.js +73 -73
  123. package/esm2015/lib/note/index.js +4 -4
  124. package/esm2015/lib/note/note-form/note-form.component.js +81 -81
  125. package/esm2015/lib/note/note-list/note-list.component.js +151 -151
  126. package/esm2015/lib/note/note.module.js +36 -36
  127. package/esm2015/lib/note/note.service.js +31 -31
  128. package/esm2015/lib/read-more/read-more.component.js +43 -43
  129. package/esm2015/lib/read-more/read-more.module.js +21 -21
  130. package/esm2015/lib/searchable-selector/index.js +3 -3
  131. package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +81 -81
  132. package/esm2015/lib/searchable-selector/searchable-selector.component.js +307 -307
  133. package/esm2015/lib/searchable-selector/searchable-selector.module.js +28 -28
  134. package/esm2015/lib/techlify-feature/on-off-switch/on-off-switch.component.js +27 -27
  135. package/esm2015/lib/techlify-feature/techlify-feature-enabled.directive.js +78 -78
  136. package/esm2015/lib/techlify-feature/techlify-feature-listing.component.js +177 -177
  137. package/esm2015/lib/techlify-feature/techlify-feature.module.js +30 -30
  138. package/esm2015/lib/techlify-feature/techlify-feature.routing.js +12 -12
  139. package/esm2015/lib/techlify-feature/techlify-feature.service.js +28 -28
  140. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +15 -15
  141. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.js +269 -269
  142. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.js +25 -25
  143. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.js +168 -168
  144. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.js +29 -29
  145. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +114 -114
  146. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +28 -28
  147. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +22 -22
  148. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +143 -143
  149. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +28 -28
  150. package/esm2015/lib/techlify-update/techlify-update-routing.module.js +22 -22
  151. package/esm2015/lib/techlify-update/techlify-update.module.js +30 -30
  152. package/esm2015/lib/techlify-update/techlify-update.service.js +43 -43
  153. package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +161 -161
  154. package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +82 -82
  155. package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +62 -62
  156. package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +29 -29
  157. package/esm2015/lib/techlify-update/update-view/update-view.component.js +36 -36
  158. package/esm2015/lib/techlify-update/update-view/update-view.module.js +24 -24
  159. package/esm2015/lib/timeline-filter/calculate-timeline.js +102 -102
  160. package/esm2015/lib/timeline-filter/index.js +4 -4
  161. package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +12 -12
  162. package/esm2015/lib/timeline-filter/timeline-filter.component.js +213 -213
  163. package/esm2015/lib/timeline-filter/timeline-filter.module.js +23 -23
  164. package/esm2015/lib/timeline-filter/timeline.model.js +18 -18
  165. package/esm2015/lib/utility/date-utils.service.js +48 -48
  166. package/esm2015/lib/utility/index.js +4 -4
  167. package/esm2015/lib/utility/num-items-selector.component.js +29 -29
  168. package/esm2015/lib/utility/number-selector.component.js +38 -38
  169. package/esm2015/lib/utility/utility.module.js +20 -20
  170. package/esm2015/ngx-techlify-core.js +60 -60
  171. package/esm2015/public-api.js +96 -96
  172. package/fesm2015/ngx-techlify-core.js +6941 -6903
  173. package/fesm2015/ngx-techlify-core.js.map +1 -1
  174. package/lib/action-popup/action-popup.component.d.ts +14 -14
  175. package/lib/action-popup/action-popup.model.d.ts +5 -5
  176. package/lib/action-popup/action-popup.module.d.ts +2 -2
  177. package/lib/action-popup/index.d.ts +2 -2
  178. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +2 -2
  179. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +12 -12
  180. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -2
  181. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +2 -2
  182. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +32 -32
  183. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +2 -2
  184. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +2 -2
  185. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +19 -19
  186. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +2 -2
  187. package/lib/audit-log/audit-log-routing.module.d.ts +2 -2
  188. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +2 -2
  189. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +17 -17
  190. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +2 -2
  191. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +2 -2
  192. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +15 -15
  193. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +2 -2
  194. package/lib/audit-log/audit-log.module.d.ts +2 -2
  195. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +2 -2
  196. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +11 -11
  197. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +2 -2
  198. package/lib/base-model/index.d.ts +3 -3
  199. package/lib/base-model/techlify-form-component.class.d.ts +43 -43
  200. package/lib/base-model/techlify-listing-component.class.d.ts +47 -47
  201. package/lib/base-model/techlify-service.class.d.ts +52 -52
  202. package/lib/core/alert.service.d.ts +12 -12
  203. package/lib/core/api-prefix.interceptor.d.ts +11 -11
  204. package/lib/core/authentication.guard.d.ts +10 -10
  205. package/lib/core/authentication.service.d.ts +23 -23
  206. package/lib/core/cache.interceptor.d.ts +21 -21
  207. package/lib/core/config.service.d.ts +19 -19
  208. package/lib/core/core.module.d.ts +3 -3
  209. package/lib/core/credentials.service.d.ts +36 -36
  210. package/lib/core/dataManager.service.d.ts +70 -70
  211. package/lib/core/error-handler.interceptor.d.ts +14 -14
  212. package/lib/core/error-handler.service.d.ts +14 -14
  213. package/lib/core/form-validator.service.d.ts +8 -8
  214. package/lib/core/header.interceptor.d.ts +8 -8
  215. package/lib/core/http-cache.service.d.ts +54 -54
  216. package/lib/core/http.service.d.ts +56 -56
  217. package/lib/core/index.d.ts +20 -20
  218. package/lib/core/logger.service.d.ts +85 -85
  219. package/lib/core/route-reusable-strategy.d.ts +13 -13
  220. package/lib/core/snack/snack.component.d.ts +8 -8
  221. package/lib/core/snack/snack.module.d.ts +2 -2
  222. package/lib/core/storage.service.d.ts +15 -15
  223. package/lib/core/techlify-config.model.d.ts +18 -18
  224. package/lib/core/token.interceptor.d.ts +11 -11
  225. package/lib/data-table/data-table.component.d.ts +60 -60
  226. package/lib/data-table/data-table.model.d.ts +46 -46
  227. package/lib/data-table/data-table.module.d.ts +2 -2
  228. package/lib/data-table/index.d.ts +2 -2
  229. package/lib/date-validator.d.ts +1 -1
  230. package/lib/document-viewer/document-viewer.component.d.ts +16 -16
  231. package/lib/document-viewer/document-viewer.module.d.ts +2 -2
  232. package/lib/document-viewer/index.d.ts +2 -2
  233. package/lib/document-viewer/viewer-config.model.d.ts +5 -5
  234. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +7 -7
  235. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +17 -17
  236. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +2 -2
  237. package/lib/email-subscription/email-subscription-for-user/index.d.ts +1 -1
  238. package/lib/email-subscription/email-subscription-routing.module.d.ts +2 -2
  239. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +2 -2
  240. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +32 -32
  241. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +2 -2
  242. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts +1 -1
  243. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +9 -9
  244. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +30 -30
  245. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +2 -2
  246. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +1 -1
  247. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +2 -2
  248. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +2 -2
  249. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +2 -2
  250. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +32 -32
  251. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +2 -2
  252. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts +1 -1
  253. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +9 -9
  254. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +32 -32
  255. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +2 -2
  256. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts +1 -1
  257. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +2 -2
  258. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +13 -13
  259. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +2 -2
  260. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts +1 -1
  261. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +2 -2
  262. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +2 -2
  263. package/lib/email-subscription/email-subscription.module.d.ts +2 -2
  264. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +38 -34
  265. package/lib/entity-files/entity-file.service.d.ts +10 -10
  266. package/lib/entity-files/entity-files-view-all.component.d.ts +51 -45
  267. package/lib/entity-files/entity-files-view-all.module.d.ts +2 -2
  268. package/lib/entity-files/index.d.ts +2 -2
  269. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +8 -8
  270. package/lib/export-excel/export-excel.module.d.ts +2 -2
  271. package/lib/file-dropper/file-dropper.component.d.ts +33 -33
  272. package/lib/file-dropper/file-dropper.model.d.ts +10 -10
  273. package/lib/file-dropper/file-dropper.module.d.ts +2 -2
  274. package/lib/file-dropper/index.d.ts +2 -2
  275. package/lib/import-csv/data-import/data-import.component.d.ts +6 -6
  276. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +12 -12
  277. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +34 -34
  278. package/lib/import-csv/import-csv-config.d.ts +17 -17
  279. package/lib/import-csv/import-csv.component.d.ts +33 -33
  280. package/lib/import-csv/import-csv.module.d.ts +2 -2
  281. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +21 -21
  282. package/lib/import-csv/import-success/import-success.component.d.ts +8 -8
  283. package/lib/loader/index.d.ts +1 -1
  284. package/lib/loader/loader.component.d.ts +8 -8
  285. package/lib/loader/loader.module.d.ts +2 -2
  286. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +2 -2
  287. package/lib/login-history-for-user/login-history-for-user.component.d.ts +23 -23
  288. package/lib/login-history-for-user/login-history-for-user.module.d.ts +2 -2
  289. package/lib/material.module.d.ts +2 -2
  290. package/lib/note/comment-form/comment-form.component.d.ts +22 -22
  291. package/lib/note/index.d.ts +3 -3
  292. package/lib/note/note-form/note-form.component.d.ts +27 -27
  293. package/lib/note/note-list/note-list.component.d.ts +28 -28
  294. package/lib/note/note.module.d.ts +2 -2
  295. package/lib/note/note.service.d.ts +9 -9
  296. package/lib/read-more/read-more.component.d.ts +12 -12
  297. package/lib/read-more/read-more.module.d.ts +2 -2
  298. package/lib/searchable-selector/index.d.ts +2 -2
  299. package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +23 -23
  300. package/lib/searchable-selector/searchable-selector.component.d.ts +81 -81
  301. package/lib/searchable-selector/searchable-selector.module.d.ts +2 -2
  302. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +9 -9
  303. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +17 -17
  304. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +37 -37
  305. package/lib/techlify-feature/techlify-feature.module.d.ts +2 -2
  306. package/lib/techlify-feature/techlify-feature.routing.d.ts +2 -2
  307. package/lib/techlify-feature/techlify-feature.service.d.ts +8 -8
  308. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +12 -12
  309. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +76 -76
  310. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +2 -2
  311. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +58 -58
  312. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +2 -2
  313. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +30 -30
  314. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +2 -2
  315. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +2 -2
  316. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +31 -31
  317. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +2 -2
  318. package/lib/techlify-update/techlify-update-routing.module.d.ts +2 -2
  319. package/lib/techlify-update/techlify-update.module.d.ts +2 -2
  320. package/lib/techlify-update/techlify-update.service.d.ts +13 -13
  321. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +31 -31
  322. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +25 -25
  323. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +16 -16
  324. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +2 -2
  325. package/lib/techlify-update/update-view/update-view.component.d.ts +14 -14
  326. package/lib/techlify-update/update-view/update-view.module.d.ts +2 -2
  327. package/lib/timeline-filter/calculate-timeline.d.ts +6 -6
  328. package/lib/timeline-filter/index.d.ts +3 -3
  329. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +2 -2
  330. package/lib/timeline-filter/timeline-filter.component.d.ts +61 -61
  331. package/lib/timeline-filter/timeline-filter.module.d.ts +2 -2
  332. package/lib/timeline-filter/timeline.model.d.ts +17 -17
  333. package/lib/utility/date-utils.service.d.ts +21 -21
  334. package/lib/utility/index.d.ts +3 -3
  335. package/lib/utility/num-items-selector.component.d.ts +16 -16
  336. package/lib/utility/number-selector.component.d.ts +20 -20
  337. package/lib/utility/utility.module.d.ts +2 -2
  338. package/ngx-techlify-core.d.ts +59 -59
  339. package/ngx-techlify-core.metadata.json +1 -1
  340. package/package.json +2 -2
  341. package/public-api.d.ts +92 -92
@@ -1,42 +1,42 @@
1
- import { NgModule, Optional, SkipSelf } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { HttpClientModule, HttpClient } from '@angular/common/http';
4
- import { RouteReuseStrategy, RouterModule } from '@angular/router';
5
- import { RouteReusableStrategy } from './route-reusable-strategy';
6
- import { HttpService } from './http.service';
7
- import { SnackModule } from './snack/snack.module';
8
- export class CoreModule {
9
- constructor(parentModule) {
10
- // Import guard
11
- if (parentModule) {
12
- throw new Error(`${parentModule} has already been loaded. Import Core module in the root module only.`);
13
- }
14
- }
15
- }
16
- CoreModule.decorators = [
17
- { type: NgModule, args: [{
18
- imports: [
19
- CommonModule,
20
- HttpClientModule,
21
- RouterModule,
22
- SnackModule
23
- ],
24
- providers: [
25
- {
26
- provide: HttpClient,
27
- useClass: HttpService
28
- },
29
- {
30
- provide: RouteReuseStrategy,
31
- useClass: RouteReusableStrategy
32
- }
33
- ],
34
- exports: [
35
- SnackModule
36
- ]
37
- },] }
38
- ];
39
- CoreModule.ctorParameters = () => [
40
- { type: CoreModule, decorators: [{ type: Optional }, { type: SkipSelf }] }
41
- ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXFCLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBdUJuRCxNQUFNLE9BQU8sVUFBVTtJQUVyQixZQUFvQyxZQUF3QjtRQUMxRCxlQUFlO1FBQ2YsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFlBQVksdUVBQXVFLENBQUMsQ0FBQztTQUN6RztJQUNILENBQUM7OztZQTVCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLFdBQVc7aUJBQ1o7Z0JBQ0QsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxVQUFVO3dCQUNuQixRQUFRLEVBQUUsV0FBVztxQkFDdEI7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjt3QkFDM0IsUUFBUSxFQUFFLHFCQUFxQjtxQkFDaEM7aUJBQ0Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFdBQVc7aUJBQ1o7YUFDRjs7O1lBR21ELFVBQVUsdUJBQS9DLFFBQVEsWUFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUywgSHR0cENsaWVudE1vZHVsZSwgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5LCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgUm91dGVSZXVzYWJsZVN0cmF0ZWd5IH0gZnJvbSAnLi9yb3V0ZS1yZXVzYWJsZS1zdHJhdGVneSc7XHJcbmltcG9ydCB7IEFwaVByZWZpeEludGVyY2VwdG9yIH0gZnJvbSAnLi9hcGktcHJlZml4LmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgRXJyb3JIYW5kbGVySW50ZXJjZXB0b3IgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXIuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4vaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9rZW5JbnRlcmNlcHRvciB9IGZyb20gJy4vdG9rZW4uaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBDYWNoZUludGVyY2VwdG9yIH0gZnJvbSAnLi9jYWNoZS5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFNuYWNrTW9kdWxlIH0gZnJvbSAnLi9zbmFjay9zbmFjay5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgU25hY2tNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBIdHRwQ2xpZW50LFxyXG4gICAgICB1c2VDbGFzczogSHR0cFNlcnZpY2VcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFJvdXRlUmV1c2VTdHJhdGVneSxcclxuICAgICAgdXNlQ2xhc3M6IFJvdXRlUmV1c2FibGVTdHJhdGVneVxyXG4gICAgfVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU25hY2tNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlTW9kdWxlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBDb3JlTW9kdWxlKSB7XHJcbiAgICAvLyBJbXBvcnQgZ3VhcmRcclxuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3BhcmVudE1vZHVsZX0gaGFzIGFscmVhZHkgYmVlbiBsb2FkZWQuIEltcG9ydCBDb3JlIG1vZHVsZSBpbiB0aGUgcm9vdCBtb2R1bGUgb25seS5gKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
1
+ import { NgModule, Optional, SkipSelf } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { HttpClientModule, HttpClient } from '@angular/common/http';
4
+ import { RouteReuseStrategy, RouterModule } from '@angular/router';
5
+ import { RouteReusableStrategy } from './route-reusable-strategy';
6
+ import { HttpService } from './http.service';
7
+ import { SnackModule } from './snack/snack.module';
8
+ export class CoreModule {
9
+ constructor(parentModule) {
10
+ // Import guard
11
+ if (parentModule) {
12
+ throw new Error(`${parentModule} has already been loaded. Import Core module in the root module only.`);
13
+ }
14
+ }
15
+ }
16
+ CoreModule.decorators = [
17
+ { type: NgModule, args: [{
18
+ imports: [
19
+ CommonModule,
20
+ HttpClientModule,
21
+ RouterModule,
22
+ SnackModule
23
+ ],
24
+ providers: [
25
+ {
26
+ provide: HttpClient,
27
+ useClass: HttpService
28
+ },
29
+ {
30
+ provide: RouteReuseStrategy,
31
+ useClass: RouteReusableStrategy
32
+ }
33
+ ],
34
+ exports: [
35
+ SnackModule
36
+ ]
37
+ },] }
38
+ ];
39
+ CoreModule.ctorParameters = () => [
40
+ { type: CoreModule, decorators: [{ type: Optional }, { type: SkipSelf }] }
41
+ ];
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXFCLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBdUJuRCxNQUFNLE9BQU8sVUFBVTtJQUVyQixZQUFvQyxZQUF3QjtRQUMxRCxlQUFlO1FBQ2YsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFlBQVksdUVBQXVFLENBQUMsQ0FBQztTQUN6RztJQUNILENBQUM7OztZQTVCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLFdBQVc7aUJBQ1o7Z0JBQ0QsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxVQUFVO3dCQUNuQixRQUFRLEVBQUUsV0FBVztxQkFDdEI7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjt3QkFDM0IsUUFBUSxFQUFFLHFCQUFxQjtxQkFDaEM7aUJBQ0Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFdBQVc7aUJBQ1o7YUFDRjs7O1lBR21ELFVBQVUsdUJBQS9DLFFBQVEsWUFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTLCBIdHRwQ2xpZW50TW9kdWxlLCBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5LCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBSb3V0ZVJldXNhYmxlU3RyYXRlZ3kgfSBmcm9tICcuL3JvdXRlLXJldXNhYmxlLXN0cmF0ZWd5JztcbmltcG9ydCB7IEFwaVByZWZpeEludGVyY2VwdG9yIH0gZnJvbSAnLi9hcGktcHJlZml4LmludGVyY2VwdG9yJztcbmltcG9ydCB7IEVycm9ySGFuZGxlckludGVyY2VwdG9yIH0gZnJvbSAnLi9lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9rZW5JbnRlcmNlcHRvciB9IGZyb20gJy4vdG9rZW4uaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgQ2FjaGVJbnRlcmNlcHRvciB9IGZyb20gJy4vY2FjaGUuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgU25hY2tNb2R1bGUgfSBmcm9tICcuL3NuYWNrL3NuYWNrLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgU25hY2tNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSHR0cENsaWVudCxcbiAgICAgIHVzZUNsYXNzOiBIdHRwU2VydmljZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUm91dGVSZXVzZVN0cmF0ZWd5LFxuICAgICAgdXNlQ2xhc3M6IFJvdXRlUmV1c2FibGVTdHJhdGVneVxuICAgIH1cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNuYWNrTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBDb3JlTW9kdWxlKSB7XG4gICAgLy8gSW1wb3J0IGd1YXJkXG4gICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3BhcmVudE1vZHVsZX0gaGFzIGFscmVhZHkgYmVlbiBsb2FkZWQuIEltcG9ydCBDb3JlIG1vZHVsZSBpbiB0aGUgcm9vdCBtb2R1bGUgb25seS5gKTtcbiAgICB9XG4gIH1cblxufVxuIl19
@@ -1,84 +1,84 @@
1
- import { Injectable } from '@angular/core';
2
- import { ConfigService } from './config.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./config.service";
5
- /**
6
- * Provides storage for authentication credentials.
7
- * The Credentials interface should be replaced with proper implementation.
8
- */
9
- export class CredentialsService {
10
- constructor(configService) {
11
- this.configService = configService;
12
- this._credentials = null;
13
- }
14
- /**
15
- * Checks is the user is authenticated.
16
- * @return True if the user is authenticated.
17
- */
18
- get isAuthenticated() {
19
- return !!this.credentials;
20
- }
21
- /**
22
- * Gets the user credentials.
23
- * @return The user credentials or null if the user is not authenticated.
24
- */
25
- get credentials() {
26
- if (!this._credentials) {
27
- this._credentials = JSON.parse(sessionStorage.getItem(this.configService.getCredentialsKey()) || localStorage.getItem(this.configService.getCredentialsKey()));
28
- }
29
- return this._credentials;
30
- }
31
- /**
32
- * Sets the user credentials.
33
- * The credentials may be persisted across sessions by setting the `remember` parameter to true.
34
- * Otherwise, the credentials are only persisted for the current session.
35
- * @param credentials The user credentials.
36
- * @param remember True to remember credentials across sessions.
37
- */
38
- setCredentials(credentials, remember) {
39
- this._credentials = credentials || null;
40
- if (credentials) {
41
- (remember ? localStorage : sessionStorage).setItem(this.configService.getCredentialsKey(), JSON.stringify(credentials));
42
- }
43
- else {
44
- sessionStorage.clear();
45
- localStorage.clear();
46
- this._credentials = null;
47
- }
48
- }
49
- getAccessToken() {
50
- var _a, _b, _c, _d;
51
- const expiration = ((_b = (_a = this.credentials) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.expires_in) || '';
52
- const token = ((_d = (_c = this.credentials) === null || _c === void 0 ? void 0 : _c.token) === null || _d === void 0 ? void 0 : _d.access_token) || '';
53
- if (!token || !expiration) {
54
- return null;
55
- }
56
- if (Date.now() > parseInt(expiration)) {
57
- this.setCredentials();
58
- return null;
59
- }
60
- return token;
61
- }
62
- getExpiration() {
63
- var _a, _b;
64
- return ((_b = (_a = this.credentials) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.expires_in) || '';
65
- }
66
- getRefreshToken() {
67
- var _a, _b;
68
- return ((_b = (_a = this.credentials) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.refresh_token) || '';
69
- }
70
- refresh() {
71
- this._credentials = null;
72
- return this;
73
- }
74
- }
75
- CredentialsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CredentialsService_Factory() { return new CredentialsService(i0.ɵɵinject(i1.ConfigService)); }, token: CredentialsService, providedIn: "root" });
76
- CredentialsService.decorators = [
77
- { type: Injectable, args: [{
78
- providedIn: 'root'
79
- },] }
80
- ];
81
- CredentialsService.ctorParameters = () => [
82
- { type: ConfigService }
83
- ];
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9jcmVkZW50aWFscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFRakQ7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUZ4QyxpQkFBWSxHQUF1QixJQUFJLENBQUM7SUFHaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksZUFBZTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDaEs7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBQyxXQUF5QixFQUFFLFFBQWtCO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQztRQUV4QyxJQUFJLFdBQVcsRUFBRTtZQUNmLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ3pIO2FBQU07WUFDTCxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGNBQWM7O1FBQ1osTUFBTSxVQUFVLEdBQUcsYUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxLQUFLLDBDQUFFLFVBQVUsS0FBSSxFQUFFLENBQUM7UUFDN0QsTUFBTSxLQUFLLEdBQUcsYUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxLQUFLLDBDQUFFLFlBQVksS0FBSSxFQUFFLENBQUM7UUFFMUQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsYUFBYTs7UUFDWCxPQUFPLGFBQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsS0FBSywwQ0FBRSxVQUFVLEtBQUksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxlQUFlOztRQUNiLE9BQU8sYUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxLQUFLLDBDQUFFLGFBQWEsS0FBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7WUEzRUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFkUSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyZWRlbnRpYWxzIHtcclxuICAvLyBDdXN0b21pemUgcmVjZWl2ZWQgY3JlZGVudGlhbHMgaGVyZVxyXG4gIHVzZXI6IGFueTtcclxuICB0b2tlbjogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgc3RvcmFnZSBmb3IgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMuXHJcbiAqIFRoZSBDcmVkZW50aWFscyBpbnRlcmZhY2Ugc2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggcHJvcGVyIGltcGxlbWVudGF0aW9uLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlZGVudGlhbHNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBfY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlzIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQuXHJcbiAgICogQHJldHVybiBUcnVlIGlmIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQuXHJcbiAgICovXHJcbiAgZ2V0IGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuY3JlZGVudGlhbHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSB1c2VyIGNyZWRlbnRpYWxzLlxyXG4gICAqIEByZXR1cm4gVGhlIHVzZXIgY3JlZGVudGlhbHMgb3IgbnVsbCBpZiB0aGUgdXNlciBpcyBub3QgYXV0aGVudGljYXRlZC5cclxuICAgKi9cclxuICBnZXQgY3JlZGVudGlhbHMoKTogQ3JlZGVudGlhbHMgfCBudWxsIHtcclxuICAgIGlmICghdGhpcy5fY3JlZGVudGlhbHMpIHtcclxuICAgICAgdGhpcy5fY3JlZGVudGlhbHMgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5jb25maWdTZXJ2aWNlLmdldENyZWRlbnRpYWxzS2V5KCkpIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY29uZmlnU2VydmljZS5nZXRDcmVkZW50aWFsc0tleSgpKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlZGVudGlhbHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB1c2VyIGNyZWRlbnRpYWxzLlxyXG4gICAqIFRoZSBjcmVkZW50aWFscyBtYXkgYmUgcGVyc2lzdGVkIGFjcm9zcyBzZXNzaW9ucyBieSBzZXR0aW5nIHRoZSBgcmVtZW1iZXJgIHBhcmFtZXRlciB0byB0cnVlLlxyXG4gICAqIE90aGVyd2lzZSwgdGhlIGNyZWRlbnRpYWxzIGFyZSBvbmx5IHBlcnNpc3RlZCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbi5cclxuICAgKiBAcGFyYW0gY3JlZGVudGlhbHMgVGhlIHVzZXIgY3JlZGVudGlhbHMuXHJcbiAgICogQHBhcmFtIHJlbWVtYmVyIFRydWUgdG8gcmVtZW1iZXIgY3JlZGVudGlhbHMgYWNyb3NzIHNlc3Npb25zLlxyXG4gICAqL1xyXG4gIHNldENyZWRlbnRpYWxzKGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHMsIHJlbWVtYmVyPzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fY3JlZGVudGlhbHMgPSBjcmVkZW50aWFscyB8fCBudWxsO1xyXG5cclxuICAgIGlmIChjcmVkZW50aWFscykge1xyXG4gICAgICAocmVtZW1iZXIgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSkuc2V0SXRlbSh0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q3JlZGVudGlhbHNLZXkoKSwgSlNPTi5zdHJpbmdpZnkoY3JlZGVudGlhbHMpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgICB0aGlzLl9jcmVkZW50aWFscyA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRBY2Nlc3NUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IGV4cGlyYXRpb24gPSB0aGlzLmNyZWRlbnRpYWxzPy50b2tlbj8uZXhwaXJlc19pbiB8fCAnJztcclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy5jcmVkZW50aWFscz8udG9rZW4/LmFjY2Vzc190b2tlbiB8fCAnJztcclxuXHJcbiAgICBpZiAoIXRva2VuIHx8ICFleHBpcmF0aW9uKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChEYXRlLm5vdygpID4gcGFyc2VJbnQoZXhwaXJhdGlvbikpIHtcclxuICAgICAgdGhpcy5zZXRDcmVkZW50aWFscygpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9rZW47XHJcbiAgfVxyXG5cclxuICBnZXRFeHBpcmF0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVkZW50aWFscz8udG9rZW4/LmV4cGlyZXNfaW4gfHwgJyc7XHJcbiAgfVxyXG5cclxuICBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWRlbnRpYWxzPy50b2tlbj8ucmVmcmVzaF90b2tlbiB8fCAnJztcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogQ3JlZGVudGlhbHNTZXJ2aWNlIHtcclxuICAgIHRoaXMuX2NyZWRlbnRpYWxzID0gbnVsbDtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
1
+ import { Injectable } from '@angular/core';
2
+ import { ConfigService } from './config.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./config.service";
5
+ /**
6
+ * Provides storage for authentication credentials.
7
+ * The Credentials interface should be replaced with proper implementation.
8
+ */
9
+ export class CredentialsService {
10
+ constructor(configService) {
11
+ this.configService = configService;
12
+ this._credentials = null;
13
+ }
14
+ /**
15
+ * Checks is the user is authenticated.
16
+ * @return True if the user is authenticated.
17
+ */
18
+ get isAuthenticated() {
19
+ return !!this.credentials;
20
+ }
21
+ /**
22
+ * Gets the user credentials.
23
+ * @return The user credentials or null if the user is not authenticated.
24
+ */
25
+ get credentials() {
26
+ if (!this._credentials) {
27
+ this._credentials = JSON.parse(sessionStorage.getItem(this.configService.getCredentialsKey()) || localStorage.getItem(this.configService.getCredentialsKey()));
28
+ }
29
+ return this._credentials;
30
+ }
31
+ /**
32
+ * Sets the user credentials.
33
+ * The credentials may be persisted across sessions by setting the `remember` parameter to true.
34
+ * Otherwise, the credentials are only persisted for the current session.
35
+ * @param credentials The user credentials.
36
+ * @param remember True to remember credentials across sessions.
37
+ */
38
+ setCredentials(credentials, remember) {
39
+ this._credentials = credentials || null;
40
+ if (credentials) {
41
+ (remember ? localStorage : sessionStorage).setItem(this.configService.getCredentialsKey(), JSON.stringify(credentials));
42
+ }
43
+ else {
44
+ sessionStorage.clear();
45
+ localStorage.clear();
46
+ this._credentials = null;
47
+ }
48
+ }
49
+ getAccessToken() {
50
+ var _a, _b, _c, _d;
51
+ const expiration = ((_b = (_a = this.credentials) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.expires_in) || '';
52
+ const token = ((_d = (_c = this.credentials) === null || _c === void 0 ? void 0 : _c.token) === null || _d === void 0 ? void 0 : _d.access_token) || '';
53
+ if (!token || !expiration) {
54
+ return null;
55
+ }
56
+ if (Date.now() > parseInt(expiration)) {
57
+ this.setCredentials();
58
+ return null;
59
+ }
60
+ return token;
61
+ }
62
+ getExpiration() {
63
+ var _a, _b;
64
+ return ((_b = (_a = this.credentials) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.expires_in) || '';
65
+ }
66
+ getRefreshToken() {
67
+ var _a, _b;
68
+ return ((_b = (_a = this.credentials) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.refresh_token) || '';
69
+ }
70
+ refresh() {
71
+ this._credentials = null;
72
+ return this;
73
+ }
74
+ }
75
+ CredentialsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CredentialsService_Factory() { return new CredentialsService(i0.ɵɵinject(i1.ConfigService)); }, token: CredentialsService, providedIn: "root" });
76
+ CredentialsService.decorators = [
77
+ { type: Injectable, args: [{
78
+ providedIn: 'root'
79
+ },] }
80
+ ];
81
+ CredentialsService.ctorParameters = () => [
82
+ { type: ConfigService }
83
+ ];
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9jcmVkZW50aWFscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFRakQ7OztHQUdHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUZ4QyxpQkFBWSxHQUF1QixJQUFJLENBQUM7SUFHaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksZUFBZTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDaEs7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBQyxXQUF5QixFQUFFLFFBQWtCO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQztRQUV4QyxJQUFJLFdBQVcsRUFBRTtZQUNmLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQ3pIO2FBQU07WUFDTCxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELGNBQWM7O1FBQ1osTUFBTSxVQUFVLEdBQUcsYUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxLQUFLLDBDQUFFLFVBQVUsS0FBSSxFQUFFLENBQUM7UUFDN0QsTUFBTSxLQUFLLEdBQUcsYUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxLQUFLLDBDQUFFLFlBQVksS0FBSSxFQUFFLENBQUM7UUFFMUQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsYUFBYTs7UUFDWCxPQUFPLGFBQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsS0FBSywwQ0FBRSxVQUFVLEtBQUksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxlQUFlOztRQUNiLE9BQU8sYUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxLQUFLLDBDQUFFLGFBQWEsS0FBSSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7WUEzRUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFkUSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWRlbnRpYWxzIHtcbiAgLy8gQ3VzdG9taXplIHJlY2VpdmVkIGNyZWRlbnRpYWxzIGhlcmVcbiAgdXNlcjogYW55O1xuICB0b2tlbjogYW55O1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIHN0b3JhZ2UgZm9yIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzLlxuICogVGhlIENyZWRlbnRpYWxzIGludGVyZmFjZSBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCBwcm9wZXIgaW1wbGVtZW50YXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENyZWRlbnRpYWxzU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlzIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQuXG4gICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkLlxuICAgKi9cbiAgZ2V0IGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNyZWRlbnRpYWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHVzZXIgY3JlZGVudGlhbHMuXG4gICAqIEByZXR1cm4gVGhlIHVzZXIgY3JlZGVudGlhbHMgb3IgbnVsbCBpZiB0aGUgdXNlciBpcyBub3QgYXV0aGVudGljYXRlZC5cbiAgICovXG4gIGdldCBjcmVkZW50aWFscygpOiBDcmVkZW50aWFscyB8IG51bGwge1xuICAgIGlmICghdGhpcy5fY3JlZGVudGlhbHMpIHtcbiAgICAgIHRoaXMuX2NyZWRlbnRpYWxzID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuY29uZmlnU2VydmljZS5nZXRDcmVkZW50aWFsc0tleSgpKSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q3JlZGVudGlhbHNLZXkoKSkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY3JlZGVudGlhbHM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdXNlciBjcmVkZW50aWFscy5cbiAgICogVGhlIGNyZWRlbnRpYWxzIG1heSBiZSBwZXJzaXN0ZWQgYWNyb3NzIHNlc3Npb25zIGJ5IHNldHRpbmcgdGhlIGByZW1lbWJlcmAgcGFyYW1ldGVyIHRvIHRydWUuXG4gICAqIE90aGVyd2lzZSwgdGhlIGNyZWRlbnRpYWxzIGFyZSBvbmx5IHBlcnNpc3RlZCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbi5cbiAgICogQHBhcmFtIGNyZWRlbnRpYWxzIFRoZSB1c2VyIGNyZWRlbnRpYWxzLlxuICAgKiBAcGFyYW0gcmVtZW1iZXIgVHJ1ZSB0byByZW1lbWJlciBjcmVkZW50aWFscyBhY3Jvc3Mgc2Vzc2lvbnMuXG4gICAqL1xuICBzZXRDcmVkZW50aWFscyhjcmVkZW50aWFscz86IENyZWRlbnRpYWxzLCByZW1lbWJlcj86IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jcmVkZW50aWFscyA9IGNyZWRlbnRpYWxzIHx8IG51bGw7XG5cbiAgICBpZiAoY3JlZGVudGlhbHMpIHtcbiAgICAgIChyZW1lbWJlciA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlKS5zZXRJdGVtKHRoaXMuY29uZmlnU2VydmljZS5nZXRDcmVkZW50aWFsc0tleSgpLCBKU09OLnN0cmluZ2lmeShjcmVkZW50aWFscykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgICB0aGlzLl9jcmVkZW50aWFscyA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgZ2V0QWNjZXNzVG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgZXhwaXJhdGlvbiA9IHRoaXMuY3JlZGVudGlhbHM/LnRva2VuPy5leHBpcmVzX2luIHx8ICcnO1xuICAgIGNvbnN0IHRva2VuID0gdGhpcy5jcmVkZW50aWFscz8udG9rZW4/LmFjY2Vzc190b2tlbiB8fCAnJztcblxuICAgIGlmICghdG9rZW4gfHwgIWV4cGlyYXRpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChEYXRlLm5vdygpID4gcGFyc2VJbnQoZXhwaXJhdGlvbikpIHtcbiAgICAgIHRoaXMuc2V0Q3JlZGVudGlhbHMoKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0b2tlbjtcbiAgfVxuXG4gIGdldEV4cGlyYXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jcmVkZW50aWFscz8udG9rZW4/LmV4cGlyZXNfaW4gfHwgJyc7XG4gIH1cblxuICBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jcmVkZW50aWFscz8udG9rZW4/LnJlZnJlc2hfdG9rZW4gfHwgJyc7XG4gIH1cblxuICByZWZyZXNoKCk6IENyZWRlbnRpYWxzU2VydmljZSB7XG4gICAgdGhpcy5fY3JlZGVudGlhbHMgPSBudWxsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,121 +1,121 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpService } from './http.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./http.service";
5
- /**
6
- * Service that provides a wrapper for retrieving data from the server
7
- * @deprecated use HttpService Instead
8
- * @author Joshua Kissoon
9
- * @since 20170709
10
- */
11
- export class DataManager {
12
- constructor(http) {
13
- this.http = http;
14
- }
15
- /**
16
- * Callback wrapper for the HTTP GET Call
17
- *
18
- * @param urlq The query part of the URL to be sent to the server
19
- *
20
- * @author Joshua Kissoon
21
- * @since 20160826
22
- * @updated 20170711 to add parameters
23
- */
24
- GET(urlq, params = {}) {
25
- return this.http
26
- .get(urlq, { params: params })
27
- .toPromise();
28
- }
29
- /**
30
- * Callback wrapper for the HTTP POST Call
31
- *
32
- * @param urlq The query part of the URL to be sent to the server
33
- * @param object The object containing the POST data to be sent
34
- *
35
- * @author Joshua Kissoon
36
- * @since 20160826
37
- */
38
- POST(urlq, object) {
39
- if (null == object) {
40
- object = { "blank": "blank" };
41
- }
42
- return this.http
43
- .post(urlq, object)
44
- .toPromise();
45
- }
46
- /**
47
- * Callback wrapper for the HTTP POST Call
48
- *
49
- * @param urlq The query part of the URL to be sent to the server
50
- * @param object The object containing the POST data to be sent
51
- *
52
- * @author Joshua Kissoon
53
- * @since 20160826
54
- */
55
- POSTRAW(urlq, object) {
56
- if (null == object) {
57
- object = { "blank": "blank" };
58
- }
59
- return this.http
60
- .skipHeader()
61
- .post(urlq, object)
62
- .toPromise();
63
- }
64
- /**
65
- * Callback wrapper for the HTTP PUT Call
66
- *
67
- * @param urlq The query part of the URL to be sent to the server
68
- * @param object The object containing the PUT data to be sent
69
- *
70
- * @author Joshua Kissoon
71
- * @since 20160826
72
- */
73
- PUT(urlq, object) {
74
- if (null == object) {
75
- object = { "blank": "blank" };
76
- }
77
- return this.http
78
- .put(urlq, object)
79
- .toPromise();
80
- }
81
- /**
82
- * Callback wrapper for the HTTP PATCH Call
83
- *
84
- * @param urlq The query part of the URL to be sent to the server
85
- * @param object The object containing the PUT data to be sent
86
- *
87
- * @author Joshua Kissoon
88
- * @since 20161107
89
- */
90
- PATCH(urlq, object) {
91
- if (null == object) {
92
- object = { "blank": "blank" };
93
- }
94
- return this.http
95
- .patch(urlq, object)
96
- .toPromise();
97
- }
98
- /**
99
- * Callback wrapper for the HTTP DELETE Call
100
- *
101
- * @param urlq The query part of the URL to be sent to the server
102
- *
103
- * @author Joshua Kissoon
104
- * @since 20160826
105
- */
106
- DELETE(urlq) {
107
- return this.http
108
- .delete(urlq)
109
- .toPromise();
110
- }
111
- }
112
- DataManager.ɵprov = i0.ɵɵdefineInjectable({ factory: function DataManager_Factory() { return new DataManager(i0.ɵɵinject(i1.HttpService)); }, token: DataManager, providedIn: "root" });
113
- DataManager.decorators = [
114
- { type: Injectable, args: [{
115
- providedIn: 'root'
116
- },] }
117
- ];
118
- DataManager.ctorParameters = () => [
119
- { type: HttpService }
120
- ];
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpService } from './http.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./http.service";
5
+ /**
6
+ * Service that provides a wrapper for retrieving data from the server
7
+ * @deprecated use HttpService Instead
8
+ * @author Joshua Kissoon
9
+ * @since 20170709
10
+ */
11
+ export class DataManager {
12
+ constructor(http) {
13
+ this.http = http;
14
+ }
15
+ /**
16
+ * Callback wrapper for the HTTP GET Call
17
+ *
18
+ * @param urlq The query part of the URL to be sent to the server
19
+ *
20
+ * @author Joshua Kissoon
21
+ * @since 20160826
22
+ * @updated 20170711 to add parameters
23
+ */
24
+ GET(urlq, params = {}) {
25
+ return this.http
26
+ .get(urlq, { params: params })
27
+ .toPromise();
28
+ }
29
+ /**
30
+ * Callback wrapper for the HTTP POST Call
31
+ *
32
+ * @param urlq The query part of the URL to be sent to the server
33
+ * @param object The object containing the POST data to be sent
34
+ *
35
+ * @author Joshua Kissoon
36
+ * @since 20160826
37
+ */
38
+ POST(urlq, object) {
39
+ if (null == object) {
40
+ object = { "blank": "blank" };
41
+ }
42
+ return this.http
43
+ .post(urlq, object)
44
+ .toPromise();
45
+ }
46
+ /**
47
+ * Callback wrapper for the HTTP POST Call
48
+ *
49
+ * @param urlq The query part of the URL to be sent to the server
50
+ * @param object The object containing the POST data to be sent
51
+ *
52
+ * @author Joshua Kissoon
53
+ * @since 20160826
54
+ */
55
+ POSTRAW(urlq, object) {
56
+ if (null == object) {
57
+ object = { "blank": "blank" };
58
+ }
59
+ return this.http
60
+ .skipHeader()
61
+ .post(urlq, object)
62
+ .toPromise();
63
+ }
64
+ /**
65
+ * Callback wrapper for the HTTP PUT Call
66
+ *
67
+ * @param urlq The query part of the URL to be sent to the server
68
+ * @param object The object containing the PUT data to be sent
69
+ *
70
+ * @author Joshua Kissoon
71
+ * @since 20160826
72
+ */
73
+ PUT(urlq, object) {
74
+ if (null == object) {
75
+ object = { "blank": "blank" };
76
+ }
77
+ return this.http
78
+ .put(urlq, object)
79
+ .toPromise();
80
+ }
81
+ /**
82
+ * Callback wrapper for the HTTP PATCH Call
83
+ *
84
+ * @param urlq The query part of the URL to be sent to the server
85
+ * @param object The object containing the PUT data to be sent
86
+ *
87
+ * @author Joshua Kissoon
88
+ * @since 20161107
89
+ */
90
+ PATCH(urlq, object) {
91
+ if (null == object) {
92
+ object = { "blank": "blank" };
93
+ }
94
+ return this.http
95
+ .patch(urlq, object)
96
+ .toPromise();
97
+ }
98
+ /**
99
+ * Callback wrapper for the HTTP DELETE Call
100
+ *
101
+ * @param urlq The query part of the URL to be sent to the server
102
+ *
103
+ * @author Joshua Kissoon
104
+ * @since 20160826
105
+ */
106
+ DELETE(urlq) {
107
+ return this.http
108
+ .delete(urlq)
109
+ .toPromise();
110
+ }
111
+ }
112
+ DataManager.ɵprov = i0.ɵɵdefineInjectable({ factory: function DataManager_Factory() { return new DataManager(i0.ɵɵinject(i1.HttpService)); }, token: DataManager, providedIn: "root" });
113
+ DataManager.decorators = [
114
+ { type: Injectable, args: [{
115
+ providedIn: 'root'
116
+ },] }
117
+ ];
118
+ DataManager.ctorParameters = () => [
119
+ { type: HttpService }
120
+ ];
121
121
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YU1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9kYXRhTWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFN0M7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8sV0FBVztJQUVwQixZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUksQ0FBQztJQUUxQzs7Ozs7Ozs7T0FRRztJQUNILEdBQUcsQ0FBQyxJQUFZLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7YUFDN0IsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBSSxDQUFDLElBQVksRUFBRSxNQUFXO1FBQzFCLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRTtZQUNoQixNQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDakM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDbEIsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBTyxDQUFDLElBQVksRUFBRSxNQUFXO1FBQzdCLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRTtZQUNoQixNQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDakM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsVUFBVSxFQUFFO2FBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDbEIsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUdEOzs7Ozs7OztPQVFHO0lBQ0gsR0FBRyxDQUFDLElBQVksRUFBRSxNQUFXO1FBQ3pCLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRTtZQUNoQixNQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDakM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDakIsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLElBQVksRUFBRSxNQUFXO1FBQzNCLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRTtZQUNoQixNQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDakM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDbkIsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxNQUFNLENBQUMsSUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDO2FBQ1osU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQzs7OztZQWhISixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQVZRLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyBhIHdyYXBwZXIgZm9yIHJldHJpZXZpbmcgZGF0YSBmcm9tIHRoZSBzZXJ2ZXJcclxuICogQGRlcHJlY2F0ZWQgdXNlIEh0dHBTZXJ2aWNlIEluc3RlYWRcclxuICogQGF1dGhvciBKb3NodWEgS2lzc29vblxyXG4gKiBAc2luY2UgMjAxNzA3MDlcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YU1hbmFnZXIge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgd3JhcHBlciBmb3IgdGhlIEhUVFAgR0VUIENhbGxcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHVybHEgVGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTCB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXJcclxuICAgICAqIFxyXG4gICAgICogQGF1dGhvciBKb3NodWEgS2lzc29vblxyXG4gICAgICogQHNpbmNlIDIwMTYwODI2XHJcbiAgICAgKiBAdXBkYXRlZCAyMDE3MDcxMSB0byBhZGQgcGFyYW1ldGVyc1xyXG4gICAgICovXHJcbiAgICBHRVQodXJscTogc3RyaW5nLCBwYXJhbXMgPSB7fSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0KHVybHEsIHsgcGFyYW1zOiBwYXJhbXMgfSlcclxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgd3JhcHBlciBmb3IgdGhlIEhUVFAgUE9TVCBDYWxsXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB1cmxxIFRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwgdG8gYmUgc2VudCB0byB0aGUgc2VydmVyXHJcbiAgICAgKiBAcGFyYW0gb2JqZWN0IFRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgUE9TVCBkYXRhIHRvIGJlIHNlbnRcclxuICAgICAqIFxyXG4gICAgICogQGF1dGhvciBKb3NodWEgS2lzc29vblxyXG4gICAgICogQHNpbmNlIDIwMTYwODI2XHJcbiAgICAgKi9cclxuICAgIFBPU1QodXJscTogc3RyaW5nLCBvYmplY3Q6IGFueSk6IGFueSB7XHJcbiAgICAgICAgaWYgKG51bGwgPT0gb2JqZWN0KSB7XHJcbiAgICAgICAgICAgIG9iamVjdCA9IHsgXCJibGFua1wiOiBcImJsYW5rXCIgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3QodXJscSwgb2JqZWN0KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayB3cmFwcGVyIGZvciB0aGUgSFRUUCBQT1NUIENhbGxcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHVybHEgVGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTCB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXJcclxuICAgICAqIEBwYXJhbSBvYmplY3QgVGhlIG9iamVjdCBjb250YWluaW5nIHRoZSBQT1NUIGRhdGEgdG8gYmUgc2VudFxyXG4gICAgICogXHJcbiAgICAgKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXHJcbiAgICAgKiBAc2luY2UgMjAxNjA4MjZcclxuICAgICAqL1xyXG4gICAgUE9TVFJBVyh1cmxxOiBzdHJpbmcsIG9iamVjdDogYW55KTogYW55IHtcclxuICAgICAgICBpZiAobnVsbCA9PSBvYmplY3QpIHtcclxuICAgICAgICAgICAgb2JqZWN0ID0geyBcImJsYW5rXCI6IFwiYmxhbmtcIiB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuc2tpcEhlYWRlcigpXHJcbiAgICAgICAgICAgIC5wb3N0KHVybHEsIG9iamVjdClcclxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIHdyYXBwZXIgZm9yIHRoZSBIVFRQIFBVVCBDYWxsXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB1cmxxIFRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwgdG8gYmUgc2VudCB0byB0aGUgc2VydmVyXHJcbiAgICAgKiBAcGFyYW0gb2JqZWN0IFRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgUFVUIGRhdGEgdG8gYmUgc2VudFxyXG4gICAgICogXHJcbiAgICAgKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXHJcbiAgICAgKiBAc2luY2UgMjAxNjA4MjZcclxuICAgICAqL1xyXG4gICAgUFVUKHVybHE6IHN0cmluZywgb2JqZWN0OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGlmIChudWxsID09IG9iamVjdCkge1xyXG4gICAgICAgICAgICBvYmplY3QgPSB7IFwiYmxhbmtcIjogXCJibGFua1wiIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5wdXQodXJscSwgb2JqZWN0KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayB3cmFwcGVyIGZvciB0aGUgSFRUUCBQQVRDSCBDYWxsXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB1cmxxIFRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwgdG8gYmUgc2VudCB0byB0aGUgc2VydmVyXHJcbiAgICAgKiBAcGFyYW0gb2JqZWN0IFRoZSBvYmplY3QgY29udGFpbmluZyB0aGUgUFVUIGRhdGEgdG8gYmUgc2VudFxyXG4gICAgICogXHJcbiAgICAgKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXHJcbiAgICAgKiBAc2luY2UgMjAxNjExMDdcclxuICAgICAqL1xyXG4gICAgUEFUQ0godXJscTogc3RyaW5nLCBvYmplY3Q6IGFueSk6IGFueSB7XHJcbiAgICAgICAgaWYgKG51bGwgPT0gb2JqZWN0KSB7XHJcbiAgICAgICAgICAgIG9iamVjdCA9IHsgXCJibGFua1wiOiBcImJsYW5rXCIgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBhdGNoKHVybHEsIG9iamVjdClcclxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgd3JhcHBlciBmb3IgdGhlIEhUVFAgREVMRVRFIENhbGxcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHVybHEgVGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTCB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXJcclxuICAgICAqIFxyXG4gICAgICogQGF1dGhvciBKb3NodWEgS2lzc29vblxyXG4gICAgICogQHNpbmNlIDIwMTYwODI2XHJcbiAgICAgKi9cclxuICAgIERFTEVURSh1cmxxOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmRlbGV0ZSh1cmxxKVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG59Il19