ngx-techlify-core 11.2.4

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 (313) hide show
  1. package/README.md +24 -0
  2. package/bundles/ngx-techlify-core.umd.js +6602 -0
  3. package/bundles/ngx-techlify-core.umd.js.map +1 -0
  4. package/bundles/ngx-techlify-core.umd.min.js +17 -0
  5. package/bundles/ngx-techlify-core.umd.min.js.map +1 -0
  6. package/esm2015/lib/action-popup/action-popup.component.js +32 -0
  7. package/esm2015/lib/action-popup/action-popup.model.js +3 -0
  8. package/esm2015/lib/action-popup/action-popup.module.js +26 -0
  9. package/esm2015/lib/action-popup/index.js +3 -0
  10. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +12 -0
  11. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +49 -0
  12. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +25 -0
  13. package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +12 -0
  14. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +132 -0
  15. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +29 -0
  16. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +12 -0
  17. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +67 -0
  18. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +25 -0
  19. package/esm2015/lib/audit-log/audit-log-routing.module.js +19 -0
  20. package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +12 -0
  21. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +62 -0
  22. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +21 -0
  23. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +12 -0
  24. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +59 -0
  25. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +21 -0
  26. package/esm2015/lib/audit-log/audit-log.module.js +20 -0
  27. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +12 -0
  28. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +35 -0
  29. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +21 -0
  30. package/esm2015/lib/core/alert.service.js +40 -0
  31. package/esm2015/lib/core/api-prefix.interceptor.js +28 -0
  32. package/esm2015/lib/core/authentication.guard.js +39 -0
  33. package/esm2015/lib/core/authentication.service.js +59 -0
  34. package/esm2015/lib/core/cache.interceptor.js +60 -0
  35. package/esm2015/lib/core/config.service.js +47 -0
  36. package/esm2015/lib/core/core.module.js +42 -0
  37. package/esm2015/lib/core/credentials.service.js +84 -0
  38. package/esm2015/lib/core/dataManager.service.js +121 -0
  39. package/esm2015/lib/core/error-handler.interceptor.js +53 -0
  40. package/esm2015/lib/core/error-handler.service.js +49 -0
  41. package/esm2015/lib/core/form-validator.service.js +23 -0
  42. package/esm2015/lib/core/header.interceptor.js +22 -0
  43. package/esm2015/lib/core/http-cache.service.js +110 -0
  44. package/esm2015/lib/core/http.service.js +82 -0
  45. package/esm2015/lib/core/index.js +21 -0
  46. package/esm2015/lib/core/logger.service.js +100 -0
  47. package/esm2015/lib/core/route-reusable-strategy.js +35 -0
  48. package/esm2015/lib/core/snack/snack.component.js +33 -0
  49. package/esm2015/lib/core/snack/snack.module.js +25 -0
  50. package/esm2015/lib/core/storage.service.js +37 -0
  51. package/esm2015/lib/core/techlify-config.model.js +26 -0
  52. package/esm2015/lib/core/token.interceptor.js +30 -0
  53. package/esm2015/lib/data-table/data-table.component.js +190 -0
  54. package/esm2015/lib/data-table/data-table.model.js +11 -0
  55. package/esm2015/lib/data-table/data-table.module.js +25 -0
  56. package/esm2015/lib/data-table/index.js +3 -0
  57. package/esm2015/lib/date-validator.js +10 -0
  58. package/esm2015/lib/document-viewer/document-viewer.component.js +58 -0
  59. package/esm2015/lib/document-viewer/document-viewer.module.js +25 -0
  60. package/esm2015/lib/document-viewer/index.js +3 -0
  61. package/esm2015/lib/document-viewer/viewer-config.model.js +3 -0
  62. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +26 -0
  63. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +72 -0
  64. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +23 -0
  65. package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +2 -0
  66. package/esm2015/lib/email-subscription/email-subscription-routing.module.js +12 -0
  67. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +12 -0
  68. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +102 -0
  69. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +28 -0
  70. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +2 -0
  71. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +28 -0
  72. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +153 -0
  73. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +27 -0
  74. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +2 -0
  75. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +12 -0
  76. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +15 -0
  77. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +12 -0
  78. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +99 -0
  79. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +27 -0
  80. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +2 -0
  81. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +28 -0
  82. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +155 -0
  83. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +29 -0
  84. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +2 -0
  85. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +12 -0
  86. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +50 -0
  87. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +25 -0
  88. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +2 -0
  89. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +12 -0
  90. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +15 -0
  91. package/esm2015/lib/email-subscription/email-subscription.module.js +15 -0
  92. package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +141 -0
  93. package/esm2015/lib/entity-files/entity-file.service.js +38 -0
  94. package/esm2015/lib/entity-files/entity-files-view-all.component.js +161 -0
  95. package/esm2015/lib/entity-files/entity-files-view-all.module.js +34 -0
  96. package/esm2015/lib/entity-files/index.js +3 -0
  97. package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +32 -0
  98. package/esm2015/lib/export-excel/export-excel.module.js +17 -0
  99. package/esm2015/lib/file-dropper/file-dropper.component.js +122 -0
  100. package/esm2015/lib/file-dropper/file-dropper.model.js +3 -0
  101. package/esm2015/lib/file-dropper/file-dropper.module.js +21 -0
  102. package/esm2015/lib/file-dropper/index.js +3 -0
  103. package/esm2015/lib/import-csv/failed-items/failed-items-routing.module.js +12 -0
  104. package/esm2015/lib/import-csv/failed-items/failed-items.component.js +23 -0
  105. package/esm2015/lib/import-csv/failed-items/failed-items.module.js +21 -0
  106. package/esm2015/lib/import-csv/import-config.js +3 -0
  107. package/esm2015/lib/import-csv/import-csv-routing.module.js +12 -0
  108. package/esm2015/lib/import-csv/import-csv.component.js +111 -0
  109. package/esm2015/lib/import-csv/import-csv.module.js +27 -0
  110. package/esm2015/lib/import-csv/import-items/import-items-routing.module.js +12 -0
  111. package/esm2015/lib/import-csv/import-items/import-items.component.js +139 -0
  112. package/esm2015/lib/import-csv/import-items/import-items.module.js +23 -0
  113. package/esm2015/lib/loader/index.js +2 -0
  114. package/esm2015/lib/loader/loader.component.js +22 -0
  115. package/esm2015/lib/loader/loader.module.js +21 -0
  116. package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +20 -0
  117. package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +79 -0
  118. package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +27 -0
  119. package/esm2015/lib/material.module.js +58 -0
  120. package/esm2015/lib/note/index.js +3 -0
  121. package/esm2015/lib/note/note-form/note-form.component.js +80 -0
  122. package/esm2015/lib/note/note-list/note-list.component.js +120 -0
  123. package/esm2015/lib/note/note.module.js +32 -0
  124. package/esm2015/lib/note/note.service.js +31 -0
  125. package/esm2015/lib/searchable-selector/index.js +3 -0
  126. package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +81 -0
  127. package/esm2015/lib/searchable-selector/searchable-selector.component.js +267 -0
  128. package/esm2015/lib/searchable-selector/searchable-selector.module.js +28 -0
  129. package/esm2015/lib/techlify-update/read-more/read-more.component.js +43 -0
  130. package/esm2015/lib/techlify-update/read-more/read-more.module.js +21 -0
  131. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +114 -0
  132. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +28 -0
  133. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +22 -0
  134. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +143 -0
  135. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +28 -0
  136. package/esm2015/lib/techlify-update/techlify-update-routing.module.js +22 -0
  137. package/esm2015/lib/techlify-update/techlify-update.module.js +30 -0
  138. package/esm2015/lib/techlify-update/techlify-update.service.js +43 -0
  139. package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +161 -0
  140. package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +82 -0
  141. package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +62 -0
  142. package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +29 -0
  143. package/esm2015/lib/techlify-update/update-view/update-view.component.js +36 -0
  144. package/esm2015/lib/techlify-update/update-view/update-view.module.js +24 -0
  145. package/esm2015/lib/timeline-filter/calculate-timeline.js +90 -0
  146. package/esm2015/lib/timeline-filter/index.js +4 -0
  147. package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +12 -0
  148. package/esm2015/lib/timeline-filter/timeline-filter.component.js +57 -0
  149. package/esm2015/lib/timeline-filter/timeline-filter.module.js +23 -0
  150. package/esm2015/lib/timeline-filter/timeline.model.js +15 -0
  151. package/esm2015/lib/utility/date-utils.service.js +48 -0
  152. package/esm2015/lib/utility/index.js +4 -0
  153. package/esm2015/lib/utility/num-items-selector.component.js +30 -0
  154. package/esm2015/lib/utility/number-selector.component.js +38 -0
  155. package/esm2015/lib/utility/utility.module.js +21 -0
  156. package/esm2015/ngx-techlify-core.js +52 -0
  157. package/esm2015/public-api.js +91 -0
  158. package/fesm2015/ngx-techlify-core.js +5575 -0
  159. package/fesm2015/ngx-techlify-core.js.map +1 -0
  160. package/lib/action-popup/action-popup.component.d.ts +14 -0
  161. package/lib/action-popup/action-popup.model.d.ts +5 -0
  162. package/lib/action-popup/action-popup.module.d.ts +2 -0
  163. package/lib/action-popup/index.d.ts +2 -0
  164. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +2 -0
  165. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +12 -0
  166. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -0
  167. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +2 -0
  168. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +32 -0
  169. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +2 -0
  170. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +2 -0
  171. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +19 -0
  172. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +2 -0
  173. package/lib/audit-log/audit-log-routing.module.d.ts +2 -0
  174. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +2 -0
  175. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +17 -0
  176. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +2 -0
  177. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +2 -0
  178. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +15 -0
  179. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +2 -0
  180. package/lib/audit-log/audit-log.module.d.ts +2 -0
  181. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +2 -0
  182. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +11 -0
  183. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +2 -0
  184. package/lib/core/alert.service.d.ts +12 -0
  185. package/lib/core/api-prefix.interceptor.d.ts +11 -0
  186. package/lib/core/authentication.guard.d.ts +10 -0
  187. package/lib/core/authentication.service.d.ts +23 -0
  188. package/lib/core/cache.interceptor.d.ts +21 -0
  189. package/lib/core/config.service.d.ts +19 -0
  190. package/lib/core/core.module.d.ts +3 -0
  191. package/lib/core/credentials.service.d.ts +36 -0
  192. package/lib/core/dataManager.service.d.ts +70 -0
  193. package/lib/core/error-handler.interceptor.d.ts +14 -0
  194. package/lib/core/error-handler.service.d.ts +12 -0
  195. package/lib/core/form-validator.service.d.ts +8 -0
  196. package/lib/core/header.interceptor.d.ts +8 -0
  197. package/lib/core/http-cache.service.d.ts +54 -0
  198. package/lib/core/http.service.d.ts +56 -0
  199. package/lib/core/index.d.ts +20 -0
  200. package/lib/core/logger.service.d.ts +85 -0
  201. package/lib/core/route-reusable-strategy.d.ts +13 -0
  202. package/lib/core/snack/snack.component.d.ts +8 -0
  203. package/lib/core/snack/snack.module.d.ts +2 -0
  204. package/lib/core/storage.service.d.ts +15 -0
  205. package/lib/core/techlify-config.model.d.ts +17 -0
  206. package/lib/core/token.interceptor.d.ts +11 -0
  207. package/lib/data-table/data-table.component.d.ts +60 -0
  208. package/lib/data-table/data-table.model.d.ts +46 -0
  209. package/lib/data-table/data-table.module.d.ts +2 -0
  210. package/lib/data-table/index.d.ts +2 -0
  211. package/lib/date-validator.d.ts +1 -0
  212. package/lib/document-viewer/document-viewer.component.d.ts +16 -0
  213. package/lib/document-viewer/document-viewer.module.d.ts +2 -0
  214. package/lib/document-viewer/index.d.ts +2 -0
  215. package/lib/document-viewer/viewer-config.model.d.ts +5 -0
  216. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +7 -0
  217. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +17 -0
  218. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +2 -0
  219. package/lib/email-subscription/email-subscription-for-user/index.d.ts +1 -0
  220. package/lib/email-subscription/email-subscription-routing.module.d.ts +2 -0
  221. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +2 -0
  222. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +32 -0
  223. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +2 -0
  224. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts +1 -0
  225. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +9 -0
  226. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +30 -0
  227. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +2 -0
  228. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +1 -0
  229. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +2 -0
  230. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +2 -0
  231. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +2 -0
  232. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +32 -0
  233. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +2 -0
  234. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts +1 -0
  235. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +9 -0
  236. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +32 -0
  237. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +2 -0
  238. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts +1 -0
  239. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +2 -0
  240. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +13 -0
  241. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +2 -0
  242. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts +1 -0
  243. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +2 -0
  244. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +2 -0
  245. package/lib/email-subscription/email-subscription.module.d.ts +2 -0
  246. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +34 -0
  247. package/lib/entity-files/entity-file.service.d.ts +10 -0
  248. package/lib/entity-files/entity-files-view-all.component.d.ts +38 -0
  249. package/lib/entity-files/entity-files-view-all.module.d.ts +2 -0
  250. package/lib/entity-files/index.d.ts +2 -0
  251. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +8 -0
  252. package/lib/export-excel/export-excel.module.d.ts +2 -0
  253. package/lib/file-dropper/file-dropper.component.d.ts +33 -0
  254. package/lib/file-dropper/file-dropper.model.d.ts +10 -0
  255. package/lib/file-dropper/file-dropper.module.d.ts +2 -0
  256. package/lib/file-dropper/index.d.ts +2 -0
  257. package/lib/import-csv/failed-items/failed-items-routing.module.d.ts +2 -0
  258. package/lib/import-csv/failed-items/failed-items.component.d.ts +8 -0
  259. package/lib/import-csv/failed-items/failed-items.module.d.ts +2 -0
  260. package/lib/import-csv/import-config.d.ts +5 -0
  261. package/lib/import-csv/import-csv-routing.module.d.ts +2 -0
  262. package/lib/import-csv/import-csv.component.d.ts +26 -0
  263. package/lib/import-csv/import-csv.module.d.ts +2 -0
  264. package/lib/import-csv/import-items/import-items-routing.module.d.ts +2 -0
  265. package/lib/import-csv/import-items/import-items.component.d.ts +30 -0
  266. package/lib/import-csv/import-items/import-items.module.d.ts +2 -0
  267. package/lib/loader/index.d.ts +1 -0
  268. package/lib/loader/loader.component.d.ts +8 -0
  269. package/lib/loader/loader.module.d.ts +2 -0
  270. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +2 -0
  271. package/lib/login-history-for-user/login-history-for-user.component.d.ts +21 -0
  272. package/lib/login-history-for-user/login-history-for-user.module.d.ts +2 -0
  273. package/lib/material.module.d.ts +2 -0
  274. package/lib/note/index.d.ts +2 -0
  275. package/lib/note/note-form/note-form.component.d.ts +27 -0
  276. package/lib/note/note-list/note-list.component.d.ts +25 -0
  277. package/lib/note/note.module.d.ts +2 -0
  278. package/lib/note/note.service.d.ts +9 -0
  279. package/lib/searchable-selector/index.d.ts +2 -0
  280. package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +23 -0
  281. package/lib/searchable-selector/searchable-selector.component.d.ts +75 -0
  282. package/lib/searchable-selector/searchable-selector.module.d.ts +2 -0
  283. package/lib/techlify-update/read-more/read-more.component.d.ts +12 -0
  284. package/lib/techlify-update/read-more/read-more.module.d.ts +2 -0
  285. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +30 -0
  286. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +2 -0
  287. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +2 -0
  288. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +31 -0
  289. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +2 -0
  290. package/lib/techlify-update/techlify-update-routing.module.d.ts +2 -0
  291. package/lib/techlify-update/techlify-update.module.d.ts +2 -0
  292. package/lib/techlify-update/techlify-update.service.d.ts +13 -0
  293. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +31 -0
  294. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +25 -0
  295. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +16 -0
  296. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +2 -0
  297. package/lib/techlify-update/update-view/update-view.component.d.ts +14 -0
  298. package/lib/techlify-update/update-view/update-view.module.d.ts +2 -0
  299. package/lib/timeline-filter/calculate-timeline.d.ts +1 -0
  300. package/lib/timeline-filter/index.d.ts +3 -0
  301. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +2 -0
  302. package/lib/timeline-filter/timeline-filter.component.d.ts +14 -0
  303. package/lib/timeline-filter/timeline-filter.module.d.ts +2 -0
  304. package/lib/timeline-filter/timeline.model.d.ts +14 -0
  305. package/lib/utility/date-utils.service.d.ts +21 -0
  306. package/lib/utility/index.d.ts +3 -0
  307. package/lib/utility/num-items-selector.component.d.ts +16 -0
  308. package/lib/utility/number-selector.component.d.ts +20 -0
  309. package/lib/utility/utility.module.d.ts +2 -0
  310. package/ngx-techlify-core.d.ts +51 -0
  311. package/ngx-techlify-core.metadata.json +1 -0
  312. package/package.json +36 -0
  313. package/public-api.d.ts +87 -0
@@ -0,0 +1,111 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import * as XLSX from 'xlsx';
4
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
5
+ import { Location } from '@angular/common';
6
+ import { AlertService } from '../core/alert.service';
7
+ import { HttpService } from '../core/http.service';
8
+ let ImportCsvComponent = class ImportCsvComponent {
9
+ constructor(alertService, http, location) {
10
+ this.alertService = alertService;
11
+ this.http = http;
12
+ this.location = location;
13
+ this.filesList = [];
14
+ this.fileData = [];
15
+ this.failedItems = [];
16
+ this.selectedFields = [];
17
+ this.filesConfig = {
18
+ fileId: "file",
19
+ containerId: "fileContainer",
20
+ styles: {
21
+ height: "600px"
22
+ },
23
+ acceptFile: '.csv',
24
+ multiple: false,
25
+ maxSize: 100,
26
+ acceptFileText: ".csv"
27
+ };
28
+ }
29
+ ngOnInit() {
30
+ }
31
+ reset() {
32
+ this.filesList = [];
33
+ this.failedItems = [];
34
+ this.selectedFields = [];
35
+ this.fileData = [];
36
+ }
37
+ fileChanged(event) {
38
+ this.filesList = event;
39
+ let jsonData = null;
40
+ const reader = new FileReader();
41
+ const file = this.filesList[0];
42
+ reader.onload = (event) => {
43
+ const data = reader.result;
44
+ const selectedFile = XLSX.read(data, { type: 'binary', cellDates: true });
45
+ jsonData = selectedFile.SheetNames.reduce((initial, name) => {
46
+ const sheet = selectedFile.Sheets[name];
47
+ initial = XLSX.utils.sheet_to_json(sheet);
48
+ return initial;
49
+ }, []);
50
+ this.fileData = jsonData;
51
+ };
52
+ reader.readAsBinaryString(file);
53
+ return;
54
+ }
55
+ mappingProcessed(event) {
56
+ this.selectedFields = event.fields;
57
+ const tempFileData = JSON.parse(JSON.stringify(this.fileData));
58
+ tempFileData.forEach((data) => {
59
+ for (var key in data) {
60
+ var field = event.fields.find((field) => field.label == key);
61
+ if (field) {
62
+ if ((field.propertyType == 'date' || field.propertyType == 'dateTime') && this.isValidDate(new Date(data[field.label]))) {
63
+ data[field.property] = new Date(data[field.label]).toISOString();
64
+ }
65
+ else {
66
+ data[field.property] = data[field.label];
67
+ }
68
+ delete data[key];
69
+ }
70
+ else {
71
+ delete data[key];
72
+ }
73
+ }
74
+ });
75
+ this.save(tempFileData);
76
+ }
77
+ save(tempFileData) {
78
+ var _a;
79
+ this.http.post((_a = this.importConfig) === null || _a === void 0 ? void 0 : _a.postUrl, { data: tempFileData })
80
+ .pipe(untilDestroyed(this)).subscribe((result) => {
81
+ this.failedItems = (result === null || result === void 0 ? void 0 : result.failed_items) || [];
82
+ if (this.failedItems.length === 0) {
83
+ this.alertService.addAlert("File Import Success", "success");
84
+ this.location.back();
85
+ }
86
+ });
87
+ }
88
+ isValidDate(d) {
89
+ return d instanceof Date && !isNaN(d.getTime());
90
+ }
91
+ };
92
+ ImportCsvComponent.decorators = [
93
+ { type: Component, args: [{
94
+ selector: 'app-import-csv',
95
+ template: "<div fxLayout=\"column\" fx class=\"m-4\">\n <h2 class=\"text-center\">\n {{importConfig?.importType}} Import\n <span>\n <button type=\"button\" *ngIf=\"failedItems.length > 0\" mat-raised-button color=\"warn\"\n (click)=\"reset()\">Reset</button>\n </span>\n </h2>\n\n <ng-container *ngIf=\"failedItems.length === 0\">\n <app-file-dropper *ngIf=\"fileData.length === 0\" [config]=\"filesConfig\" [fileArray]=\"filesList\"\n (fileChanged)=\"fileChanged($event)\">\n </app-file-dropper>\n\n <app-import-items class=\"w-100\" *ngIf=\"fileData.length > 0\" [data]=\"fileData\" [importConfig]=\"importConfig\"\n (onSave)=\"mappingProcessed($event)\"></app-import-items>\n </ng-container>\n\n <app-failed-items class=\"w-100\" *ngIf=\"failedItems.length > 0\" [failedItems]=\"failedItems\"\n [selectedFields]=\"selectedFields\"></app-failed-items>\n\n</div>",
96
+ styles: [""]
97
+ },] }
98
+ ];
99
+ ImportCsvComponent.ctorParameters = () => [
100
+ { type: AlertService },
101
+ { type: HttpService },
102
+ { type: Location }
103
+ ];
104
+ ImportCsvComponent.propDecorators = {
105
+ importConfig: [{ type: Input }]
106
+ };
107
+ ImportCsvComponent = __decorate([
108
+ UntilDestroy()
109
+ ], ImportCsvComponent);
110
+ export { ImportCsvComponent };
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWNzdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2ltcG9ydC1jc3YvaW1wb3J0LWNzdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7SUFRdEMsa0JBQWtCLFNBQWxCLGtCQUFrQjtJQVc3QixZQUNVLFlBQTBCLEVBQzFCLElBQWlCLEVBQ2pCLFFBQWtCO1FBRmxCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVQ1QixjQUFTLEdBQVUsRUFBRSxDQUFDO1FBRXRCLGFBQVEsR0FBVSxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBVSxFQUFFLENBQUM7UUFDeEIsbUJBQWMsR0FBVSxFQUFFLENBQUM7UUFPekIsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixNQUFNLEVBQUUsTUFBTTtZQUNkLFdBQVcsRUFBRSxlQUFlO1lBQzVCLE1BQU0sRUFBRTtnQkFDTixNQUFNLEVBQUUsT0FBTzthQUNoQjtZQUNELFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLEdBQUc7WUFDWixjQUFjLEVBQUUsTUFBTTtTQUN2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O1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxDQUFDLFlBQWlCOztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksT0FBQyxJQUFJLENBQUMsWUFBWSwwQ0FBRSxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7YUFDL0QsSUFBSSxDQUNILGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FDckIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFlBQVksS0FBSSxFQUFFLENBQUM7WUFDOUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLENBQU07UUFDaEIsT0FBTyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRixDQUFBOztZQXpHQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsZzlCQUEwQzs7YUFFM0M7OztZQVJRLFlBQVk7WUFDWixXQUFXO1lBSlgsUUFBUTs7OzJCQWNkLEtBQUs7O0FBRkssa0JBQWtCO0lBTjlCLFlBQVksRUFBRTtHQU1GLGtCQUFrQixDQW9HOUI7U0FwR1ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBJbXBvcnRDb25maWcgfSBmcm9tICcuL2ltcG9ydC1jb25maWcnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRmlsZURyb3BwZXJDb25maWcgfSBmcm9tICcuLi9maWxlLWRyb3BwZXIvZmlsZS1kcm9wcGVyLm1vZGVsJztcbmltcG9ydCB7IFZpZXdlckNvbmZpZyB9IGZyb20gJy4uL2RvY3VtZW50LXZpZXdlci92aWV3ZXItY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHR0cC5zZXJ2aWNlJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtaW1wb3J0LWNzdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQtY3N2LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1wb3J0LWNzdi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEltcG9ydENzdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgaW1wb3J0Q29uZmlnOiBJbXBvcnRDb25maWc7XG5cbiAgZmlsZXNDb25maWc6IEZpbGVEcm9wcGVyQ29uZmlnO1xuICBmaWxlc0xpc3Q6IGFueVtdID0gW107XG4gIHZpZXdlckNvbmZpZzogVmlld2VyQ29uZmlnO1xuICBmaWxlRGF0YTogYW55W10gPSBbXTtcbiAgZmFpbGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkRmllbGRzOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICApIHtcbiAgICB0aGlzLmZpbGVzQ29uZmlnID0ge1xuICAgICAgZmlsZUlkOiBcImZpbGVcIixcbiAgICAgIGNvbnRhaW5lcklkOiBcImZpbGVDb250YWluZXJcIixcbiAgICAgIHN0eWxlczoge1xuICAgICAgICBoZWlnaHQ6IFwiNjAwcHhcIlxuICAgICAgfSxcbiAgICAgIGFjY2VwdEZpbGU6ICcuY3N2JyxcbiAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgIG1heFNpemU6IDEwMCxcbiAgICAgIGFjY2VwdEZpbGVUZXh0OiBcIi5jc3ZcIlxuICAgIH07XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5maWxlc0xpc3QgPSBbXTtcbiAgICB0aGlzLmZhaWxlZEl0ZW1zID0gW107XG4gICAgdGhpcy5zZWxlY3RlZEZpZWxkcyA9IFtdO1xuICAgIHRoaXMuZmlsZURhdGEgPSBbXTtcbiAgfVxuXG4gIGZpbGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpbGVzTGlzdCA9IGV2ZW50O1xuXG4gICAgbGV0IGpzb25EYXRhID0gbnVsbDtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbGVzTGlzdFswXTtcbiAgICByZWFkZXIub25sb2FkID0gKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRmlsZSA9IFhMU1gucmVhZChkYXRhLCB7IHR5cGU6ICdiaW5hcnknLCBjZWxsRGF0ZXM6IHRydWUgfSk7XG4gICAgICBqc29uRGF0YSA9IHNlbGVjdGVkRmlsZS5TaGVldE5hbWVzLnJlZHVjZSgoaW5pdGlhbCwgbmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBzaGVldCA9IHNlbGVjdGVkRmlsZS5TaGVldHNbbmFtZV07XG4gICAgICAgIGluaXRpYWwgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24oc2hlZXQpO1xuICAgICAgICByZXR1cm4gaW5pdGlhbDtcbiAgICAgIH0sIFtdKTtcbiAgICAgIHRoaXMuZmlsZURhdGEgPSBqc29uRGF0YTtcbiAgICB9XG4gICAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyhmaWxlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBtYXBwaW5nUHJvY2Vzc2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkRmllbGRzID0gZXZlbnQuZmllbGRzO1xuICAgIGNvbnN0IHRlbXBGaWxlRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5maWxlRGF0YSkpO1xuICAgIHRlbXBGaWxlRGF0YS5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAgIGZvciAodmFyIGtleSBpbiBkYXRhKSB7XG4gICAgICAgIHZhciBmaWVsZCA9IGV2ZW50LmZpZWxkcy5maW5kKChmaWVsZDogYW55KSA9PiBmaWVsZC5sYWJlbCA9PSBrZXkpO1xuICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICBpZiAoKGZpZWxkLnByb3BlcnR5VHlwZSA9PSAnZGF0ZScgfHwgZmllbGQucHJvcGVydHlUeXBlID09ICdkYXRlVGltZScpICYmIHRoaXMuaXNWYWxpZERhdGUobmV3IERhdGUoZGF0YVtmaWVsZC5sYWJlbF0pKSkge1xuICAgICAgICAgICAgZGF0YVtmaWVsZC5wcm9wZXJ0eV0gPSAobmV3IERhdGUoZGF0YVtmaWVsZC5sYWJlbF0pIGFzIERhdGUpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGF0YVtmaWVsZC5wcm9wZXJ0eV0gPSBkYXRhW2ZpZWxkLmxhYmVsXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVsZXRlIGRhdGFba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBkZWxldGUgZGF0YVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zYXZlKHRlbXBGaWxlRGF0YSk7XG4gIH1cblxuICBzYXZlKHRlbXBGaWxlRGF0YTogYW55KSB7XG4gICAgdGhpcy5odHRwLnBvc3QodGhpcy5pbXBvcnRDb25maWc/LnBvc3RVcmwsIHsgZGF0YTogdGVtcEZpbGVEYXRhIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICAgICkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmZhaWxlZEl0ZW1zID0gcmVzdWx0Py5mYWlsZWRfaXRlbXMgfHwgW107XG4gICAgICAgIGlmICh0aGlzLmZhaWxlZEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFwiRmlsZSBJbXBvcnQgU3VjY2Vzc1wiLCBcInN1Y2Nlc3NcIik7XG4gICAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgaXNWYWxpZERhdGUoZDogYW55KSB7XG4gICAgcmV0dXJuIGQgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkLmdldFRpbWUoKSk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,27 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ImportCsvRoutingModule } from './import-csv-routing.module';
4
+ import { ImportCsvComponent } from './import-csv.component';
5
+ import { ImportItemsModule } from './import-items/import-items.module';
6
+ import { FailedItemsModule } from './failed-items/failed-items.module';
7
+ import { MaterialModule } from '../material.module';
8
+ import { FlexLayoutModule } from '@angular/flex-layout';
9
+ import { FileDropperModule } from '../file-dropper/file-dropper.module';
10
+ export class ImportCsvModule {
11
+ }
12
+ ImportCsvModule.decorators = [
13
+ { type: NgModule, args: [{
14
+ declarations: [ImportCsvComponent],
15
+ imports: [
16
+ CommonModule,
17
+ MaterialModule,
18
+ FlexLayoutModule,
19
+ FileDropperModule,
20
+ ImportCsvRoutingModule,
21
+ ImportItemsModule,
22
+ FailedItemsModule
23
+ ],
24
+ exports: [ImportCsvComponent]
25
+ },] }
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWNzdi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2ltcG9ydC1jc3YvaW1wb3J0LWNzdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBZ0J4RSxNQUFNLE9BQU8sZUFBZTs7O1lBYjNCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDbEMsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtvQkFDakIsc0JBQXNCO29CQUN0QixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7YUFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgSW1wb3J0Q3N2Um91dGluZ01vZHVsZSB9IGZyb20gJy4vaW1wb3J0LWNzdi1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBJbXBvcnRDc3ZDb21wb25lbnQgfSBmcm9tICcuL2ltcG9ydC1jc3YuY29tcG9uZW50JztcbmltcG9ydCB7IEltcG9ydEl0ZW1zTW9kdWxlIH0gZnJvbSAnLi9pbXBvcnQtaXRlbXMvaW1wb3J0LWl0ZW1zLm1vZHVsZSc7XG5pbXBvcnQgeyBGYWlsZWRJdGVtc01vZHVsZSB9IGZyb20gJy4vZmFpbGVkLWl0ZW1zL2ZhaWxlZC1pdGVtcy5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IEZpbGVEcm9wcGVyTW9kdWxlIH0gZnJvbSAnLi4vZmlsZS1kcm9wcGVyL2ZpbGUtZHJvcHBlci5tb2R1bGUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0ltcG9ydENzdkNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBGaWxlRHJvcHBlck1vZHVsZSxcbiAgICBJbXBvcnRDc3ZSb3V0aW5nTW9kdWxlLFxuICAgIEltcG9ydEl0ZW1zTW9kdWxlLFxuICAgIEZhaWxlZEl0ZW1zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtJbXBvcnRDc3ZDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEltcG9ydENzdk1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ const routes = [];
4
+ export class ImportItemsRoutingModule {
5
+ }
6
+ ImportItemsRoutingModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ imports: [RouterModule.forChild(routes)],
9
+ exports: [RouterModule]
10
+ },] }
11
+ ];
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWl0ZW1zLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9pbXBvcnQtY3N2L2ltcG9ydC1pdGVtcy9pbXBvcnQtaXRlbXMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsTUFBTSxNQUFNLEdBQVcsRUFBRSxDQUFDO0FBTTFCLE1BQU0sT0FBTyx3QkFBd0I7OztZQUpwQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2FBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlcywgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSW1wb3J0SXRlbXNSb3V0aW5nTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,139 @@
1
+ import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FormBuilder, FormControl, Validators } from '@angular/forms';
3
+ import { FormValidatorService } from '../../core/form-validator.service';
4
+ const errorMessages = {
5
+ property: {
6
+ required: "Property is required",
7
+ unavailable: "Duplicate entry"
8
+ },
9
+ };
10
+ export class ImportItemsComponent {
11
+ constructor(fb, formValidatorService, changeDetectorRef) {
12
+ this.fb = fb;
13
+ this.formValidatorService = formValidatorService;
14
+ this.changeDetectorRef = changeDetectorRef;
15
+ this.firstDataArray = [];
16
+ this.properties = [];
17
+ this.onSave = new EventEmitter();
18
+ this.createImportMappingForm();
19
+ }
20
+ ngOnInit() {
21
+ this.properties = this.importConfig.properties;
22
+ this.mapOutDataColumns(this.data[0]);
23
+ }
24
+ createImportMappingForm() {
25
+ this.importMappingForm = this.fb.group({
26
+ fields: this.fb.array([]),
27
+ });
28
+ }
29
+ get fieldsArray() {
30
+ return this.importMappingForm.get('fields');
31
+ }
32
+ createField(field) {
33
+ var fieldForm = this.fb.group({
34
+ id: new FormControl(field.id),
35
+ label: new FormControl(field.label),
36
+ value: new FormControl(field.value),
37
+ property: new FormControl(field.property, Validators.compose([
38
+ Validators.required
39
+ ])),
40
+ propertyType: new FormControl(field.propertyType)
41
+ });
42
+ return fieldForm;
43
+ }
44
+ mapOutDataColumns(data) {
45
+ for (var key in data) {
46
+ if (data.hasOwnProperty(key)) {
47
+ var dataValue = {
48
+ id: '',
49
+ label: key,
50
+ value: data[key],
51
+ property: '',
52
+ propertyType: ''
53
+ };
54
+ this.firstDataArray.push(dataValue);
55
+ }
56
+ }
57
+ this.firstDataArray.forEach((element, mainIndex) => {
58
+ element.id = mainIndex;
59
+ this.properties.find((property) => {
60
+ if (property.label.toLowerCase().includes(element.label.toLowerCase())) {
61
+ element.property = property.value;
62
+ element.propertyType = property.type;
63
+ return element;
64
+ }
65
+ });
66
+ });
67
+ }
68
+ submit() {
69
+ this.importMappingForm.markAllAsTouched();
70
+ if (!this.importMappingForm.valid) {
71
+ return;
72
+ }
73
+ this.onSave.emit(this.importMappingForm.value);
74
+ }
75
+ /** Method to evaluate form fields*/
76
+ isFieldValid(field, form) {
77
+ return this.formValidatorService.isFieldValid(field, form);
78
+ }
79
+ /** Method to find error in form fields*/
80
+ getErrorMessage(field, form) {
81
+ return this.formValidatorService.getErrorMessage(field, form, errorMessages);
82
+ }
83
+ ngAfterViewInit() {
84
+ //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
85
+ //Add 'implements AfterViewInit' to the class.
86
+ setTimeout((_) => {
87
+ this.firstDataArray.forEach((element) => {
88
+ this.fieldsArray.push(this.createField(element));
89
+ });
90
+ this.changeDetectorRef.detectChanges();
91
+ }, 500);
92
+ }
93
+ updatePropertyType(event, index) {
94
+ var field = this.properties.find((field) => field.value == event.value);
95
+ if (field) {
96
+ this.fieldsArray.controls[index].get('propertyType').setValue(field.type);
97
+ this.uniqueValidator();
98
+ }
99
+ }
100
+ uniqueValidator() {
101
+ this.fieldsArray.value.forEach((field, index) => {
102
+ var control = this.fieldsArray.controls[index].get('property');
103
+ const isNameUnique = this.fieldsArray.value.find((propertyData) => propertyData.property === control.value
104
+ && propertyData.id != this.fieldsArray.controls[index].get('id').value)
105
+ ? false
106
+ : true;
107
+ if (!isNameUnique) {
108
+ control.setErrors({ unavailable: true });
109
+ }
110
+ else {
111
+ control.setErrors(null);
112
+ }
113
+ });
114
+ }
115
+ removeField(index) {
116
+ if (index == -1) {
117
+ return;
118
+ }
119
+ this.fieldsArray.removeAt(index);
120
+ }
121
+ }
122
+ ImportItemsComponent.decorators = [
123
+ { type: Component, args: [{
124
+ selector: 'app-import-items',
125
+ template: "<div fxLayout=\"column\" class=\"mt-2\">\n <p class=\"text-center secondary-color\">Map your column headers in your file to our properties</p>\n <form [formGroup]=\"importMappingForm\" (ngSubmit)=\"submit()\" fxLayout=\"column\">\n <table style=\"width: 100%;\" class=\"table table-sm table-striped\">\n <tr class=\"table-header-row\">\n <th>Column Headers From File</th>\n <th>Preview Information</th>\n <th>Property</th>\n </tr>\n <ng-container formArrayName=\"fields\">\n <tr *ngFor=\"let field of fieldsArray.controls; let i=index\" [formGroupName]=\"i\">\n <td>{{ field.get('label').value }}</td>\n <td>{{ field.get('value').value }}</td>\n <td>\n <mat-form-field fxFlex=\"100%\" appearance=\"outline\">\n <mat-label>Select Property</mat-label>\n <mat-select placeholder=\"Select Property\" formControlName=\"property\" required\n (selectionChange)=\"updatePropertyType($event, i)\">\n <mat-option *ngFor=\"let property of properties\" [value]=\"property.value\">\n {{property.label}}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"isFieldValid('property', fieldsArray.controls[i])\">\n {{getErrorMessage('property', fieldsArray.controls[i])}}\n </mat-error>\n </mat-form-field>\n <button type=\"button\" mat-icon-button (click)=\"removeField(i)\" *ngIf=\"fieldsArray.length > 1\"\n matTooltip=\"Remove column\" matTooltipPosition=\"right\">\n <mat-icon class=\"text-danger\">remove_circle</mat-icon>\n </button>\n </td>\n </tr>\n </ng-container>\n </table>\n\n <div class=\"mt-1\" fxFlex=\"100%\" fxLayoutAlign=\"end\">\n <button mat-stroked-button color=\"primary\" class=\"mt-2\" type=\"submit\">\n Next\n <mat-icon>\n chevron_right\n </mat-icon>\n </button>\n </div>\n </form>\n</div>",
126
+ styles: ["table{width:100%}td,th{padding:1%}.table-header-row{background-color:#e6e4e4;color:#000;font-weight:bolder}"]
127
+ },] }
128
+ ];
129
+ ImportItemsComponent.ctorParameters = () => [
130
+ { type: FormBuilder },
131
+ { type: FormValidatorService },
132
+ { type: ChangeDetectorRef }
133
+ ];
134
+ ImportItemsComponent.propDecorators = {
135
+ data: [{ type: Input }],
136
+ importConfig: [{ type: Input }],
137
+ onSave: [{ type: Output }]
138
+ };
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvaW1wb3J0LWNzdi9pbXBvcnQtaXRlbXMvaW1wb3J0LWl0ZW1zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBYSxXQUFXLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3pFLE1BQU0sYUFBYSxHQUFRO0lBQ3pCLFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsV0FBVyxFQUFFLGlCQUFpQjtLQUMvQjtDQUNGLENBQUM7QUFPRixNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLFlBQ1UsRUFBZSxFQUNmLG9CQUEwQyxFQUMxQyxpQkFBb0M7UUFGcEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVA5QyxtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ2IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFPcEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxD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QUFDO1lBQy9ELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQWlCLEVBQUUsRUFBRSxDQUNyRSxZQUFZLENBQUMsUUFBUSxLQUFLLE9BQU8sQ0FBQyxLQUFLO21CQUNwQyxZQUFZLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQ3ZFO2dCQUNDLENBQUMsQ0FBQyxLQUFLO2dCQUNQLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNqQixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDMUM7aUJBQ0k7Z0JBQ0gsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ2YsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7O1lBMUlGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixxNkVBQTRDOzthQUU3Qzs7O1lBZm1CLFdBQVc7WUFDdEIsb0JBQW9CO1lBRnBCLGlCQUFpQjs7O21CQW1CdkIsS0FBSzsyQkFDTCxLQUFLO3FCQUdMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEltcG9ydENvbmZpZyB9IGZyb20gJy4uL2ltcG9ydC1jb25maWcnO1xuXG5jb25zdCBlcnJvck1lc3NhZ2VzOiBhbnkgPSB7XG4gIHByb3BlcnR5OiB7XG4gICAgcmVxdWlyZWQ6IFwiUHJvcGVydHkgaXMgcmVxdWlyZWRcIixcbiAgICB1bmF2YWlsYWJsZTogXCJEdXBsaWNhdGUgZW50cnlcIlxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWltcG9ydC1pdGVtcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbXBvcnQtaXRlbXMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBJbXBvcnRJdGVtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGltcG9ydE1hcHBpbmdGb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGRhdGE6IGFueVtdO1xuICBASW5wdXQoKSBpbXBvcnRDb25maWc6IEltcG9ydENvbmZpZztcbiAgZmlyc3REYXRhQXJyYXk6IGFueVtdID0gW107XG4gIHByb3BlcnRpZXM6IGFueVtdID0gW107XG4gIEBPdXRwdXQoKSBvblNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVJbXBvcnRNYXBwaW5nRm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gdGhpcy5pbXBvcnRDb25maWcucHJvcGVydGllcztcbiAgICB0aGlzLm1hcE91dERhdGFDb2x1bW5zKHRoaXMuZGF0YVswXSk7XG4gIH1cblxuICBjcmVhdGVJbXBvcnRNYXBwaW5nRm9ybSgpIHtcbiAgICB0aGlzLmltcG9ydE1hcHBpbmdGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBmaWVsZHM6IHRoaXMuZmIuYXJyYXkoW10pLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGZpZWxkc0FycmF5KCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuaW1wb3J0TWFwcGluZ0Zvcm0uZ2V0KCdmaWVsZHMnKSBhcyBGb3JtQXJyYXk7XG4gIH1cblxuICBjcmVhdGVGaWVsZChmaWVsZDogYW55KTogRm9ybUdyb3VwIHtcbiAgICB2YXIgZmllbGRGb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGlkOiBuZXcgRm9ybUNvbnRyb2woZmllbGQuaWQpLFxuICAgICAgbGFiZWw6IG5ldyBGb3JtQ29udHJvbChmaWVsZC5sYWJlbCksXG4gICAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKGZpZWxkLnZhbHVlKSxcbiAgICAgIHByb3BlcnR5OiBuZXcgRm9ybUNvbnRyb2woZmllbGQucHJvcGVydHksXG4gICAgICAgIFZhbGlkYXRvcnMuY29tcG9zZShcbiAgICAgICAgICBbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgICAgICAgXVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgcHJvcGVydHlUeXBlOiBuZXcgRm9ybUNvbnRyb2woZmllbGQucHJvcGVydHlUeXBlKVxuICAgIH0pO1xuICAgIHJldHVybiBmaWVsZEZvcm07XG4gIH1cblxuICBtYXBPdXREYXRhQ29sdW1ucyhkYXRhOiBhbnlbXSkge1xuICAgIGZvciAodmFyIGtleSBpbiBkYXRhKSB7XG4gICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIHZhciBkYXRhVmFsdWUgPSB7XG4gICAgICAgICAgaWQ6ICcnLFxuICAgICAgICAgIGxhYmVsOiBrZXksXG4gICAgICAgICAgdmFsdWU6IGRhdGFba2V5XSxcbiAgICAgICAgICBwcm9wZXJ0eTogJycsXG4gICAgICAgICAgcHJvcGVydHlUeXBlOiAnJ1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmZpcnN0RGF0YUFycmF5LnB1c2goZGF0YVZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5maXJzdERhdGFBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnksIG1haW5JbmRleDogYW55KSA9PiB7XG4gICAgICBlbGVtZW50LmlkID0gbWFpbkluZGV4O1xuICAgICAgdGhpcy5wcm9wZXJ0aWVzLmZpbmQoKHByb3BlcnR5OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHByb3BlcnR5LmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZWxlbWVudC5sYWJlbC50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgIGVsZW1lbnQucHJvcGVydHkgPSBwcm9wZXJ0eS52YWx1ZTtcbiAgICAgICAgICBlbGVtZW50LnByb3BlcnR5VHlwZSA9IHByb3BlcnR5LnR5cGU7XG4gICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMuaW1wb3J0TWFwcGluZ0Zvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIGlmICghdGhpcy5pbXBvcnRNYXBwaW5nRm9ybS52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9uU2F2ZS5lbWl0KHRoaXMuaW1wb3J0TWFwcGluZ0Zvcm0udmFsdWUpO1xuICB9XG5cbiAgLyoqIE1ldGhvZCB0byBldmFsdWF0ZSBmb3JtIGZpZWxkcyovXG4gIGlzRmllbGRWYWxpZChmaWVsZDogc3RyaW5nLCBmb3JtOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5pc0ZpZWxkVmFsaWQoZmllbGQsIGZvcm0pO1xuICB9XG5cbiAgLyoqIE1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzKi9cbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcsIGZvcm06IGFueSkge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShmaWVsZCwgZm9ybSwgZXJyb3JNZXNzYWdlcyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgYWZ0ZXIgbmdBZnRlckNvbnRlbnRJbml0IHdoZW4gdGhlIGNvbXBvbmVudCdzIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQnIHRvIHRoZSBjbGFzcy5cbiAgICBzZXRUaW1lb3V0KChfOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZmlyc3REYXRhQXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZmllbGRzQXJyYXkucHVzaCh0aGlzLmNyZWF0ZUZpZWxkKGVsZW1lbnQpKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIHVwZGF0ZVByb3BlcnR5VHlwZShldmVudDogYW55LCBpbmRleDogYW55KTogdm9pZCB7XG4gICAgdmFyIGZpZWxkID0gdGhpcy5wcm9wZXJ0aWVzLmZpbmQoKGZpZWxkOiBhbnkpID0+IGZpZWxkLnZhbHVlID09IGV2ZW50LnZhbHVlKTtcbiAgICBpZiAoZmllbGQpIHtcbiAgICAgIHRoaXMuZmllbGRzQXJyYXkuY29udHJvbHNbaW5kZXhdLmdldCgncHJvcGVydHlUeXBlJykuc2V0VmFsdWUoZmllbGQudHlwZSk7XG4gICAgICB0aGlzLnVuaXF1ZVZhbGlkYXRvcigpO1xuICAgIH1cbiAgfVxuXG4gIHVuaXF1ZVZhbGlkYXRvcigpIHtcbiAgICB0aGlzLmZpZWxkc0FycmF5LnZhbHVlLmZvckVhY2goKGZpZWxkOiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgIHZhciBjb250cm9sID0gdGhpcy5maWVsZHNBcnJheS5jb250cm9sc1tpbmRleF0uZ2V0KCdwcm9wZXJ0eScpO1xuICAgICAgY29uc3QgaXNOYW1lVW5pcXVlID0gdGhpcy5maWVsZHNBcnJheS52YWx1ZS5maW5kKChwcm9wZXJ0eURhdGE6IGFueSkgPT5cbiAgICAgICAgcHJvcGVydHlEYXRhLnByb3BlcnR5ID09PSBjb250cm9sLnZhbHVlXG4gICAgICAgICYmIHByb3BlcnR5RGF0YS5pZCAhPSB0aGlzLmZpZWxkc0FycmF5LmNvbnRyb2xzW2luZGV4XS5nZXQoJ2lkJykudmFsdWVcbiAgICAgIClcbiAgICAgICAgPyBmYWxzZVxuICAgICAgICA6IHRydWU7XG4gICAgICBpZiAoIWlzTmFtZVVuaXF1ZSkge1xuICAgICAgICBjb250cm9sLnNldEVycm9ycyh7IHVuYXZhaWxhYmxlOiB0cnVlIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlRmllbGQoaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChpbmRleCA9PSAtMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmZpZWxkc0FycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ImportItemsRoutingModule } from './import-items-routing.module';
4
+ import { ImportItemsComponent } from './import-items.component';
5
+ import { FlexLayoutModule } from '@angular/flex-layout';
6
+ import { MaterialModule } from '../../material.module';
7
+ import { ReactiveFormsModule } from '@angular/forms';
8
+ export class ImportItemsModule {
9
+ }
10
+ ImportItemsModule.decorators = [
11
+ { type: NgModule, args: [{
12
+ declarations: [ImportItemsComponent],
13
+ imports: [
14
+ CommonModule,
15
+ FlexLayoutModule,
16
+ MaterialModule,
17
+ ReactiveFormsModule,
18
+ ImportItemsRoutingModule
19
+ ],
20
+ exports: [ImportItemsComponent]
21
+ },] }
22
+ ];
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWl0ZW1zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvaW1wb3J0LWNzdi9pbXBvcnQtaXRlbXMvaW1wb3J0LWl0ZW1zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFjckQsTUFBTSxPQUFPLGlCQUFpQjs7O1lBWDdCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDcEMsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIsd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBJbXBvcnRJdGVtc1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2ltcG9ydC1pdGVtcy1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBJbXBvcnRJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vaW1wb3J0LWl0ZW1zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtJbXBvcnRJdGVtc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEltcG9ydEl0ZW1zUm91dGluZ01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbSW1wb3J0SXRlbXNDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEltcG9ydEl0ZW1zTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './loader.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvYWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2FkZXIuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class LoaderComponent {
3
+ constructor() {
4
+ this.isLoading = false;
5
+ this.size = 0.6;
6
+ }
7
+ ngOnInit() { }
8
+ }
9
+ LoaderComponent.decorators = [
10
+ { type: Component, args: [{
11
+ selector: 'app-loader',
12
+ template: "<div [hidden]=\"!isLoading\">\n <mat-progress-spinner mode=\"indeterminate\" [strokeWidth]=\"2\" [diameter]=\"32 * size\"></mat-progress-spinner>\n <span class=\"message\">{{message}}</span>\n</div>\n",
13
+ styles: [".mat-progress-spinner{display:inline-block;vertical-align:middle}.message{margin-left:.5em}"]
14
+ },] }
15
+ ];
16
+ LoaderComponent.ctorParameters = () => [];
17
+ LoaderComponent.propDecorators = {
18
+ isLoading: [{ type: Input }],
19
+ size: [{ type: Input }],
20
+ message: [{ type: Input }]
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbG9hZGVyL2xvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPekQsTUFBTSxPQUFPLGVBQWU7SUFNMUI7UUFKUyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFNBQUksR0FBRyxHQUFHLENBQUM7SUFHSixDQUFDO0lBRWpCLFFBQVEsS0FBSyxDQUFDOzs7WUFiZixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLHNOQUFzQzs7YUFFdkM7Ozs7d0JBR0UsS0FBSzttQkFDTCxLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2FkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBzaXplID0gMC42O1xuICBASW5wdXQoKSBtZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG59XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { LoaderComponent } from './loader.component';
4
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
5
+ export class LoaderModule {
6
+ }
7
+ LoaderModule.decorators = [
8
+ { type: NgModule, args: [{
9
+ declarations: [
10
+ LoaderComponent
11
+ ],
12
+ imports: [
13
+ CommonModule,
14
+ MatProgressSpinnerModule
15
+ ],
16
+ exports: [
17
+ LoaderComponent
18
+ ]
19
+ },] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbG9hZGVyL2xvYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBYzlFLE1BQU0sT0FBTyxZQUFZOzs7WUFaeEIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixlQUFlO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWix3QkFBd0I7aUJBQ3pCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxlQUFlO2lCQUNoQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2xvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIExvYWRlckNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTG9hZGVyQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTG9hZGVyTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { AuthenticationGuard } from '../core/authentication.guard';
4
+ import { LoginHistoryForUserComponent } from './login-history-for-user.component';
5
+ const routes = [
6
+ {
7
+ path: '',
8
+ component: LoginHistoryForUserComponent,
9
+ canActivate: [AuthenticationGuard]
10
+ },
11
+ ];
12
+ export class LoginHistoryForUserRoutingModule {
13
+ }
14
+ LoginHistoryForUserRoutingModule.decorators = [
15
+ { type: NgModule, args: [{
16
+ imports: [RouterModule.forChild(routes)],
17
+ exports: [RouterModule]
18
+ },] }
19
+ ];
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4taGlzdG9yeS1mb3ItdXNlci1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbG9naW4taGlzdG9yeS1mb3ItdXNlci9sb2dpbi1oaXN0b3J5LWZvci11c2VyLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWxGLE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsNEJBQTRCO1FBQ3ZDLFdBQVcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0tBQ25DO0NBQ0YsQ0FBQztBQU1GLE1BQU0sT0FBTyxnQ0FBZ0M7OztZQUo1QyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2FBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlcywgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uR3VhcmQgfSBmcm9tICcuLi9jb3JlL2F1dGhlbnRpY2F0aW9uLmd1YXJkJztcbmltcG9ydCB7IExvZ2luSGlzdG9yeUZvclVzZXJDb21wb25lbnQgfSBmcm9tICcuL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IExvZ2luSGlzdG9yeUZvclVzZXJDb21wb25lbnQsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoZW50aWNhdGlvbkd1YXJkXVxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5IaXN0b3J5Rm9yVXNlclJvdXRpbmdNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,79 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, Input } from '@angular/core';
3
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
4
+ import { FormBuilder } from '@angular/forms';
5
+ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
6
+ import { HttpService } from '../core/http.service';
7
+ let LoginHistoryForUserComponent = class LoginHistoryForUserComponent {
8
+ constructor(http, fb) {
9
+ this.http = http;
10
+ this.fb = fb;
11
+ this.loginHistoryList = [];
12
+ this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
13
+ this.filters = {
14
+ sort_by: 'created_at|desc',
15
+ };
16
+ this.displayedColumns = ['index', 'created_at'];
17
+ this.historyFilterForm = this.fb.group({
18
+ 'date_from': [''],
19
+ 'date_to': ['']
20
+ });
21
+ }
22
+ ngOnInit() {
23
+ this.filters.user_id = this.userId;
24
+ this.historyFilterForm.valueChanges
25
+ .pipe(debounceTime(500), distinctUntilChanged(), untilDestroyed(this))
26
+ .subscribe((value) => {
27
+ value.date_from = value.date_from ? value.date_from.toISOString() : '';
28
+ value.date_to = value.date_to ? value.date_to.toISOString() : '';
29
+ this.filterChange(value);
30
+ });
31
+ this.initializeData();
32
+ }
33
+ initializeData() {
34
+ this.http.get(`api/user-login-history`, { params: Object.assign(Object.assign({}, this.filters), this.pageEvent) })
35
+ .pipe(untilDestroyed(this))
36
+ .subscribe((result) => {
37
+ this.loginHistoryList = this.loginHistoryList.concat(result.data);
38
+ this.pageEvent.page = result.current_page;
39
+ this.pageEvent.lastPage = result.last_page;
40
+ });
41
+ }
42
+ filterChange(event) {
43
+ this.filters = Object.assign(Object.assign({}, this.filters), event);
44
+ this.reload();
45
+ }
46
+ onScroll() {
47
+ if (this.pageEvent.lastPage > this.pageEvent.page) {
48
+ this.pageEvent.page += 1;
49
+ this.initializeData();
50
+ }
51
+ }
52
+ reload() {
53
+ this.loginHistoryList = [];
54
+ this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
55
+ this.initializeData();
56
+ }
57
+ ngOnDestroy() {
58
+ //Until destroyed uses it
59
+ }
60
+ };
61
+ LoginHistoryForUserComponent.decorators = [
62
+ { type: Component, args: [{
63
+ selector: 'app-login-history-for-user',
64
+ template: "<div class=\"mat-typography m-4\">\n <form fxLayoutAlign=\" start center\">\n <app-timeline-filter [form]=\"historyFilterForm\"></app-timeline-filter>\n </form>\n\n\n\n <section>\n <div class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <table mat-table [dataSource]=\"loginHistoryList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"login-history-table\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let loginHistory; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Last Login</th>\n <td mat-cell *matCellDef=\"let loginHistory;\">\n {{loginHistory?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>",
65
+ styles: [".scroll-container{max-height:800px;overflow-y:auto}"]
66
+ },] }
67
+ ];
68
+ LoginHistoryForUserComponent.ctorParameters = () => [
69
+ { type: HttpService },
70
+ { type: FormBuilder }
71
+ ];
72
+ LoginHistoryForUserComponent.propDecorators = {
73
+ userId: [{ type: Input }]
74
+ };
75
+ LoginHistoryForUserComponent = __decorate([
76
+ UntilDestroy()
77
+ ], LoginHistoryForUserComponent);
78
+ export { LoginHistoryForUserComponent };
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7SUFRdEMsNEJBQTRCLFNBQTVCLDRCQUE0QjtJQVd2QyxZQUNVLElBQWlCLEVBQ2pCLEVBQWU7UUFEZixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFYekIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQzdCLGNBQVMsR0FBYyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDN0QsWUFBTyxHQUFRO1lBQ2IsT0FBTyxFQUFFLGlCQUFpQjtTQUMzQixDQUFDO1FBRUYscUJBQWdCLEdBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFPaEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3JDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNqQixTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZO2FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDckUsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDeEIsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxLQUFLLENBQUMsU0FBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pGLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUUsS0FBSyxDQUFDLE9BQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLGtDQUFPLElBQUksQ0FBQyxPQUFPLEdBQUssSUFBSSxDQUFDLFNBQVMsQ0FBRSxFQUFFLENBQUM7YUFDeEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMxQixTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxPQUFPLG1DQUNQLElBQUksQ0FBQyxPQUFPLEdBQ1osS0FBSyxDQUNULENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBR0QsTUFBTTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QseUJBQXlCO0lBQzNCLENBQUM7Q0FFRixDQUFBOztZQTFFQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsNjVDQUFzRDs7YUFFdkQ7OztZQVBRLFdBQVc7WUFIWCxXQUFXOzs7cUJBb0JqQixLQUFLOztBQVRLLDRCQUE0QjtJQU54QyxZQUFZLEVBQUU7R0FNRiw0QkFBNEIsQ0FxRXhDO1NBckVZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJy4uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHR0cC5zZXJ2aWNlJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtbG9naW4taGlzdG9yeS1mb3ItdXNlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1oaXN0b3J5LWZvci11c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9naW4taGlzdG9yeS1mb3ItdXNlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luSGlzdG9yeUZvclVzZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGxvZ2luSGlzdG9yeUxpc3Q6IGFueVtdID0gW107XG4gIHBhZ2VFdmVudDogUGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcbiAgZmlsdGVyczogYW55ID0ge1xuICAgIHNvcnRfYnk6ICdjcmVhdGVkX2F0fGRlc2MnLFxuICB9O1xuICBoaXN0b3J5RmlsdGVyRm9ybTogRm9ybUdyb3VwO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBhbnlbXSA9IFsnaW5kZXgnLCAnY3JlYXRlZF9hdCddO1xuICBASW5wdXQoKSB1c2VySWQ6IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICB0aGlzLmhpc3RvcnlGaWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAnZGF0ZV9mcm9tJzogWycnXSxcbiAgICAgICdkYXRlX3RvJzogWycnXVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5maWx0ZXJzLnVzZXJfaWQgPSB0aGlzLnVzZXJJZDtcbiAgICB0aGlzLmhpc3RvcnlGaWx0ZXJGb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICB2YWx1ZS5kYXRlX2Zyb20gPSB2YWx1ZS5kYXRlX2Zyb20gPyAodmFsdWUuZGF0ZV9mcm9tIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkgOiAnJztcbiAgICAgICAgdmFsdWUuZGF0ZV90byA9IHZhbHVlLmRhdGVfdG8gPyAodmFsdWUuZGF0ZV90byBhcyBEYXRlKS50b0lTT1N0cmluZygpIDogJyc7XG4gICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgfVxuXG4gIGluaXRpYWxpemVEYXRhKCkge1xuICAgIHRoaXMuaHR0cC5nZXQoYGFwaS91c2VyLWxvZ2luLWhpc3RvcnlgLCB7IHBhcmFtczogeyAuLi50aGlzLmZpbHRlcnMsIC4uLnRoaXMucGFnZUV2ZW50IH0gfSlcbiAgICAgIC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5sb2dpbkhpc3RvcnlMaXN0ID0gdGhpcy5sb2dpbkhpc3RvcnlMaXN0LmNvbmNhdChyZXN1bHQuZGF0YSk7XG4gICAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgPSByZXN1bHQuY3VycmVudF9wYWdlO1xuICAgICAgICB0aGlzLnBhZ2VFdmVudC5sYXN0UGFnZSA9IHJlc3VsdC5sYXN0X3BhZ2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIGZpbHRlckNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5maWx0ZXJzID0ge1xuICAgICAgLi4udGhpcy5maWx0ZXJzLFxuICAgICAgLi4uZXZlbnRcbiAgICB9O1xuICAgIHRoaXMucmVsb2FkKCk7XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPiB0aGlzLnBhZ2VFdmVudC5wYWdlKSB7XG4gICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlICs9IDE7XG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG4gICAgfVxuICB9XG5cblxuICByZWxvYWQoKSB7XG4gICAgdGhpcy5sb2dpbkhpc3RvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYWdlRXZlbnQgPSB7IHBhZ2U6IDEsIHBlclBhZ2U6IDI1LCBsYXN0UGFnZTogMSB9O1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vVW50aWwgZGVzdHJveWVkIHVzZXMgaXRcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { LoginHistoryForUserRoutingModule } from './login-history-for-user-routing.module';
4
+ import { LoginHistoryForUserComponent } from './login-history-for-user.component';
5
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
6
+ import { FlexLayoutModule } from '@angular/flex-layout';
7
+ import { ReactiveFormsModule } from '@angular/forms';
8
+ import { MaterialModule } from '../material.module';
9
+ import { TimelineFilterModule } from '../timeline-filter/timeline-filter.module';
10
+ export class LoginHistoryForUserModule {
11
+ }
12
+ LoginHistoryForUserModule.decorators = [
13
+ { type: NgModule, args: [{
14
+ declarations: [LoginHistoryForUserComponent],
15
+ imports: [
16
+ CommonModule,
17
+ LoginHistoryForUserRoutingModule,
18
+ InfiniteScrollModule,
19
+ MaterialModule,
20
+ FlexLayoutModule,
21
+ ReactiveFormsModule,
22
+ TimelineFilterModule
23
+ ],
24
+ exports: [LoginHistoryForUserComponent]
25
+ },] }
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4taGlzdG9yeS1mb3ItdXNlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBZ0JqRixNQUFNLE9BQU8seUJBQXlCOzs7WUFickMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLDRCQUE0QixDQUFDO2dCQUM1QyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixnQ0FBZ0M7b0JBQ2hDLG9CQUFvQjtvQkFDcEIsY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsb0JBQW9CO2lCQUNyQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzthQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBMb2dpbkhpc3RvcnlGb3JVc2VyUm91dGluZ01vZHVsZSB9IGZyb20gJy4vbG9naW4taGlzdG9yeS1mb3ItdXNlci1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBMb2dpbkhpc3RvcnlGb3JVc2VyQ29tcG9uZW50IH0gZnJvbSAnLi9sb2dpbi1oaXN0b3J5LWZvci11c2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBUaW1lbGluZUZpbHRlck1vZHVsZSB9IGZyb20gJy4uL3RpbWVsaW5lLWZpbHRlci90aW1lbGluZS1maWx0ZXIubW9kdWxlJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtMb2dpbkhpc3RvcnlGb3JVc2VyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBMb2dpbkhpc3RvcnlGb3JVc2VyUm91dGluZ01vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVGltZWxpbmVGaWx0ZXJNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0xvZ2luSGlzdG9yeUZvclVzZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luSGlzdG9yeUZvclVzZXJNb2R1bGUgeyB9XG4iXX0=