ngx-techlify-core 11.4.5 → 11.4.8

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 +8023 -7787
  3. package/bundles/ngx-techlify-core.umd.js.map +1 -1
  4. package/bundles/ngx-techlify-core.umd.min.js +1 -16
  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 -0
  31. package/esm2015/lib/base-model/techlify-form-component.class.js +51 -0
  32. package/esm2015/lib/base-model/techlify-listing-component.class.js +41 -0
  33. package/esm2015/lib/base-model/techlify-service.class.js +64 -0
  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 +60 -51
  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 -26
  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 +138 -141
  97. package/esm2015/lib/entity-files/entity-file.service.js +42 -38
  98. package/esm2015/lib/entity-files/entity-files-view-all.component.js +208 -161
  99. package/esm2015/lib/entity-files/entity-files-view-all.module.js +34 -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 +59 -59
  171. package/esm2015/public-api.js +96 -95
  172. package/fesm2015/ngx-techlify-core.js +6880 -6667
  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 -0
  199. package/lib/base-model/techlify-form-component.class.d.ts +43 -0
  200. package/lib/base-model/techlify-listing-component.class.d.ts +47 -0
  201. package/lib/base-model/techlify-service.class.d.ts +52 -0
  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 -12
  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 -17
  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 +34 -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 +45 -38
  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 +1 -1
  341. package/public-api.d.ts +92 -91
@@ -1,132 +1,132 @@
1
- import { __awaiter, __decorate } from "tslib";
2
- import { Component, Input, ViewChild } from '@angular/core';
3
- import { Router } from '@angular/router';
4
- import { MatSort } from '@angular/material/sort';
5
- import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
- import { DataManager } from '../../core/dataManager.service';
7
- import { DomSanitizer } from '@angular/platform-browser';
8
- let AuditLogListComponent = class AuditLogListComponent {
9
- constructor(dataManager, router, sanitizer) {
10
- this.dataManager = dataManager;
11
- this.router = router;
12
- this.sanitizer = sanitizer;
13
- this.auditLogList = [];
14
- this.showFilter = true;
15
- this.showExportButtons = true;
16
- this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
17
- this.filters = { sort_by: 'created_at|desc' };
18
- this.displayedColumns = ['index', 'id', 'object_type', 'object_id', 'action', 'changes', 'created_at', 'user.email'];
19
- }
20
- ngOnInit() {
21
- this.initializeData();
22
- if (this.sort) {
23
- this.sort.sortChange.pipe(untilDestroyed(this))
24
- .subscribe((value) => {
25
- this.changeSort(value);
26
- });
27
- }
28
- }
29
- get excelData() {
30
- if (this.auditLogList.length > 0) {
31
- return this.auditLogList.map(item => {
32
- var _a;
33
- return {
34
- 'Type': item === null || item === void 0 ? void 0 : item.object_type,
35
- 'Action': item === null || item === void 0 ? void 0 : item.action,
36
- 'Data': JSON.stringify((item === null || item === void 0 ? void 0 : item.data) || {}),
37
- 'Object': JSON.stringify((item === null || item === void 0 ? void 0 : item.object) || {}),
38
- 'Pre-Object': JSON.stringify((item === null || item === void 0 ? void 0 : item.pre_object) || {}),
39
- 'Created At': new Date(item === null || item === void 0 ? void 0 : item.created_at).toDateString(),
40
- 'Created By': (_a = item === null || item === void 0 ? void 0 : item.user) === null || _a === void 0 ? void 0 : _a.email
41
- };
42
- });
43
- }
44
- return [];
45
- }
46
- changeSort(event) {
47
- if (event.direction) {
48
- this.filters.sort_by = `${event.active}|${event.direction}`;
49
- this.reload();
50
- }
51
- }
52
- logClicked(log) {
53
- this.router.navigate(['/system/audit-logs/log-view', log.id]);
54
- }
55
- initializeData() {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- if (this.objectType) {
58
- this.filters = Object.assign(Object.assign({}, this.filters), { object_type: this.objectType });
59
- }
60
- if (this.objectId) {
61
- this.filters = Object.assign(Object.assign({}, this.filters), { object_id: this.objectId });
62
- }
63
- if (this.userId) {
64
- this.filters = Object.assign(Object.assign({}, this.filters), { user_id: this.userId });
65
- }
66
- const result = yield this.dataManager.GET(`api/audit-logs`, Object.assign(Object.assign({}, this.filters), this.pageEvent));
67
- this.auditLogList = this.auditLogList.concat(result.data);
68
- this.pageEvent.page = result.current_page;
69
- this.pageEvent.lastPage = result.last_page;
70
- });
71
- }
72
- filterChange(event) {
73
- if (this.showFilter) {
74
- this.filters = Object.assign(Object.assign(Object.assign({}, this.filters), event), { object_type: this.objectType || (event === null || event === void 0 ? void 0 : event.object_type) || '', object_id: this.objectId || '' });
75
- this.reload();
76
- }
77
- }
78
- onScroll() {
79
- if (this.pageEvent.lastPage > this.pageEvent.page) {
80
- this.pageEvent.page += 1;
81
- this.initializeData();
82
- }
83
- }
84
- reload() {
85
- this.auditLogList = [];
86
- this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
87
- this.initializeData();
88
- }
89
- getTransformedChanges(log) {
90
- var _a, _b;
91
- if ((_a = log === null || log === void 0 ? void 0 : log.data) === null || _a === void 0 ? void 0 : _a.changes) {
92
- const changes = Object.keys((_b = log === null || log === void 0 ? void 0 : log.data) === null || _b === void 0 ? void 0 : _b.changes) || [];
93
- let value = '<div>';
94
- changes.forEach((key) => {
95
- var _a, _b;
96
- const displayAttribute = key.split('_').map(x => x.charAt(0).toUpperCase() + x.slice(1)).join(' ');
97
- value = `${value} <div><b>${displayAttribute}:</b> <span id="old-value">${(_a = log === null || log === void 0 ? void 0 : log.pre_object[key]) !== null && _a !== void 0 ? _a : ''}</span><span id="new-value">${(_b = log === null || log === void 0 ? void 0 : log.object[key]) !== null && _b !== void 0 ? _b : ''}</span></div>`;
98
- });
99
- value = `${value} </div>`;
100
- return value;
101
- }
102
- return '';
103
- }
104
- ngOnDestroy() {
105
- // Needed for automatic unsubscribe with untilDestroyed
106
- }
107
- };
108
- AuditLogListComponent.decorators = [
109
- { type: Component, args: [{
110
- selector: 'app-audit-log-list',
111
- template: "<div fxLayout=\"column\" fxLayoutAlign=\"start\" class=\"mat-typography\">\n\n <div fxLayout=\"column\" fxLayoutAlign=\"start\" fxLayoutGap=\"1.5rem\" class=\"p-3\">\n <h2 class=\"font-weight-bold\">\n Audit Logs\n </h2>\n\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"start center\">\n <app-audit-log-list-filter *ngIf=\"showFilter\" (valueChange)=\"filterChange($event)\" [objectType]=\"objectType\"\n [objectId]=\"objectId\"></app-audit-log-list-filter>\n <span fxFlex></span>\n\n <ng-container *ngIf=\"showExportButtons\">\n <div class=\"ml-4\">\n <app-export-excel-button elementId=\"audit-logs-table\" name=\"AuditLogs\" [data]=\"excelData\">\n </app-export-excel-button>\n </div>\n </ng-container>\n </div>\n </div>\n\n <section class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <table mat-table [dataSource]=\"auditLogList\" matSort class=\"w-100\" multiTemplateDataRows id=\"audit-logs-table\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let auditLog; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"id\">\n <th mat-header-cell *matHeaderCellDef> Log # </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.id}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"object_type\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Model </th>\n <td mat-cell *matCellDef=\"let auditLog;\"> {{ auditLog.object_type }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"object_id\">\n <th mat-header-cell *matHeaderCellDef> Model # </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.object_id}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"action\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Action </th>\n <td mat-cell *matCellDef=\"let auditLog;\"> {{ auditLog?.action }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created At </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.created_at | date:'medium'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"user.email\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created By </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n {{auditLog?.user?.email}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"changes\">\n <th mat-header-cell *matHeaderCellDef> Changes</th>\n <td mat-cell *matCellDef=\"let auditLog\">\n <div class=\"px-3\" [innerHtml]=\"sanitizer.bypassSecurityTrustHtml(getTransformedChanges(auditLog))\">\n\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let auditLog\">\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"\n (click)=\"logClicked(row);$event.stopPropagation();\" class=\"hoverable row-hover\"></tr>\n </table>\n </section>\n\n\n</div>",
112
- styles: ["tr.row-hover:hover{background-color:#dcdcdc}.scroll-container{height:800px;overflow-y:auto}:host ::ng-deep #old-value{background-color:#f08080;margin-right:5px}:host ::ng-deep #new-value{background-color:#98fb98}"]
113
- },] }
114
- ];
115
- AuditLogListComponent.ctorParameters = () => [
116
- { type: DataManager },
117
- { type: Router },
118
- { type: DomSanitizer }
119
- ];
120
- AuditLogListComponent.propDecorators = {
121
- objectId: [{ type: Input }],
122
- objectType: [{ type: Input }],
123
- showFilter: [{ type: Input }],
124
- showExportButtons: [{ type: Input }],
125
- userId: [{ type: Input }],
126
- sort: [{ type: ViewChild, args: [MatSort, { static: true },] }]
127
- };
128
- AuditLogListComponent = __decorate([
129
- UntilDestroy()
130
- ], AuditLogListComponent);
131
- export { AuditLogListComponent };
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0lBUTVDLHFCQUFxQixTQUFyQixxQkFBcUI7SUFlaEMsWUFDVSxXQUF3QixFQUN4QixNQUFjLEVBQ2YsU0FBdUI7UUFGdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFoQmhDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBR2hCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0Isc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBRzNDLGNBQVMsR0FBYyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDN0QsWUFBTyxHQUFRLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDOUMscUJBQWdCLEdBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGFB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S04sWUFBWTs7O3VCQVdsQixLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsS0FBSztnQ0FDTCxLQUFLO3FCQUNMLEtBQUs7bUJBTUwsU0FBUyxTQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBYnpCLHFCQUFxQjtJQU5qQyxZQUFZLEVBQUU7R0FNRixxQkFBcUIsQ0F5SGpDO1NBekhZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICcuLi8uLi9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgRGF0YU1hbmFnZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFNYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LWxvZy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRMb2dMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGF1ZGl0TG9nTGlzdDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgb2JqZWN0SWQ6IGFueTtcbiAgQElucHV0KCkgb2JqZWN0VHlwZTogYW55O1xuICBASW5wdXQoKSBzaG93RmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0V4cG9ydEJ1dHRvbnM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB1c2VySWQ6IGFueTtcblxuICBwYWdlRXZlbnQ6IFBhZ2VFdmVudCA9IHsgcGFnZTogMSwgcGVyUGFnZTogMjUsIGxhc3RQYWdlOiAxIH07XG4gIGZpbHRlcnM6IGFueSA9IHsgc29ydF9ieTogJ2NyZWF0ZWRfYXR8ZGVzYycgfTtcbiAgZGlzcGxheWVkQ29sdW1uczogYW55W10gPSBbJ2luZGV4JywgJ2lkJywgJ29iamVjdF90eXBlJywgJ29iamVjdF9pZCcsICdhY3Rpb24nLCAnY2hhbmdlcycsICdjcmVhdGVkX2F0JywgJ3VzZXIuZW1haWwnXTtcblxuICBAVmlld0NoaWxkKE1hdFNvcnQsIHsgc3RhdGljOiB0cnVlIH0pIHNvcnQ6IE1hdFNvcnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRhTWFuYWdlcjogRGF0YU1hbmFnZXIsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcblxuICAgIGlmICh0aGlzLnNvcnQpIHtcbiAgICAgIHRoaXMuc29ydC5zb3J0Q2hhbmdlLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5nZVNvcnQodmFsdWUpO1xuICAgICAgICB9KVxuICAgIH1cblxuICB9XG5cbiAgZ2V0IGV4Y2VsRGF0YSgpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMuYXVkaXRMb2dMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLmF1ZGl0TG9nTGlzdC5tYXAoaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgJ1R5cGUnOiBpdGVtPy5vYmplY3RfdHlwZSxcbiAgICAgICAgICAnQWN0aW9uJzogaXRlbT8uYWN0aW9uLFxuICAgICAgICAgICdEYXRhJzogSlNPTi5zdHJpbmdpZnkoaXRlbT8uZGF0YSB8fCB7fSksXG4gICAgICAgICAgJ09iamVjdCc6IEpTT04uc3RyaW5naWZ5KGl0ZW0/Lm9iamVjdCB8fCB7fSksXG4gICAgICAgICAgJ1ByZS1PYmplY3QnOiBKU09OLnN0cmluZ2lmeShpdGVtPy5wcmVfb2JqZWN0IHx8IHt9KSxcbiAgICAgICAgICAnQ3JlYXRlZCBBdCc6IG5ldyBEYXRlKGl0ZW0/LmNyZWF0ZWRfYXQpLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICAgICdDcmVhdGVkIEJ5JzogaXRlbT8udXNlcj8uZW1haWxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjaGFuZ2VTb3J0KGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQuZGlyZWN0aW9uKSB7XG4gICAgICB0aGlzLmZpbHRlcnMuc29ydF9ieSA9IGAke2V2ZW50LmFjdGl2ZX18JHtldmVudC5kaXJlY3Rpb259YDtcbiAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfVxuICB9XG5cbiAgbG9nQ2xpY2tlZChsb2c6IGFueSkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3N5c3RlbS9hdWRpdC1sb2dzL2xvZy12aWV3JywgbG9nLmlkXSk7XG4gIH1cblxuXG4gIGFzeW5jIGluaXRpYWxpemVEYXRhKCkge1xuICAgIGlmICh0aGlzLm9iamVjdFR5cGUpIHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IHsgLi4udGhpcy5maWx0ZXJzLCBvYmplY3RfdHlwZTogdGhpcy5vYmplY3RUeXBlIH1cbiAgICB9XG4gICAgaWYgKHRoaXMub2JqZWN0SWQpIHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IHsgLi4udGhpcy5maWx0ZXJzLCBvYmplY3RfaWQ6IHRoaXMub2JqZWN0SWQgfVxuICAgIH1cbiAgICBpZiAodGhpcy51c2VySWQpIHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IHsgLi4udGhpcy5maWx0ZXJzLCB1c2VyX2lkOiB0aGlzLnVzZXJJZCB9XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuZGF0YU1hbmFnZXIuR0VUKGBhcGkvYXVkaXQtbG9nc2AsIHsgLi4udGhpcy5maWx0ZXJzLCAuLi50aGlzLnBhZ2VFdmVudCB9KTtcbiAgICB0aGlzLmF1ZGl0TG9nTGlzdCA9IHRoaXMuYXVkaXRMb2dMaXN0LmNvbmNhdChyZXN1bHQuZGF0YSk7XG4gICAgdGhpcy5wYWdlRXZlbnQucGFnZSA9IHJlc3VsdC5jdXJyZW50X3BhZ2U7XG4gICAgdGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPSByZXN1bHQubGFzdF9wYWdlO1xuICB9XG5cbiAgZmlsdGVyQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5zaG93RmlsdGVyKSB7XG4gICAgICB0aGlzLmZpbHRlcnMgPSB7XG4gICAgICAgIC4uLnRoaXMuZmlsdGVycyxcbiAgICAgICAgLi4uZXZlbnQsXG4gICAgICAgIG9iamVjdF90eXBlOiB0aGlzLm9iamVjdFR5cGUgfHwgZXZlbnQ/Lm9iamVjdF90eXBlIHx8ICcnLFxuICAgICAgICBvYmplY3RfaWQ6IHRoaXMub2JqZWN0SWQgfHwgJycsXG4gICAgICB9O1xuICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICB9XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICBpZiAodGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPiB0aGlzLnBhZ2VFdmVudC5wYWdlKSB7XG4gICAgICB0aGlzLnBhZ2VFdmVudC5wYWdlICs9IDE7XG4gICAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMuYXVkaXRMb2dMaXN0ID0gW107XG4gICAgdGhpcy5wYWdlRXZlbnQgPSB7IHBhZ2U6IDEsIHBlclBhZ2U6IDI1LCBsYXN0UGFnZTogMSB9O1xuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcbiAgfVxuXG4gIGdldFRyYW5zZm9ybWVkQ2hhbmdlcyhsb2c6IGFueSkge1xuICAgIGlmIChsb2c/LmRhdGE/LmNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSBPYmplY3Qua2V5cyhsb2c/LmRhdGE/LmNoYW5nZXMpIHx8IFtdO1xuICAgICAgbGV0IHZhbHVlID0gJzxkaXY+JztcbiAgICAgIGNoYW5nZXMuZm9yRWFjaCgoa2V5OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZGlzcGxheUF0dHJpYnV0ZSA9IChrZXkgYXMgc3RyaW5nKS5zcGxpdCgnXycpLm1hcCh4ID0+IHguY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB4LnNsaWNlKDEpKS5qb2luKCcgJyk7XG4gICAgICAgIHZhbHVlID0gYCR7dmFsdWV9IDxkaXY+PGI+JHtkaXNwbGF5QXR0cmlidXRlfTo8L2I+IDxzcGFuIGlkPVwib2xkLXZhbHVlXCI+JHtsb2c/LnByZV9vYmplY3Rba2V5XSA/PyAnJ308L3NwYW4+PHNwYW4gaWQ9XCJuZXctdmFsdWVcIj4ke2xvZz8ub2JqZWN0W2tleV0gPz8gJyd9PC9zcGFuPjwvZGl2PmA7XG4gICAgICB9KTtcbiAgICAgIHZhbHVlID0gYCR7dmFsdWV9IDwvZGl2PmA7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIC8vIE5lZWRlZCBmb3IgYXV0b21hdGljIHVuc3Vic2NyaWJlIHdpdGggdW50aWxEZXN0cm95ZWRcbiAgfVxufVxuIl19
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Component, Input, ViewChild } from '@angular/core';
3
+ import { Router } from '@angular/router';
4
+ import { MatSort } from '@angular/material/sort';
5
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
+ import { DataManager } from '../../core/dataManager.service';
7
+ import { DomSanitizer } from '@angular/platform-browser';
8
+ let AuditLogListComponent = class AuditLogListComponent {
9
+ constructor(dataManager, router, sanitizer) {
10
+ this.dataManager = dataManager;
11
+ this.router = router;
12
+ this.sanitizer = sanitizer;
13
+ this.auditLogList = [];
14
+ this.showFilter = true;
15
+ this.showExportButtons = true;
16
+ this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
17
+ this.filters = { sort_by: 'created_at|desc' };
18
+ this.displayedColumns = ['index', 'id', 'object_type', 'object_id', 'action', 'changes', 'created_at', 'user.email'];
19
+ }
20
+ ngOnInit() {
21
+ this.initializeData();
22
+ if (this.sort) {
23
+ this.sort.sortChange.pipe(untilDestroyed(this))
24
+ .subscribe((value) => {
25
+ this.changeSort(value);
26
+ });
27
+ }
28
+ }
29
+ get excelData() {
30
+ if (this.auditLogList.length > 0) {
31
+ return this.auditLogList.map(item => {
32
+ var _a;
33
+ return {
34
+ 'Type': item === null || item === void 0 ? void 0 : item.object_type,
35
+ 'Action': item === null || item === void 0 ? void 0 : item.action,
36
+ 'Data': JSON.stringify((item === null || item === void 0 ? void 0 : item.data) || {}),
37
+ 'Object': JSON.stringify((item === null || item === void 0 ? void 0 : item.object) || {}),
38
+ 'Pre-Object': JSON.stringify((item === null || item === void 0 ? void 0 : item.pre_object) || {}),
39
+ 'Created At': new Date(item === null || item === void 0 ? void 0 : item.created_at).toDateString(),
40
+ 'Created By': (_a = item === null || item === void 0 ? void 0 : item.user) === null || _a === void 0 ? void 0 : _a.email
41
+ };
42
+ });
43
+ }
44
+ return [];
45
+ }
46
+ changeSort(event) {
47
+ if (event.direction) {
48
+ this.filters.sort_by = `${event.active}|${event.direction}`;
49
+ this.reload();
50
+ }
51
+ }
52
+ logClicked(log) {
53
+ this.router.navigate(['/system/audit-logs/log-view', log.id]);
54
+ }
55
+ initializeData() {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ if (this.objectType) {
58
+ this.filters = Object.assign(Object.assign({}, this.filters), { object_type: this.objectType });
59
+ }
60
+ if (this.objectId) {
61
+ this.filters = Object.assign(Object.assign({}, this.filters), { object_id: this.objectId });
62
+ }
63
+ if (this.userId) {
64
+ this.filters = Object.assign(Object.assign({}, this.filters), { user_id: this.userId });
65
+ }
66
+ const result = yield this.dataManager.GET(`api/audit-logs`, Object.assign(Object.assign({}, this.filters), this.pageEvent));
67
+ this.auditLogList = this.auditLogList.concat(result.data);
68
+ this.pageEvent.page = result.current_page;
69
+ this.pageEvent.lastPage = result.last_page;
70
+ });
71
+ }
72
+ filterChange(event) {
73
+ if (this.showFilter) {
74
+ this.filters = Object.assign(Object.assign(Object.assign({}, this.filters), event), { object_type: this.objectType || (event === null || event === void 0 ? void 0 : event.object_type) || '', object_id: this.objectId || '' });
75
+ this.reload();
76
+ }
77
+ }
78
+ onScroll() {
79
+ if (this.pageEvent.lastPage > this.pageEvent.page) {
80
+ this.pageEvent.page += 1;
81
+ this.initializeData();
82
+ }
83
+ }
84
+ reload() {
85
+ this.auditLogList = [];
86
+ this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
87
+ this.initializeData();
88
+ }
89
+ getTransformedChanges(log) {
90
+ var _a, _b;
91
+ if ((_a = log === null || log === void 0 ? void 0 : log.data) === null || _a === void 0 ? void 0 : _a.changes) {
92
+ const changes = Object.keys((_b = log === null || log === void 0 ? void 0 : log.data) === null || _b === void 0 ? void 0 : _b.changes) || [];
93
+ let value = '<div>';
94
+ changes.forEach((key) => {
95
+ var _a, _b;
96
+ const displayAttribute = key.split('_').map(x => x.charAt(0).toUpperCase() + x.slice(1)).join(' ');
97
+ value = `${value} <div><b>${displayAttribute}:</b> <span id="old-value">${(_a = log === null || log === void 0 ? void 0 : log.pre_object[key]) !== null && _a !== void 0 ? _a : ''}</span><span id="new-value">${(_b = log === null || log === void 0 ? void 0 : log.object[key]) !== null && _b !== void 0 ? _b : ''}</span></div>`;
98
+ });
99
+ value = `${value} </div>`;
100
+ return value;
101
+ }
102
+ return '';
103
+ }
104
+ ngOnDestroy() {
105
+ // Needed for automatic unsubscribe with untilDestroyed
106
+ }
107
+ };
108
+ AuditLogListComponent.decorators = [
109
+ { type: Component, args: [{
110
+ selector: 'app-audit-log-list',
111
+ template: "<div fxLayout=\"column\" fxLayoutAlign=\"start\" class=\"mat-typography\">\r\n\r\n <div fxLayout=\"column\" fxLayoutAlign=\"start\" fxLayoutGap=\"1.5rem\" class=\"p-3\">\r\n <h2 class=\"font-weight-bold\">\r\n Audit Logs\r\n </h2>\r\n\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"start center\">\r\n <app-audit-log-list-filter *ngIf=\"showFilter\" (valueChange)=\"filterChange($event)\" [objectType]=\"objectType\"\r\n [objectId]=\"objectId\"></app-audit-log-list-filter>\r\n <span fxFlex></span>\r\n\r\n <ng-container *ngIf=\"showExportButtons\">\r\n <div class=\"ml-4\">\r\n <app-export-excel-button elementId=\"audit-logs-table\" name=\"AuditLogs\" [data]=\"excelData\">\r\n </app-export-excel-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <section class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\r\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\r\n <table mat-table [dataSource]=\"auditLogList\" matSort class=\"w-100\" multiTemplateDataRows id=\"audit-logs-table\">\r\n\r\n <!-- Index Column -->\r\n <ng-container matColumnDef=\"index\">\r\n <th mat-header-cell *matHeaderCellDef> # </th>\r\n <td mat-cell *matCellDef=\"let auditLog; let i = dataIndex\"> {{ i+1 }} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"id\">\r\n <th mat-header-cell *matHeaderCellDef> Log # </th>\r\n <td mat-cell *matCellDef=\"let auditLog\">\r\n {{auditLog?.id}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"object_type\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Model </th>\r\n <td mat-cell *matCellDef=\"let auditLog;\"> {{ auditLog.object_type }} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"object_id\">\r\n <th mat-header-cell *matHeaderCellDef> Model # </th>\r\n <td mat-cell *matCellDef=\"let auditLog\">\r\n {{auditLog?.object_id}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"action\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Action </th>\r\n <td mat-cell *matCellDef=\"let auditLog;\"> {{ auditLog?.action }} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"created_at\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created At </th>\r\n <td mat-cell *matCellDef=\"let auditLog\">\r\n {{auditLog?.created_at | date:'medium'}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"user.email\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Created By </th>\r\n <td mat-cell *matCellDef=\"let auditLog\">\r\n {{auditLog?.user?.email}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"changes\">\r\n <th mat-header-cell *matHeaderCellDef> Changes</th>\r\n <td mat-cell *matCellDef=\"let auditLog\">\r\n <div class=\"px-3\" [innerHtml]=\"sanitizer.bypassSecurityTrustHtml(getTransformedChanges(auditLog))\">\r\n\r\n </div>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- Actions Column -->\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef> Actions </th>\r\n <td mat-cell *matCellDef=\"let auditLog\">\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"\r\n (click)=\"logClicked(row);$event.stopPropagation();\" class=\"hoverable row-hover\"></tr>\r\n </table>\r\n </section>\r\n\r\n\r\n</div>",
112
+ styles: ["tr.row-hover:hover{background-color:#dcdcdc}.scroll-container{height:800px;overflow-y:auto}:host ::ng-deep #old-value{background-color:#f08080;margin-right:5px}:host ::ng-deep #new-value{background-color:#98fb98}"]
113
+ },] }
114
+ ];
115
+ AuditLogListComponent.ctorParameters = () => [
116
+ { type: DataManager },
117
+ { type: Router },
118
+ { type: DomSanitizer }
119
+ ];
120
+ AuditLogListComponent.propDecorators = {
121
+ objectId: [{ type: Input }],
122
+ objectType: [{ type: Input }],
123
+ showFilter: [{ type: Input }],
124
+ showExportButtons: [{ type: Input }],
125
+ userId: [{ type: Input }],
126
+ sort: [{ type: ViewChild, args: [MatSort, { static: true },] }]
127
+ };
128
+ AuditLogListComponent = __decorate([
129
+ UntilDestroy()
130
+ ], AuditLogListComponent);
131
+ export { AuditLogListComponent };
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0lBUTVDLHFCQUFxQixTQUFyQixxQkFBcUI7SUFlaEMsWUFDVSxXQUF3QixFQUN4QixNQUFjLEVBQ2YsU0FBdUI7UUFGdEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFoQmhDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBR2hCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0Isc0JBQWlCLEdBQVksSUFBSSxDQUFDO1FBRzNDLGNBQVMsR0FBYyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDN0QsWUFBTyxHQUFRLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDOUMscUJBQWdCLEdBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGFB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S04sWUFBWTs7O3VCQVdsQixLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsS0FBSztnQ0FDTCxLQUFLO3FCQUNMLEtBQUs7bUJBTUwsU0FBUyxTQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBYnpCLHFCQUFxQjtJQU5qQyxZQUFZLEVBQUU7R0FNRixxQkFBcUIsQ0F5SGpDO1NBekhZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xyXG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICcuLi8uLi9kYXRhLXRhYmxlL2RhdGEtdGFibGUubW9kZWwnO1xyXG5pbXBvcnQgeyBEYXRhTWFuYWdlciB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YU1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQFVudGlsRGVzdHJveSgpXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZy1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2F1ZGl0LWxvZy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIGF1ZGl0TG9nTGlzdDogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBvYmplY3RJZDogYW55O1xyXG4gIEBJbnB1dCgpIG9iamVjdFR5cGU6IGFueTtcclxuICBASW5wdXQoKSBzaG93RmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RXhwb3J0QnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdXNlcklkOiBhbnk7XHJcblxyXG4gIHBhZ2VFdmVudDogUGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcclxuICBmaWx0ZXJzOiBhbnkgPSB7IHNvcnRfYnk6ICdjcmVhdGVkX2F0fGRlc2MnIH07XHJcbiAgZGlzcGxheWVkQ29sdW1uczogYW55W10gPSBbJ2luZGV4JywgJ2lkJywgJ29iamVjdF90eXBlJywgJ29iamVjdF9pZCcsICdhY3Rpb24nLCAnY2hhbmdlcycsICdjcmVhdGVkX2F0JywgJ3VzZXIuZW1haWwnXTtcclxuXHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGF0YU1hbmFnZXI6IERhdGFNYW5hZ2VyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcclxuXHJcbiAgICBpZiAodGhpcy5zb3J0KSB7XHJcbiAgICAgIHRoaXMuc29ydC5zb3J0Q2hhbmdlLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGFuZ2VTb3J0KHZhbHVlKTtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGdldCBleGNlbERhdGEoKTogYW55W10ge1xyXG4gICAgaWYgKHRoaXMuYXVkaXRMb2dMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXVkaXRMb2dMaXN0Lm1hcChpdGVtID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgJ1R5cGUnOiBpdGVtPy5vYmplY3RfdHlwZSxcclxuICAgICAgICAgICdBY3Rpb24nOiBpdGVtPy5hY3Rpb24sXHJcbiAgICAgICAgICAnRGF0YSc6IEpTT04uc3RyaW5naWZ5KGl0ZW0/LmRhdGEgfHwge30pLFxyXG4gICAgICAgICAgJ09iamVjdCc6IEpTT04uc3RyaW5naWZ5KGl0ZW0/Lm9iamVjdCB8fCB7fSksXHJcbiAgICAgICAgICAnUHJlLU9iamVjdCc6IEpTT04uc3RyaW5naWZ5KGl0ZW0/LnByZV9vYmplY3QgfHwge30pLFxyXG4gICAgICAgICAgJ0NyZWF0ZWQgQXQnOiBuZXcgRGF0ZShpdGVtPy5jcmVhdGVkX2F0KS50b0RhdGVTdHJpbmcoKSxcclxuICAgICAgICAgICdDcmVhdGVkIEJ5JzogaXRlbT8udXNlcj8uZW1haWxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVNvcnQoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LmRpcmVjdGlvbikge1xyXG4gICAgICB0aGlzLmZpbHRlcnMuc29ydF9ieSA9IGAke2V2ZW50LmFjdGl2ZX18JHtldmVudC5kaXJlY3Rpb259YDtcclxuICAgICAgdGhpcy5yZWxvYWQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvZ0NsaWNrZWQobG9nOiBhbnkpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3N5c3RlbS9hdWRpdC1sb2dzL2xvZy12aWV3JywgbG9nLmlkXSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYXN5bmMgaW5pdGlhbGl6ZURhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5vYmplY3RUeXBlKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHsgLi4udGhpcy5maWx0ZXJzLCBvYmplY3RfdHlwZTogdGhpcy5vYmplY3RUeXBlIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9iamVjdElkKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHsgLi4udGhpcy5maWx0ZXJzLCBvYmplY3RfaWQ6IHRoaXMub2JqZWN0SWQgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudXNlcklkKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHsgLi4udGhpcy5maWx0ZXJzLCB1c2VyX2lkOiB0aGlzLnVzZXJJZCB9XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmRhdGFNYW5hZ2VyLkdFVChgYXBpL2F1ZGl0LWxvZ3NgLCB7IC4uLnRoaXMuZmlsdGVycywgLi4udGhpcy5wYWdlRXZlbnQgfSk7XHJcbiAgICB0aGlzLmF1ZGl0TG9nTGlzdCA9IHRoaXMuYXVkaXRMb2dMaXN0LmNvbmNhdChyZXN1bHQuZGF0YSk7XHJcbiAgICB0aGlzLnBhZ2VFdmVudC5wYWdlID0gcmVzdWx0LmN1cnJlbnRfcGFnZTtcclxuICAgIHRoaXMucGFnZUV2ZW50Lmxhc3RQYWdlID0gcmVzdWx0Lmxhc3RfcGFnZTtcclxuICB9XHJcblxyXG4gIGZpbHRlckNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5zaG93RmlsdGVyKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHtcclxuICAgICAgICAuLi50aGlzLmZpbHRlcnMsXHJcbiAgICAgICAgLi4uZXZlbnQsXHJcbiAgICAgICAgb2JqZWN0X3R5cGU6IHRoaXMub2JqZWN0VHlwZSB8fCBldmVudD8ub2JqZWN0X3R5cGUgfHwgJycsXHJcbiAgICAgICAgb2JqZWN0X2lkOiB0aGlzLm9iamVjdElkIHx8ICcnLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TY3JvbGwoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlRXZlbnQubGFzdFBhZ2UgPiB0aGlzLnBhZ2VFdmVudC5wYWdlKSB7XHJcbiAgICAgIHRoaXMucGFnZUV2ZW50LnBhZ2UgKz0gMTtcclxuICAgICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVsb2FkKCkge1xyXG4gICAgdGhpcy5hdWRpdExvZ0xpc3QgPSBbXTtcclxuICAgIHRoaXMucGFnZUV2ZW50ID0geyBwYWdlOiAxLCBwZXJQYWdlOiAyNSwgbGFzdFBhZ2U6IDEgfTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZURhdGEoKTtcclxuICB9XHJcblxyXG4gIGdldFRyYW5zZm9ybWVkQ2hhbmdlcyhsb2c6IGFueSkge1xyXG4gICAgaWYgKGxvZz8uZGF0YT8uY2hhbmdlcykge1xyXG4gICAgICBjb25zdCBjaGFuZ2VzID0gT2JqZWN0LmtleXMobG9nPy5kYXRhPy5jaGFuZ2VzKSB8fCBbXTtcclxuICAgICAgbGV0IHZhbHVlID0gJzxkaXY+JztcclxuICAgICAgY2hhbmdlcy5mb3JFYWNoKChrZXk6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRpc3BsYXlBdHRyaWJ1dGUgPSAoa2V5IGFzIHN0cmluZykuc3BsaXQoJ18nKS5tYXAoeCA9PiB4LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgeC5zbGljZSgxKSkuam9pbignICcpO1xyXG4gICAgICAgIHZhbHVlID0gYCR7dmFsdWV9IDxkaXY+PGI+JHtkaXNwbGF5QXR0cmlidXRlfTo8L2I+IDxzcGFuIGlkPVwib2xkLXZhbHVlXCI+JHtsb2c/LnByZV9vYmplY3Rba2V5XSA/PyAnJ308L3NwYW4+PHNwYW4gaWQ9XCJuZXctdmFsdWVcIj4ke2xvZz8ub2JqZWN0W2tleV0gPz8gJyd9PC9zcGFuPjwvZGl2PmA7XHJcbiAgICAgIH0pO1xyXG4gICAgICB2YWx1ZSA9IGAke3ZhbHVlfSA8L2Rpdj5gO1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIC8vIE5lZWRlZCBmb3IgYXV0b21hdGljIHVuc3Vic2NyaWJlIHdpdGggdW50aWxEZXN0cm95ZWRcclxuICB9XHJcbn1cclxuIl19
@@ -1,29 +1,29 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { AuditLogListRoutingModule } from './audit-log-list-routing.module';
4
- import { InfiniteScrollModule } from 'ngx-infinite-scroll';
5
- import { AuditLogListComponent } from './audit-log-list.component';
6
- import { AuditLogListFilterModule } from '../audit-log-list-filter/audit-log-list-filter.module';
7
- import { FlexLayoutModule } from '@angular/flex-layout';
8
- import { ReactiveFormsModule } from '@angular/forms';
9
- import { ExportExcelModule } from '../../export-excel/export-excel.module';
10
- import { MaterialModule } from '../../material.module';
11
- export class AuditLogListModule {
12
- }
13
- AuditLogListModule.decorators = [
14
- { type: NgModule, args: [{
15
- declarations: [AuditLogListComponent],
16
- imports: [
17
- CommonModule,
18
- AuditLogListRoutingModule,
19
- ExportExcelModule,
20
- FlexLayoutModule,
21
- ReactiveFormsModule,
22
- MaterialModule,
23
- InfiniteScrollModule,
24
- AuditLogListFilterModule
25
- ],
26
- exports: [AuditLogListComponent]
27
- },] }
28
- ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWlCdkQsTUFBTSxPQUFPLGtCQUFrQjs7O1lBZDlCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDckMsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1oseUJBQXlCO29CQUN6QixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzthQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBdWRpdExvZ0xpc3RSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9hdWRpdC1sb2ctbGlzdC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgQXVkaXRMb2dMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9hdWRpdC1sb2ctbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXVkaXRMb2dMaXN0RmlsdGVyTW9kdWxlIH0gZnJvbSAnLi4vYXVkaXQtbG9nLWxpc3QtZmlsdGVyL2F1ZGl0LWxvZy1saXN0LWZpbHRlci5tb2R1bGUnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFeHBvcnRFeGNlbE1vZHVsZSB9IGZyb20gJy4uLy4uL2V4cG9ydC1leGNlbC9leHBvcnQtZXhjZWwubW9kdWxlJztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBdWRpdExvZ0xpc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEF1ZGl0TG9nTGlzdFJvdXRpbmdNb2R1bGUsXG4gICAgRXhwb3J0RXhjZWxNb2R1bGUsXG4gICAgRmxleExheW91dE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIEluZmluaXRlU2Nyb2xsTW9kdWxlLFxuICAgIEF1ZGl0TG9nTGlzdEZpbHRlck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbQXVkaXRMb2dMaXN0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ0xpc3RNb2R1bGUgeyB9XG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AuditLogListRoutingModule } from './audit-log-list-routing.module';
4
+ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
5
+ import { AuditLogListComponent } from './audit-log-list.component';
6
+ import { AuditLogListFilterModule } from '../audit-log-list-filter/audit-log-list-filter.module';
7
+ import { FlexLayoutModule } from '@angular/flex-layout';
8
+ import { ReactiveFormsModule } from '@angular/forms';
9
+ import { ExportExcelModule } from '../../export-excel/export-excel.module';
10
+ import { MaterialModule } from '../../material.module';
11
+ export class AuditLogListModule {
12
+ }
13
+ AuditLogListModule.decorators = [
14
+ { type: NgModule, args: [{
15
+ declarations: [AuditLogListComponent],
16
+ imports: [
17
+ CommonModule,
18
+ AuditLogListRoutingModule,
19
+ ExportExcelModule,
20
+ FlexLayoutModule,
21
+ ReactiveFormsModule,
22
+ MaterialModule,
23
+ InfiniteScrollModule,
24
+ AuditLogListFilterModule
25
+ ],
26
+ exports: [AuditLogListComponent]
27
+ },] }
28
+ ];
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWlCdkQsTUFBTSxPQUFPLGtCQUFrQjs7O1lBZDlCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDckMsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1oseUJBQXlCO29CQUN6QixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzthQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBBdWRpdExvZ0xpc3RSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9hdWRpdC1sb2ctbGlzdC1yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XHJcbmltcG9ydCB7IEF1ZGl0TG9nTGlzdENvbXBvbmVudCB9IGZyb20gJy4vYXVkaXQtbG9nLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXVkaXRMb2dMaXN0RmlsdGVyTW9kdWxlIH0gZnJvbSAnLi4vYXVkaXQtbG9nLWxpc3QtZmlsdGVyL2F1ZGl0LWxvZy1saXN0LWZpbHRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFeHBvcnRFeGNlbE1vZHVsZSB9IGZyb20gJy4uLy4uL2V4cG9ydC1leGNlbC9leHBvcnQtZXhjZWwubW9kdWxlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQXVkaXRMb2dMaXN0Q29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBBdWRpdExvZ0xpc3RSb3V0aW5nTW9kdWxlLFxyXG4gICAgRXhwb3J0RXhjZWxNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXHJcbiAgICBBdWRpdExvZ0xpc3RGaWx0ZXJNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtBdWRpdExvZ0xpc3RDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ0xpc3RNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,12 +1,12 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- const routes = [];
4
- export class AuditLogListFilterRoutingModule {
5
- }
6
- AuditLogListFilterRoutingModule.decorators = [
7
- { type: NgModule, args: [{
8
- imports: [RouterModule.forChild(routes)],
9
- exports: [RouterModule]
10
- },] }
11
- ];
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QtZmlsdGVyLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QtZmlsdGVyL2F1ZGl0LWxvZy1saXN0LWZpbHRlci1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLCtCQUErQjs7O1lBSjNDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ0xpc3RGaWx0ZXJSb3V0aW5nTW9kdWxlIHsgfVxuIl19
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ const routes = [];
4
+ export class AuditLogListFilterRoutingModule {
5
+ }
6
+ AuditLogListFilterRoutingModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ imports: [RouterModule.forChild(routes)],
9
+ exports: [RouterModule]
10
+ },] }
11
+ ];
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QtZmlsdGVyLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWxpc3QtZmlsdGVyL2F1ZGl0LWxvZy1saXN0LWZpbHRlci1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLCtCQUErQjs7O1lBSjNDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXMsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtdO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxyXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ0xpc3RGaWx0ZXJSb3V0aW5nTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,67 +1,67 @@
1
- import { __decorate } from "tslib";
2
- import { Component, Output, EventEmitter, Input } from '@angular/core';
3
- import { FormBuilder } from '@angular/forms';
4
- import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
5
- import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
- import { FormValidatorService } from '../../core/form-validator.service';
7
- import { DateValidator } from '../../date-validator';
8
- let AuditLogListFilterComponent = class AuditLogListFilterComponent {
9
- constructor(fb, formValidatorService) {
10
- this.fb = fb;
11
- this.formValidatorService = formValidatorService;
12
- this.valueChange = new EventEmitter();
13
- this.createForm();
14
- }
15
- get showObjectFilter() {
16
- return !(this.objectId || this.objectType);
17
- }
18
- createForm() {
19
- //TODO: Finialize and add more validations.
20
- this.auditLogFilterForm = this.fb.group({
21
- object_type: [''],
22
- action: [''],
23
- data: [''],
24
- date_to: ['', DateValidator()],
25
- date_from: ['', DateValidator()]
26
- });
27
- }
28
- ngOnInit() {
29
- this.auditLogFilterForm.valueChanges.pipe(debounceTime(500), distinctUntilChanged(), untilDestroyed(this)).subscribe((value) => {
30
- value.date_from = value.date_from ? value.date_from.toISOString() : '';
31
- value.date_to = value.date_to ? value.date_to.toISOString() : '';
32
- this.valueChange.emit(value);
33
- });
34
- }
35
- resetFieldValue(field) {
36
- this.auditLogFilterForm.get(field).setValue('');
37
- }
38
- getFieldValue(field) {
39
- return this.auditLogFilterForm.get(field).value;
40
- }
41
- isFieldValid(field) {
42
- return this.formValidatorService.isFieldValid(field, this.auditLogFilterForm, true);
43
- }
44
- ngOnDestroy() {
45
- }
46
- };
47
- AuditLogListFilterComponent.decorators = [
48
- { type: Component, args: [{
49
- selector: 'app-audit-log-list-filter',
50
- template: "<form [formGroup]=\"auditLogFilterForm\" fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" fxLayoutAlign=\"start center\">\n <mat-form-field *ngIf=\"showObjectFilter\">\n <mat-label>Model</mat-label>\n <app-searchable-selector formControlName=\"object_type\" apiUrl=\"api/audit-log-types\" titleField=\"object_type\"\n valueField=\"object_type\" [sort]=\"false\" [enableSearch]=\"false\">\n </app-searchable-selector>\n <button mat-button *ngIf=\"getFieldValue('object_type')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('object_type')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field>\n <mat-label>Action</mat-label>\n <mat-select formControlName=\"action\">\n <mat-option value=\"created\">Created</mat-option>\n <mat-option value=\"updated\">Updated</mat-option>\n <mat-option value=\"deleted\">Deleted</mat-option>\n </mat-select>\n <button mat-button *ngIf=\"getFieldValue('action')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('action')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field>\n <input matInput formControlName=\"date_from\" [matDatepicker]=\"fromPicker\" (click)=\"fromPicker.open()\"\n placeholder=\"From Date (MM/DD/YYYY)\" />\n <mat-datepicker-toggle matSuffix [for]=\"fromPicker\"></mat-datepicker-toggle>\n <mat-datepicker #fromPicker></mat-datepicker>\n <button mat-button *ngIf=\"getFieldValue('date_from')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('date_from')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('date_from')\">Invalid Date</mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <input matInput formControlName=\"date_to\" [matDatepicker]=\"toPicker\" (click)=\"toPicker.open()\"\n placeholder=\"To Date (MM/DD/YYYY)\" />\n <mat-datepicker-toggle matSuffix [for]=\"\"></mat-datepicker-toggle>\n <mat-datepicker #toPicker></mat-datepicker>\n <button mat-button *ngIf=\"getFieldValue('date_to')\" matSuffix mat-icon-button\n (click)=\"resetFieldValue('date_to')\">\n <mat-icon>close</mat-icon>\n </button>\n <mat-error *ngIf=\"isFieldValid('date_to')\">Invalid Date</mat-error>\n </mat-form-field>\n</form>",
51
- styles: [""]
52
- },] }
53
- ];
54
- AuditLogListFilterComponent.ctorParameters = () => [
55
- { type: FormBuilder },
56
- { type: FormValidatorService }
57
- ];
58
- AuditLogListFilterComponent.propDecorators = {
59
- objectId: [{ type: Input }],
60
- objectType: [{ type: Input }],
61
- valueChange: [{ type: Output }]
62
- };
63
- AuditLogListFilterComponent = __decorate([
64
- UntilDestroy()
65
- ], AuditLogListFilterComponent);
66
- export { AuditLogListFilterComponent };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1saXN0LWZpbHRlci9hdWRpdC1sb2ctbGlzdC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7SUFReEMsMkJBQTJCLFNBQTNCLDJCQUEyQjtJQVN0QyxZQUFvQixFQUFlLEVBQVUsb0JBQTBDO1FBQW5FLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBRjdFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd6QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxVQUFVO1FBRWhCLDJDQUEyQztRQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUM5QixTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUM7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFFTixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdkMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixvQkFBb0IsRUFBRSxFQUN0QixjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDekIsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxLQUFLLENBQUMsU0FBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pGLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUUsS0FBSyxDQUFDLE9BQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFHRCxlQUFlLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUdELFdBQVc7SUFFWCxDQUFDO0NBRUYsQ0FBQTs7WUFqRUEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLG05RUFBcUQ7O2FBRXREOzs7WUFYbUIsV0FBVztZQUd0QixvQkFBb0I7Ozt1QkFhMUIsS0FBSzt5QkFDTCxLQUFLOzBCQUVMLE1BQU07O0FBUEksMkJBQTJCO0lBTnZDLFlBQVksRUFBRTtHQU1GLDJCQUEyQixDQTREdkM7U0E1RFksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IERhdGVWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9kYXRlLXZhbGlkYXRvcic7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZy1saXN0LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1sb2ctbGlzdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC1sb2ctbGlzdC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ0xpc3RGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGF1ZGl0TG9nRmlsdGVyRm9ybTogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpIG9iamVjdElkOiBhbnk7XG4gIEBJbnB1dCgpIG9iamVjdFR5cGU6IGFueTtcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICBnZXQgc2hvd09iamVjdEZpbHRlcigpIHtcbiAgICByZXR1cm4gISh0aGlzLm9iamVjdElkIHx8IHRoaXMub2JqZWN0VHlwZSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG5cbiAgICAvL1RPRE86IEZpbmlhbGl6ZSBhbmQgYWRkIG1vcmUgdmFsaWRhdGlvbnMuXG4gICAgdGhpcy5hdWRpdExvZ0ZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG9iamVjdF90eXBlOiBbJyddLFxuICAgICAgYWN0aW9uOiBbJyddLFxuICAgICAgZGF0YTogWycnXSxcbiAgICAgIGRhdGVfdG86IFsnJywgRGF0ZVZhbGlkYXRvcigpXSxcbiAgICAgIGRhdGVfZnJvbTogWycnLCBEYXRlVmFsaWRhdG9yKCldXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIHRoaXMuYXVkaXRMb2dGaWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcbiAgICApLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgdmFsdWUuZGF0ZV9mcm9tID0gdmFsdWUuZGF0ZV9mcm9tID8gKHZhbHVlLmRhdGVfZnJvbSBhcyBEYXRlKS50b0lTT1N0cmluZygpIDogJyc7XG4gICAgICB2YWx1ZS5kYXRlX3RvID0gdmFsdWUuZGF0ZV90byA/ICh2YWx1ZS5kYXRlX3RvIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkgOiAnJztcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfSlcbiAgfVxuXG5cbiAgcmVzZXRGaWVsZFZhbHVlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmF1ZGl0TG9nRmlsdGVyRm9ybS5nZXQoZmllbGQpLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIGdldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmF1ZGl0TG9nRmlsdGVyRm9ybS5nZXQoZmllbGQpLnZhbHVlO1xuICB9XG5cbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5pc0ZpZWxkVmFsaWQoZmllbGQsIHRoaXMuYXVkaXRMb2dGaWx0ZXJGb3JtLCB0cnVlKTtcbiAgfVxuXG5cbiAgbmdPbkRlc3Ryb3koKSB7XG5cbiAgfVxuXG59XG4iXX0=
1
+ import { __decorate } from "tslib";
2
+ import { Component, Output, EventEmitter, Input } from '@angular/core';
3
+ import { FormBuilder } from '@angular/forms';
4
+ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
5
+ import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
6
+ import { FormValidatorService } from '../../core/form-validator.service';
7
+ import { DateValidator } from '../../date-validator';
8
+ let AuditLogListFilterComponent = class AuditLogListFilterComponent {
9
+ constructor(fb, formValidatorService) {
10
+ this.fb = fb;
11
+ this.formValidatorService = formValidatorService;
12
+ this.valueChange = new EventEmitter();
13
+ this.createForm();
14
+ }
15
+ get showObjectFilter() {
16
+ return !(this.objectId || this.objectType);
17
+ }
18
+ createForm() {
19
+ //TODO: Finialize and add more validations.
20
+ this.auditLogFilterForm = this.fb.group({
21
+ object_type: [''],
22
+ action: [''],
23
+ data: [''],
24
+ date_to: ['', DateValidator()],
25
+ date_from: ['', DateValidator()]
26
+ });
27
+ }
28
+ ngOnInit() {
29
+ this.auditLogFilterForm.valueChanges.pipe(debounceTime(500), distinctUntilChanged(), untilDestroyed(this)).subscribe((value) => {
30
+ value.date_from = value.date_from ? value.date_from.toISOString() : '';
31
+ value.date_to = value.date_to ? value.date_to.toISOString() : '';
32
+ this.valueChange.emit(value);
33
+ });
34
+ }
35
+ resetFieldValue(field) {
36
+ this.auditLogFilterForm.get(field).setValue('');
37
+ }
38
+ getFieldValue(field) {
39
+ return this.auditLogFilterForm.get(field).value;
40
+ }
41
+ isFieldValid(field) {
42
+ return this.formValidatorService.isFieldValid(field, this.auditLogFilterForm, true);
43
+ }
44
+ ngOnDestroy() {
45
+ }
46
+ };
47
+ AuditLogListFilterComponent.decorators = [
48
+ { type: Component, args: [{
49
+ selector: 'app-audit-log-list-filter',
50
+ template: "<form [formGroup]=\"auditLogFilterForm\" fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" fxLayoutAlign=\"start center\">\r\n <mat-form-field *ngIf=\"showObjectFilter\">\r\n <mat-label>Model</mat-label>\r\n <app-searchable-selector formControlName=\"object_type\" apiUrl=\"api/audit-log-types\" titleField=\"object_type\"\r\n valueField=\"object_type\" [sort]=\"false\" [enableSearch]=\"false\">\r\n </app-searchable-selector>\r\n <button mat-button *ngIf=\"getFieldValue('object_type')\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('object_type')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <mat-label>Action</mat-label>\r\n <mat-select formControlName=\"action\">\r\n <mat-option value=\"created\">Created</mat-option>\r\n <mat-option value=\"updated\">Updated</mat-option>\r\n <mat-option value=\"deleted\">Deleted</mat-option>\r\n </mat-select>\r\n <button mat-button *ngIf=\"getFieldValue('action')\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('action')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <input matInput formControlName=\"date_from\" [matDatepicker]=\"fromPicker\" (click)=\"fromPicker.open()\"\r\n placeholder=\"From Date (MM/DD/YYYY)\" />\r\n <mat-datepicker-toggle matSuffix [for]=\"fromPicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #fromPicker></mat-datepicker>\r\n <button mat-button *ngIf=\"getFieldValue('date_from')\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('date_from')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-error *ngIf=\"isFieldValid('date_from')\">Invalid Date</mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field>\r\n <input matInput formControlName=\"date_to\" [matDatepicker]=\"toPicker\" (click)=\"toPicker.open()\"\r\n placeholder=\"To Date (MM/DD/YYYY)\" />\r\n <mat-datepicker-toggle matSuffix [for]=\"\"></mat-datepicker-toggle>\r\n <mat-datepicker #toPicker></mat-datepicker>\r\n <button mat-button *ngIf=\"getFieldValue('date_to')\" matSuffix mat-icon-button\r\n (click)=\"resetFieldValue('date_to')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-error *ngIf=\"isFieldValid('date_to')\">Invalid Date</mat-error>\r\n </mat-form-field>\r\n</form>",
51
+ styles: [""]
52
+ },] }
53
+ ];
54
+ AuditLogListFilterComponent.ctorParameters = () => [
55
+ { type: FormBuilder },
56
+ { type: FormValidatorService }
57
+ ];
58
+ AuditLogListFilterComponent.propDecorators = {
59
+ objectId: [{ type: Input }],
60
+ objectType: [{ type: Input }],
61
+ valueChange: [{ type: Output }]
62
+ };
63
+ AuditLogListFilterComponent = __decorate([
64
+ UntilDestroy()
65
+ ], AuditLogListFilterComponent);
66
+ export { AuditLogListFilterComponent };
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWxpc3QtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy1saXN0LWZpbHRlci9hdWRpdC1sb2ctbGlzdC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7SUFReEMsMkJBQTJCLFNBQTNCLDJCQUEyQjtJQVN0QyxZQUFvQixFQUFlLEVBQVUsb0JBQTBDO1FBQW5FLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBRjdFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd6QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxVQUFVO1FBRWhCLDJDQUEyQztRQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDdEMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUM5QixTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUM7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFFTixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdkMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixvQkFBb0IsRUFBRSxFQUN0QixjQUFjLENBQUMsSUFBSSxDQUFDLENBQ3JCLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDekIsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxLQUFLLENBQUMsU0FBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pGLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUUsS0FBSyxDQUFDLE9BQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFHRCxlQUFlLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWE7UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUdELFdBQVc7SUFFWCxDQUFDO0NBRUYsQ0FBQTs7WUFqRUEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLG1qRkFBcUQ7O2FBRXREOzs7WUFYbUIsV0FBVztZQUd0QixvQkFBb0I7Ozt1QkFhMUIsS0FBSzt5QkFDTCxLQUFLOzBCQUVMLE1BQU07O0FBUEksMkJBQTJCO0lBTnZDLFlBQVksRUFBRTtHQU1GLDJCQUEyQixDQTREdkM7U0E1RFksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcclxuaW1wb3J0IHsgRm9ybVZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm0tdmFsaWRhdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vZGF0ZS12YWxpZGF0b3InO1xyXG5cclxuQFVudGlsRGVzdHJveSgpXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZy1saXN0LWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LWxvZy1saXN0LWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaXQtbG9nLWxpc3QtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1ZGl0TG9nTGlzdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGF1ZGl0TG9nRmlsdGVyRm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBASW5wdXQoKSBvYmplY3RJZDogYW55O1xyXG4gIEBJbnB1dCgpIG9iamVjdFR5cGU6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UpIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dPYmplY3RGaWx0ZXIoKSB7XHJcbiAgICByZXR1cm4gISh0aGlzLm9iamVjdElkIHx8IHRoaXMub2JqZWN0VHlwZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XHJcblxyXG4gICAgLy9UT0RPOiBGaW5pYWxpemUgYW5kIGFkZCBtb3JlIHZhbGlkYXRpb25zLlxyXG4gICAgdGhpcy5hdWRpdExvZ0ZpbHRlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgb2JqZWN0X3R5cGU6IFsnJ10sXHJcbiAgICAgIGFjdGlvbjogWycnXSxcclxuICAgICAgZGF0YTogWycnXSxcclxuICAgICAgZGF0ZV90bzogWycnLCBEYXRlVmFsaWRhdG9yKCldLFxyXG4gICAgICBkYXRlX2Zyb206IFsnJywgRGF0ZVZhbGlkYXRvcigpXVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICB0aGlzLmF1ZGl0TG9nRmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXHJcbiAgICApLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICB2YWx1ZS5kYXRlX2Zyb20gPSB2YWx1ZS5kYXRlX2Zyb20gPyAodmFsdWUuZGF0ZV9mcm9tIGFzIERhdGUpLnRvSVNPU3RyaW5nKCkgOiAnJztcclxuICAgICAgdmFsdWUuZGF0ZV90byA9IHZhbHVlLmRhdGVfdG8gPyAodmFsdWUuZGF0ZV90byBhcyBEYXRlKS50b0lTT1N0cmluZygpIDogJyc7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIHJlc2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmF1ZGl0TG9nRmlsdGVyRm9ybS5nZXQoZmllbGQpLnNldFZhbHVlKCcnKTtcclxuICB9XHJcblxyXG4gIGdldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuYXVkaXRMb2dGaWx0ZXJGb3JtLmdldChmaWVsZCkudmFsdWU7XHJcbiAgfVxyXG5cclxuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLmF1ZGl0TG9nRmlsdGVyRm9ybSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcblxyXG4gIH1cclxuXHJcbn1cclxuIl19