ngx-techlify-core 19.0.0 → 22.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (790) hide show
  1. package/fesm2022/ngx-techlify-core-base-model-oCILHkdE.mjs +677 -0
  2. package/fesm2022/ngx-techlify-core-base-model-oCILHkdE.mjs.map +1 -0
  3. package/fesm2022/ngx-techlify-core-shared.module-DROe5GRx.mjs +4842 -0
  4. package/fesm2022/ngx-techlify-core-shared.module-DROe5GRx.mjs.map +1 -0
  5. package/fesm2022/ngx-techlify-core-user-config.service-DW5EgXhL.mjs +133 -0
  6. package/fesm2022/ngx-techlify-core-user-config.service-DW5EgXhL.mjs.map +1 -0
  7. package/fesm2022/ngx-techlify-core-user-sessions.module-BRmDpYG3.mjs +2135 -0
  8. package/fesm2022/ngx-techlify-core-user-sessions.module-BRmDpYG3.mjs.map +1 -0
  9. package/fesm2022/ngx-techlify-core.mjs +32477 -16273
  10. package/fesm2022/ngx-techlify-core.mjs.map +1 -1
  11. package/package.json +19 -19
  12. package/styles/_index.scss +1 -1
  13. package/styles/style.scss +2 -2
  14. package/types/ngx-techlify-core.d.ts +6429 -0
  15. package/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +0 -126
  16. package/esm2022/lib/access-control-config/access-control-config-routing.module.mjs +0 -31
  17. package/esm2022/lib/access-control-config/access-control-config.component.mjs +0 -128
  18. package/esm2022/lib/access-control-config/access-control-config.model.mjs +0 -21
  19. package/esm2022/lib/access-control-config/access-control-config.module.mjs +0 -28
  20. package/esm2022/lib/access-control-config/access-control-config.service.mjs +0 -37
  21. package/esm2022/lib/action-popup/action-popup.component.mjs +0 -33
  22. package/esm2022/lib/action-popup/action-popup.model.mjs +0 -3
  23. package/esm2022/lib/action-popup/action-popup.module.mjs +0 -28
  24. package/esm2022/lib/action-popup/index.mjs +0 -3
  25. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list-routing.module.mjs +0 -26
  26. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.mjs +0 -115
  27. package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.mjs +0 -33
  28. package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.mjs +0 -87
  29. package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.mjs +0 -22
  30. package/esm2022/lib/app-admin/admin-role/admin-role.service.mjs +0 -24
  31. package/esm2022/lib/app-admin/app-admin-home/app-admin-home.component.mjs +0 -17
  32. package/esm2022/lib/app-admin/app-admin-routing.module.mjs +0 -29
  33. package/esm2022/lib/app-admin/app-admin.module.mjs +0 -22
  34. package/esm2022/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.mjs +0 -56
  35. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +0 -18
  36. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +0 -61
  37. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +0 -32
  38. package/esm2022/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +0 -18
  39. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +0 -149
  40. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.module.mjs +0 -28
  41. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +0 -18
  42. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +0 -56
  43. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +0 -24
  44. package/esm2022/lib/audit-log/audit-log-routing.module.mjs +0 -25
  45. package/esm2022/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +0 -18
  46. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +0 -53
  47. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.module.mjs +0 -24
  48. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +0 -18
  49. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +0 -55
  50. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +0 -24
  51. package/esm2022/lib/audit-log/audit-log.module.mjs +0 -31
  52. package/esm2022/lib/audit-log/audit-log.service.mjs +0 -18
  53. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +0 -18
  54. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +0 -23
  55. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +0 -28
  56. package/esm2022/lib/base-model/index.mjs +0 -8
  57. package/esm2022/lib/base-model/techlify-form/contract/techlify-form.contract.mjs +0 -191
  58. package/esm2022/lib/base-model/techlify-form/techlify-form.component.mjs +0 -134
  59. package/esm2022/lib/base-model/techlify-list/contract/techlify-list.contract.mjs +0 -69
  60. package/esm2022/lib/base-model/techlify-list/techlify-list.component.mjs +0 -331
  61. package/esm2022/lib/base-model/techlify-service.mjs +0 -68
  62. package/esm2022/lib/base-model/techlify-show/contract/techlify-show.contract.mjs +0 -84
  63. package/esm2022/lib/base-model/techlify-show/techlify-show.component.mjs +0 -120
  64. package/esm2022/lib/change-password/change-password-routing.module.mjs +0 -24
  65. package/esm2022/lib/change-password/change-password.component.mjs +0 -86
  66. package/esm2022/lib/change-password/change-password.module.mjs +0 -29
  67. package/esm2022/lib/column-selector/column-config.model.mjs +0 -3
  68. package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +0 -108
  69. package/esm2022/lib/column-selector/column-selector.module.mjs +0 -24
  70. package/esm2022/lib/column-selector/index.mjs +0 -4
  71. package/esm2022/lib/company-information/client.service.mjs +0 -19
  72. package/esm2022/lib/company-information/company-info-display/company-info-display.component.mjs +0 -44
  73. package/esm2022/lib/company-information/company-information/company-information.component.mjs +0 -120
  74. package/esm2022/lib/company-information/tenant-form-button/tenant-form-button.component.mjs +0 -36
  75. package/esm2022/lib/core/alert.service.mjs +0 -38
  76. package/esm2022/lib/core/api-prefix.interceptor.mjs +0 -26
  77. package/esm2022/lib/core/app-update.service.mjs +0 -64
  78. package/esm2022/lib/core/authentication.guard.mjs +0 -35
  79. package/esm2022/lib/core/authentication.service.mjs +0 -67
  80. package/esm2022/lib/core/cache.interceptor.mjs +0 -58
  81. package/esm2022/lib/core/config.service.mjs +0 -45
  82. package/esm2022/lib/core/core.module.mjs +0 -56
  83. package/esm2022/lib/core/credentials.service.mjs +0 -84
  84. package/esm2022/lib/core/environment.service.mjs +0 -22
  85. package/esm2022/lib/core/error-handler.interceptor.mjs +0 -60
  86. package/esm2022/lib/core/error-handler.service.mjs +0 -68
  87. package/esm2022/lib/core/filter.service.mjs +0 -40
  88. package/esm2022/lib/core/form-validator.service.mjs +0 -24
  89. package/esm2022/lib/core/header.interceptor.mjs +0 -24
  90. package/esm2022/lib/core/http-cache.service.mjs +0 -107
  91. package/esm2022/lib/core/http.service.mjs +0 -84
  92. package/esm2022/lib/core/index.mjs +0 -23
  93. package/esm2022/lib/core/logger.service.mjs +0 -100
  94. package/esm2022/lib/core/route-reusable-strategy.mjs +0 -36
  95. package/esm2022/lib/core/snack/snack.component.mjs +0 -33
  96. package/esm2022/lib/core/snack/snack.module.mjs +0 -36
  97. package/esm2022/lib/core/storage.service.mjs +0 -38
  98. package/esm2022/lib/core/techlify-config.model.mjs +0 -28
  99. package/esm2022/lib/core/token.interceptor.mjs +0 -28
  100. package/esm2022/lib/custom-icon/custom-icon-registry.service.mjs +0 -23
  101. package/esm2022/lib/custom-icon/custom-icon.component.mjs +0 -24
  102. package/esm2022/lib/custom-icon/custom-icon.module.mjs +0 -20
  103. package/esm2022/lib/custom-icon/custom-icons.registry.mjs +0 -42
  104. package/esm2022/lib/data-table/data-table.component.mjs +0 -203
  105. package/esm2022/lib/data-table/data-table.model.mjs +0 -11
  106. package/esm2022/lib/data-table/data-table.module.mjs +0 -24
  107. package/esm2022/lib/data-table/index.mjs +0 -3
  108. package/esm2022/lib/delete-button/techlify-delete-button.component.mjs +0 -74
  109. package/esm2022/lib/detail-layout/techlify-detail-layout.component.mjs +0 -11
  110. package/esm2022/lib/document-viewer/document-viewer.component.mjs +0 -64
  111. package/esm2022/lib/document-viewer/document-viewer.module.mjs +0 -32
  112. package/esm2022/lib/document-viewer/index.mjs +0 -3
  113. package/esm2022/lib/document-viewer/viewer-config.model.mjs +0 -3
  114. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +0 -32
  115. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +0 -73
  116. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +0 -24
  117. package/esm2022/lib/email-subscription/email-subscription-for-user/index.mjs +0 -2
  118. package/esm2022/lib/email-subscription/email-subscription-routing.module.mjs +0 -18
  119. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +0 -18
  120. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +0 -104
  121. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +0 -28
  122. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +0 -2
  123. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +0 -34
  124. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +0 -160
  125. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +0 -28
  126. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +0 -2
  127. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +0 -18
  128. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +0 -22
  129. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +0 -18
  130. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +0 -100
  131. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +0 -27
  132. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +0 -2
  133. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +0 -34
  134. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +0 -164
  135. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +0 -32
  136. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +0 -2
  137. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +0 -18
  138. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +0 -51
  139. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +0 -24
  140. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +0 -2
  141. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +0 -18
  142. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +0 -22
  143. package/esm2022/lib/email-subscription/email-subscription.module.mjs +0 -22
  144. package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +0 -160
  145. package/esm2022/lib/entity-files/entity-file-list/entity-file-list.component.mjs +0 -251
  146. package/esm2022/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.mjs +0 -33
  147. package/esm2022/lib/entity-files/entity-file-list.module.mjs +0 -43
  148. package/esm2022/lib/entity-files/entity-file.service.mjs +0 -37
  149. package/esm2022/lib/entity-files/index.mjs +0 -5
  150. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +0 -112
  151. package/esm2022/lib/export-excel/export-excel.module.mjs +0 -28
  152. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +0 -103
  153. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +0 -24
  154. package/esm2022/lib/file-dropper/file-dropper.component.mjs +0 -125
  155. package/esm2022/lib/file-dropper/file-dropper.model.mjs +0 -3
  156. package/esm2022/lib/file-dropper/file-dropper.module.mjs +0 -26
  157. package/esm2022/lib/file-dropper/index.mjs +0 -3
  158. package/esm2022/lib/file-upload-button/file-upload-button.component.mjs +0 -47
  159. package/esm2022/lib/forgot-password/forgot-password-routing.module.mjs +0 -22
  160. package/esm2022/lib/forgot-password/forgot-password.component.mjs +0 -69
  161. package/esm2022/lib/forgot-password/forgot-password.module.mjs +0 -26
  162. package/esm2022/lib/forgot-password/index.mjs +0 -3
  163. package/esm2022/lib/form-button/techlify-form-button.component.mjs +0 -39
  164. package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form-routing.module.mjs +0 -29
  165. package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.component.mjs +0 -43
  166. package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.mjs +0 -24
  167. package/esm2022/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.component.mjs +0 -22
  168. package/esm2022/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.module.mjs +0 -28
  169. package/esm2022/lib/form-configuration/form-configuration-form-field.service.mjs +0 -18
  170. package/esm2022/lib/form-configuration/form-configuration-form.service.mjs +0 -18
  171. package/esm2022/lib/form-configuration/form-configuration-utility.service.mjs +0 -37
  172. package/esm2022/lib/image-preview/image-preview.component.mjs +0 -26
  173. package/esm2022/lib/import-csv/data-import/data-import.component.mjs +0 -17
  174. package/esm2022/lib/import-csv/failed-items-list/failed-items-list.component.mjs +0 -34
  175. package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +0 -152
  176. package/esm2022/lib/import-csv/import-csv-config.mjs +0 -2
  177. package/esm2022/lib/import-csv/import-csv.component.mjs +0 -209
  178. package/esm2022/lib/import-csv/import-csv.module.mjs +0 -44
  179. package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +0 -70
  180. package/esm2022/lib/import-csv/import-success/import-success.component.mjs +0 -23
  181. package/esm2022/lib/ip-address-selector/ip-address-selector.module.mjs +0 -24
  182. package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +0 -108
  183. package/esm2022/lib/loader/index.mjs +0 -2
  184. package/esm2022/lib/loader/loader.component.mjs +0 -23
  185. package/esm2022/lib/loader/loader.module.mjs +0 -28
  186. package/esm2022/lib/local-date-parser.mjs +0 -6
  187. package/esm2022/lib/locked-date/index.mjs +0 -6
  188. package/esm2022/lib/locked-date/locked-date-form/locked-date-form.component.mjs +0 -72
  189. package/esm2022/lib/locked-date/locked-date-lock-unlock-button/locked-date-lock-unlock-button.component.mjs +0 -35
  190. package/esm2022/lib/locked-date/locked-date.model.mjs +0 -3
  191. package/esm2022/lib/locked-date/locked-date.module.mjs +0 -34
  192. package/esm2022/lib/locked-date/locked-date.service.mjs +0 -25
  193. package/esm2022/lib/locked-date/locked-dates-list/locked-date-list.component.mjs +0 -62
  194. package/esm2022/lib/login/index.mjs +0 -3
  195. package/esm2022/lib/login/login-form-fields/login-form-fields.component.mjs +0 -152
  196. package/esm2022/lib/login/login-routing.module.mjs +0 -23
  197. package/esm2022/lib/login/login.component.mjs +0 -88
  198. package/esm2022/lib/login/login.module.mjs +0 -33
  199. package/esm2022/lib/login-history-for-user/login-history-for-user-routing.module.mjs +0 -26
  200. package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +0 -91
  201. package/esm2022/lib/login-history-for-user/login-history-for-user.module.mjs +0 -24
  202. package/esm2022/lib/material.module.mjs +0 -128
  203. package/esm2022/lib/ngx-techlify-users/ngx-techlify-users-routing.module.mjs +0 -43
  204. package/esm2022/lib/ngx-techlify-users/ngx-techlify-users.module.mjs +0 -22
  205. package/esm2022/lib/note/comment-form/comment-form.component.mjs +0 -76
  206. package/esm2022/lib/note/index.mjs +0 -5
  207. package/esm2022/lib/note/note-comment-list/note-comment-list.component.mjs +0 -102
  208. package/esm2022/lib/note/note-form/note-form.component.mjs +0 -63
  209. package/esm2022/lib/note/note-list/note-list.component.mjs +0 -111
  210. package/esm2022/lib/note/note.module.mjs +0 -30
  211. package/esm2022/lib/note/note.service.mjs +0 -18
  212. package/esm2022/lib/number-input-button/index.mjs +0 -3
  213. package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +0 -104
  214. package/esm2022/lib/number-input-button/number-input-button.module.mjs +0 -24
  215. package/esm2022/lib/number-selector/number-selector.component.mjs +0 -116
  216. package/esm2022/lib/ordinal-pipe/ordinal-pipe.mjs +0 -30
  217. package/esm2022/lib/password-requirement-check/password-check-result.mjs +0 -2
  218. package/esm2022/lib/password-requirement-check/password-check.service.mjs +0 -43
  219. package/esm2022/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +0 -56
  220. package/esm2022/lib/password-requirement-check/password-requirement-check.module.mjs +0 -24
  221. package/esm2022/lib/pdf-button/pdf-button.component.mjs +0 -35
  222. package/esm2022/lib/pdf-button/pdf-button.module.mjs +0 -23
  223. package/esm2022/lib/phone-number-selector/country.service.mjs +0 -31
  224. package/esm2022/lib/phone-number-selector/phone-number-selector.component.mjs +0 -172
  225. package/esm2022/lib/pipes/file-size.pipe.mjs +0 -21
  226. package/esm2022/lib/pipes/wrap.pipe.mjs +0 -20
  227. package/esm2022/lib/profile/index.mjs +0 -3
  228. package/esm2022/lib/profile/profile-edit.component.mjs +0 -75
  229. package/esm2022/lib/profile/profile-routing.module.mjs +0 -23
  230. package/esm2022/lib/profile/profile.module.mjs +0 -28
  231. package/esm2022/lib/read-more/read-more.component.mjs +0 -43
  232. package/esm2022/lib/read-more/read-more.module.mjs +0 -26
  233. package/esm2022/lib/request-helper/request-helper.service.mjs +0 -131
  234. package/esm2022/lib/reset-password/index.mjs +0 -4
  235. package/esm2022/lib/reset-password/reset-password-routing.module.mjs +0 -22
  236. package/esm2022/lib/reset-password/reset-password.component.mjs +0 -89
  237. package/esm2022/lib/reset-password/reset-password.module.mjs +0 -30
  238. package/esm2022/lib/reset-password/reset-password.service.mjs +0 -25
  239. package/esm2022/lib/restrictors/index.mjs +0 -4
  240. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +0 -91
  241. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +0 -24
  242. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +0 -19
  243. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +0 -91
  244. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +0 -24
  245. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +0 -19
  246. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +0 -92
  247. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +0 -24
  248. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +0 -19
  249. package/esm2022/lib/restrictors/restrictor.service.mjs +0 -19
  250. package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +0 -101
  251. package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +0 -43
  252. package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +0 -141
  253. package/esm2022/lib/restrictors/restrictors-routing.module.mjs +0 -42
  254. package/esm2022/lib/restrictors/restrictors.module.mjs +0 -47
  255. package/esm2022/lib/role/index.mjs +0 -10
  256. package/esm2022/lib/role/permission/permission.model.mjs +0 -9
  257. package/esm2022/lib/role/permission/permission.module.mjs +0 -30
  258. package/esm2022/lib/role/permission/permission.routes.mjs +0 -26
  259. package/esm2022/lib/role/permission/permissions-management.component.mjs +0 -127
  260. package/esm2022/lib/role/role-form-button.component.mjs +0 -44
  261. package/esm2022/lib/role/role-form.component.mjs +0 -82
  262. package/esm2022/lib/role/role-list/role-list.component.mjs +0 -120
  263. package/esm2022/lib/role/role-view/role-view-routing.module.mjs +0 -26
  264. package/esm2022/lib/role/role-view/role-view.component.mjs +0 -38
  265. package/esm2022/lib/role/role-view/role-view.module.mjs +0 -28
  266. package/esm2022/lib/role/role.model.mjs +0 -56
  267. package/esm2022/lib/role/role.module.mjs +0 -38
  268. package/esm2022/lib/role/role.routes.mjs +0 -31
  269. package/esm2022/lib/role/role.service.mjs +0 -23
  270. package/esm2022/lib/searchable-selector/index.mjs +0 -2
  271. package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +0 -384
  272. package/esm2022/lib/searchable-selector/searchable-selector.module.mjs +0 -36
  273. package/esm2022/lib/shared.module.mjs +0 -85
  274. package/esm2022/lib/signup/index.mjs +0 -3
  275. package/esm2022/lib/signup/signup-routing.module.mjs +0 -22
  276. package/esm2022/lib/signup/signup.component.mjs +0 -78
  277. package/esm2022/lib/signup/signup.module.mjs +0 -26
  278. package/esm2022/lib/subscription/subscription-form/subscription-form-routing.module.mjs +0 -18
  279. package/esm2022/lib/subscription/subscription-form/subscription-form.component.mjs +0 -148
  280. package/esm2022/lib/subscription/subscription-form/subscription-form.module.mjs +0 -26
  281. package/esm2022/lib/subscription/subscription-listing/subscription-listing-routing.module.mjs +0 -26
  282. package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +0 -128
  283. package/esm2022/lib/subscription/subscription-listing/subscription-listing.module.mjs +0 -30
  284. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.mjs +0 -26
  285. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.component.mjs +0 -116
  286. package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.module.mjs +0 -25
  287. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view-routing.module.mjs +0 -26
  288. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs +0 -38
  289. package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.module.mjs +0 -29
  290. package/esm2022/lib/subscription/subscription-package.service.mjs +0 -21
  291. package/esm2022/lib/subscription/subscription-status.enum.mjs +0 -6
  292. package/esm2022/lib/subscription/subscription.service.mjs +0 -40
  293. package/esm2022/lib/subscription/techlify-subscription-directive.module.mjs +0 -20
  294. package/esm2022/lib/subscription/techlify-subscription.directive.mjs +0 -33
  295. package/esm2022/lib/tag/tag.service.mjs +0 -18
  296. package/esm2022/lib/tag/techlify-tagger-tag-form/techlify-tagger-tag-form.component.mjs +0 -71
  297. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +0 -15
  298. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +0 -266
  299. package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +0 -22
  300. package/esm2022/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.mjs +0 -57
  301. package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +0 -181
  302. package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +0 -22
  303. package/esm2022/lib/techlify-app-selector/techlify-app-selector.component.mjs +0 -50
  304. package/esm2022/lib/techlify-app-selector/techlify-app-selector.module.mjs +0 -28
  305. package/esm2022/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.mjs +0 -185
  306. package/esm2022/lib/techlify-company-switcher/index.mjs +0 -3
  307. package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +0 -70
  308. package/esm2022/lib/techlify-company-switcher/techlify-company-switcher.module.mjs +0 -32
  309. package/esm2022/lib/techlify-currency-pipe/techlify-currency-pipe.directive.mjs +0 -27
  310. package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +0 -24
  311. package/esm2022/lib/techlify-feature/techlify-feature-directive.module.mjs +0 -20
  312. package/esm2022/lib/techlify-feature/techlify-feature-enabled.directive.mjs +0 -32
  313. package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +0 -141
  314. package/esm2022/lib/techlify-feature/techlify-feature.module.mjs +0 -28
  315. package/esm2022/lib/techlify-feature/techlify-feature.routing.mjs +0 -12
  316. package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +0 -43
  317. package/esm2022/lib/techlify-icon/techlify-icon.component.mjs +0 -77
  318. package/esm2022/lib/techlify-icon/techlify-icon.module.mjs +0 -24
  319. package/esm2022/lib/techlify-notifications/index.mjs +0 -9
  320. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.mjs +0 -26
  321. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +0 -52
  322. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +0 -26
  323. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.mjs +0 -18
  324. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.mjs +0 -18
  325. package/esm2022/lib/techlify-notifications/techlify-notification-routing.module.mjs +0 -18
  326. package/esm2022/lib/techlify-notifications/techlify-notification.module.mjs +0 -22
  327. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +0 -115
  328. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +0 -26
  329. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +0 -28
  330. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +0 -143
  331. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +0 -23
  332. package/esm2022/lib/techlify-update/techlify-update-routing.module.mjs +0 -28
  333. package/esm2022/lib/techlify-update/techlify-update.module.mjs +0 -27
  334. package/esm2022/lib/techlify-update/techlify-update.service.mjs +0 -41
  335. package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +0 -160
  336. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +0 -58
  337. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +0 -22
  338. package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +0 -76
  339. package/esm2022/lib/techlify-update/update-notifier/update-notifier.component.mjs +0 -53
  340. package/esm2022/lib/techlify-update/update-notifier/update-notifier.module.mjs +0 -27
  341. package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +0 -37
  342. package/esm2022/lib/techlify-update/update-view/update-view.module.mjs +0 -22
  343. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.mjs +0 -90
  344. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.mjs +0 -24
  345. package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view.service.mjs +0 -18
  346. package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.component.mjs +0 -95
  347. package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.module.mjs +0 -20
  348. package/esm2022/lib/techlify-view/techlify-view.service.mjs +0 -18
  349. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button-routing.module.mjs +0 -18
  350. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.mjs +0 -42
  351. package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.mjs +0 -28
  352. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list-routing.module.mjs +0 -18
  353. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.mjs +0 -87
  354. package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.mjs +0 -24
  355. package/esm2022/lib/timeline-activity/timeline-activity.service.mjs +0 -18
  356. package/esm2022/lib/timeline-filter/calculate-timeline.mjs +0 -103
  357. package/esm2022/lib/timeline-filter/index.mjs +0 -4
  358. package/esm2022/lib/timeline-filter/timeline-filter-routing.module.mjs +0 -18
  359. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +0 -290
  360. package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +0 -60
  361. package/esm2022/lib/timeline-filter/timeline.model.mjs +0 -18
  362. package/esm2022/lib/user/app-admin-user-list/app-admin-user-list.component.mjs +0 -155
  363. package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.component.mjs +0 -52
  364. package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.module.mjs +0 -44
  365. package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.routes.mjs +0 -22
  366. package/esm2022/lib/user/current-user.service.mjs +0 -152
  367. package/esm2022/lib/user/index.mjs +0 -14
  368. package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +0 -93
  369. package/esm2022/lib/user/user-enable-button-component/user-enable-button.module.mjs +0 -20
  370. package/esm2022/lib/user/user-explore.component.mjs +0 -49
  371. package/esm2022/lib/user/user-form/user-form.component.mjs +0 -200
  372. package/esm2022/lib/user/user-list/user-list.component.mjs +0 -145
  373. package/esm2022/lib/user/user-sessions/user-session.service.mjs +0 -18
  374. package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.component.mjs +0 -47
  375. package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.module.mjs +0 -20
  376. package/esm2022/lib/user/user-type.enum.mjs +0 -7
  377. package/esm2022/lib/user/user-view.component.mjs +0 -58
  378. package/esm2022/lib/user/user.model.mjs +0 -31
  379. package/esm2022/lib/user/user.module.mjs +0 -68
  380. package/esm2022/lib/user/user.routes.mjs +0 -30
  381. package/esm2022/lib/user/user.service.mjs +0 -42
  382. package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.component.mjs +0 -53
  383. package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.mjs +0 -20
  384. package/esm2022/lib/user-clients-list/user-clients-list.component.mjs +0 -50
  385. package/esm2022/lib/user-clients-list/user-clients-list.module.mjs +0 -24
  386. package/esm2022/lib/user-clients-list/user-tenant.service.mjs +0 -24
  387. package/esm2022/lib/user-config/index.mjs +0 -3
  388. package/esm2022/lib/user-config/user-config.model.mjs +0 -50
  389. package/esm2022/lib/user-config/user-config.service.mjs +0 -65
  390. package/esm2022/lib/user-menu/user-menu.component.mjs +0 -39
  391. package/esm2022/lib/user-menu/user-menu.module.mjs +0 -28
  392. package/esm2022/lib/user-selector/index.mjs +0 -3
  393. package/esm2022/lib/user-selector/user-data.service.mjs +0 -35
  394. package/esm2022/lib/user-selector/user-selector.component.mjs +0 -86
  395. package/esm2022/lib/user-selector/user-selector.module.mjs +0 -26
  396. package/esm2022/lib/utility/date-utils.service.mjs +0 -89
  397. package/esm2022/lib/utility/index.mjs +0 -3
  398. package/esm2022/lib/utility/num-items-selector.component.mjs +0 -31
  399. package/esm2022/lib/utility/utility.module.mjs +0 -22
  400. package/esm2022/lib/validators/date.validator.mjs +0 -31
  401. package/esm2022/ngx-techlify-core.mjs +0 -5
  402. package/esm2022/public-api.mjs +0 -232
  403. package/index.d.ts +0 -5
  404. package/lib/access-control-config/access-control-config-form/access-control-config-form.component.d.ts +0 -44
  405. package/lib/access-control-config/access-control-config-routing.module.d.ts +0 -7
  406. package/lib/access-control-config/access-control-config.component.d.ts +0 -30
  407. package/lib/access-control-config/access-control-config.model.d.ts +0 -17
  408. package/lib/access-control-config/access-control-config.module.d.ts +0 -10
  409. package/lib/access-control-config/access-control-config.service.d.ts +0 -15
  410. package/lib/action-popup/action-popup.component.d.ts +0 -17
  411. package/lib/action-popup/action-popup.model.d.ts +0 -5
  412. package/lib/action-popup/action-popup.module.d.ts +0 -9
  413. package/lib/action-popup/index.d.ts +0 -2
  414. package/lib/app-admin/admin-role/admin-role-list/admin-role-list-routing.module.d.ts +0 -7
  415. package/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.d.ts +0 -29
  416. package/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.d.ts +0 -11
  417. package/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.d.ts +0 -28
  418. package/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.d.ts +0 -8
  419. package/lib/app-admin/admin-role/admin-role.service.d.ts +0 -11
  420. package/lib/app-admin/app-admin-home/app-admin-home.component.d.ts +0 -5
  421. package/lib/app-admin/app-admin-routing.module.d.ts +0 -7
  422. package/lib/app-admin/app-admin.module.d.ts +0 -8
  423. package/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.d.ts +0 -13
  424. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +0 -7
  425. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +0 -20
  426. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +0 -11
  427. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +0 -7
  428. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +0 -33
  429. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +0 -10
  430. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +0 -7
  431. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +0 -20
  432. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +0 -9
  433. package/lib/audit-log/audit-log-routing.module.d.ts +0 -7
  434. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +0 -7
  435. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +0 -20
  436. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +0 -9
  437. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +0 -7
  438. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +0 -18
  439. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +0 -9
  440. package/lib/audit-log/audit-log.module.d.ts +0 -10
  441. package/lib/audit-log/audit-log.service.d.ts +0 -8
  442. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +0 -7
  443. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +0 -12
  444. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +0 -10
  445. package/lib/base-model/index.d.ts +0 -7
  446. package/lib/base-model/techlify-form/contract/techlify-form.contract.d.ts +0 -18
  447. package/lib/base-model/techlify-form/techlify-form.component.d.ts +0 -69
  448. package/lib/base-model/techlify-list/contract/techlify-list.contract.d.ts +0 -9
  449. package/lib/base-model/techlify-list/techlify-list.component.d.ts +0 -175
  450. package/lib/base-model/techlify-service.d.ts +0 -54
  451. package/lib/base-model/techlify-show/contract/techlify-show.contract.d.ts +0 -17
  452. package/lib/base-model/techlify-show/techlify-show.component.d.ts +0 -71
  453. package/lib/change-password/change-password-routing.module.d.ts +0 -7
  454. package/lib/change-password/change-password.component.d.ts +0 -27
  455. package/lib/change-password/change-password.module.d.ts +0 -10
  456. package/lib/column-selector/column-config.model.d.ts +0 -7
  457. package/lib/column-selector/column-selector/column-selector.component.d.ts +0 -27
  458. package/lib/column-selector/column-selector.module.d.ts +0 -8
  459. package/lib/column-selector/index.d.ts +0 -3
  460. package/lib/company-information/client.service.d.ts +0 -9
  461. package/lib/company-information/company-info-display/company-info-display.component.d.ts +0 -16
  462. package/lib/company-information/company-information/company-information.component.d.ts +0 -27
  463. package/lib/company-information/tenant-form-button/tenant-form-button.component.d.ts +0 -14
  464. package/lib/core/alert.service.d.ts +0 -15
  465. package/lib/core/api-prefix.interceptor.d.ts +0 -14
  466. package/lib/core/app-update.service.d.ts +0 -25
  467. package/lib/core/authentication.guard.d.ts +0 -13
  468. package/lib/core/authentication.service.d.ts +0 -28
  469. package/lib/core/cache.interceptor.d.ts +0 -24
  470. package/lib/core/config.service.d.ts +0 -22
  471. package/lib/core/core.module.d.ts +0 -10
  472. package/lib/core/credentials.service.d.ts +0 -39
  473. package/lib/core/environment.service.d.ts +0 -8
  474. package/lib/core/error-handler.interceptor.d.ts +0 -26
  475. package/lib/core/error-handler.service.d.ts +0 -19
  476. package/lib/core/filter.service.d.ts +0 -14
  477. package/lib/core/form-validator.service.d.ts +0 -11
  478. package/lib/core/header.interceptor.d.ts +0 -11
  479. package/lib/core/http-cache.service.d.ts +0 -57
  480. package/lib/core/http.service.d.ts +0 -59
  481. package/lib/core/index.d.ts +0 -22
  482. package/lib/core/logger.service.d.ts +0 -85
  483. package/lib/core/route-reusable-strategy.d.ts +0 -16
  484. package/lib/core/snack/snack.component.d.ts +0 -13
  485. package/lib/core/snack/snack.module.d.ts +0 -10
  486. package/lib/core/storage.service.d.ts +0 -18
  487. package/lib/core/techlify-config.model.d.ts +0 -18
  488. package/lib/core/token.interceptor.d.ts +0 -14
  489. package/lib/custom-icon/custom-icon-registry.service.d.ts +0 -10
  490. package/lib/custom-icon/custom-icon.component.d.ts +0 -11
  491. package/lib/custom-icon/custom-icon.module.d.ts +0 -8
  492. package/lib/custom-icon/custom-icons.registry.d.ts +0 -4
  493. package/lib/data-table/data-table.component.d.ts +0 -61
  494. package/lib/data-table/data-table.model.d.ts +0 -46
  495. package/lib/data-table/data-table.module.d.ts +0 -8
  496. package/lib/data-table/index.d.ts +0 -2
  497. package/lib/delete-button/techlify-delete-button.component.d.ts +0 -24
  498. package/lib/detail-layout/techlify-detail-layout.component.d.ts +0 -5
  499. package/lib/document-viewer/document-viewer.component.d.ts +0 -19
  500. package/lib/document-viewer/document-viewer.module.d.ts +0 -10
  501. package/lib/document-viewer/index.d.ts +0 -2
  502. package/lib/document-viewer/viewer-config.model.d.ts +0 -5
  503. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +0 -12
  504. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +0 -19
  505. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +0 -9
  506. package/lib/email-subscription/email-subscription-for-user/index.d.ts +0 -1
  507. package/lib/email-subscription/email-subscription-routing.module.d.ts +0 -7
  508. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +0 -7
  509. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +0 -35
  510. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +0 -10
  511. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts +0 -1
  512. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +0 -14
  513. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +0 -32
  514. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +0 -10
  515. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +0 -1
  516. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +0 -7
  517. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +0 -8
  518. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +0 -7
  519. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +0 -35
  520. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +0 -10
  521. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts +0 -1
  522. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +0 -14
  523. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +0 -34
  524. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +0 -11
  525. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts +0 -1
  526. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +0 -7
  527. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +0 -16
  528. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +0 -9
  529. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts +0 -1
  530. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +0 -7
  531. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +0 -8
  532. package/lib/email-subscription/email-subscription.module.d.ts +0 -8
  533. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +0 -42
  534. package/lib/entity-files/entity-file-list/entity-file-list.component.d.ts +0 -72
  535. package/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.d.ts +0 -9
  536. package/lib/entity-files/entity-file-list.module.d.ts +0 -13
  537. package/lib/entity-files/entity-file.service.d.ts +0 -11
  538. package/lib/entity-files/index.d.ts +0 -4
  539. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +0 -21
  540. package/lib/export-excel/export-excel.module.d.ts +0 -10
  541. package/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.d.ts +0 -31
  542. package/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.d.ts +0 -8
  543. package/lib/file-dropper/file-dropper.component.d.ts +0 -36
  544. package/lib/file-dropper/file-dropper.model.d.ts +0 -10
  545. package/lib/file-dropper/file-dropper.module.d.ts +0 -9
  546. package/lib/file-dropper/index.d.ts +0 -2
  547. package/lib/file-upload-button/file-upload-button.component.d.ts +0 -20
  548. package/lib/forgot-password/forgot-password-routing.module.d.ts +0 -7
  549. package/lib/forgot-password/forgot-password.component.d.ts +0 -34
  550. package/lib/forgot-password/forgot-password.module.d.ts +0 -9
  551. package/lib/forgot-password/index.d.ts +0 -2
  552. package/lib/form-button/techlify-form-button.component.d.ts +0 -15
  553. package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form-routing.module.d.ts +0 -7
  554. package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.component.d.ts +0 -18
  555. package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.d.ts +0 -9
  556. package/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.component.d.ts +0 -10
  557. package/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.module.d.ts +0 -10
  558. package/lib/form-configuration/form-configuration-form-field.service.d.ts +0 -8
  559. package/lib/form-configuration/form-configuration-form.service.d.ts +0 -8
  560. package/lib/form-configuration/form-configuration-utility.service.d.ts +0 -18
  561. package/lib/image-preview/image-preview.component.d.ts +0 -9
  562. package/lib/import-csv/data-import/data-import.component.d.ts +0 -9
  563. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +0 -15
  564. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +0 -37
  565. package/lib/import-csv/import-csv-config.d.ts +0 -18
  566. package/lib/import-csv/import-csv.component.d.ts +0 -38
  567. package/lib/import-csv/import-csv.module.d.ts +0 -14
  568. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +0 -23
  569. package/lib/import-csv/import-success/import-success.component.d.ts +0 -11
  570. package/lib/ip-address-selector/ip-address-selector.module.d.ts +0 -8
  571. package/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.d.ts +0 -28
  572. package/lib/loader/index.d.ts +0 -1
  573. package/lib/loader/loader.component.d.ts +0 -11
  574. package/lib/loader/loader.module.d.ts +0 -9
  575. package/lib/local-date-parser.d.ts +0 -1
  576. package/lib/locked-date/index.d.ts +0 -5
  577. package/lib/locked-date/locked-date-form/locked-date-form.component.d.ts +0 -24
  578. package/lib/locked-date/locked-date-lock-unlock-button/locked-date-lock-unlock-button.component.d.ts +0 -13
  579. package/lib/locked-date/locked-date.model.d.ts +0 -10
  580. package/lib/locked-date/locked-date.module.d.ts +0 -10
  581. package/lib/locked-date/locked-date.service.d.ts +0 -11
  582. package/lib/locked-date/locked-dates-list/locked-date-list.component.d.ts +0 -19
  583. package/lib/login/index.d.ts +0 -2
  584. package/lib/login/login-form-fields/login-form-fields.component.d.ts +0 -41
  585. package/lib/login/login-routing.module.d.ts +0 -7
  586. package/lib/login/login.component.d.ts +0 -36
  587. package/lib/login/login.module.d.ts +0 -10
  588. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +0 -7
  589. package/lib/login-history-for-user/login-history-for-user.component.d.ts +0 -25
  590. package/lib/login-history-for-user/login-history-for-user.module.d.ts +0 -9
  591. package/lib/material.module.d.ts +0 -30
  592. package/lib/ngx-techlify-users/ngx-techlify-users-routing.module.d.ts +0 -7
  593. package/lib/ngx-techlify-users/ngx-techlify-users.module.d.ts +0 -8
  594. package/lib/note/comment-form/comment-form.component.d.ts +0 -25
  595. package/lib/note/index.d.ts +0 -4
  596. package/lib/note/note-comment-list/note-comment-list.component.d.ts +0 -33
  597. package/lib/note/note-form/note-form.component.d.ts +0 -29
  598. package/lib/note/note-list/note-list.component.d.ts +0 -30
  599. package/lib/note/note.module.d.ts +0 -9
  600. package/lib/note/note.service.d.ts +0 -8
  601. package/lib/number-input-button/index.d.ts +0 -2
  602. package/lib/number-input-button/number-input-button/number-input-button.component.d.ts +0 -32
  603. package/lib/number-input-button/number-input-button.module.d.ts +0 -8
  604. package/lib/number-selector/number-selector.component.d.ts +0 -44
  605. package/lib/ordinal-pipe/ordinal-pipe.d.ts +0 -7
  606. package/lib/password-requirement-check/password-check-result.d.ts +0 -7
  607. package/lib/password-requirement-check/password-check.service.d.ts +0 -15
  608. package/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.d.ts +0 -23
  609. package/lib/password-requirement-check/password-requirement-check.module.d.ts +0 -8
  610. package/lib/pdf-button/pdf-button.component.d.ts +0 -11
  611. package/lib/pdf-button/pdf-button.module.d.ts +0 -8
  612. package/lib/phone-number-selector/country.service.d.ts +0 -12
  613. package/lib/phone-number-selector/phone-number-selector.component.d.ts +0 -47
  614. package/lib/pipes/file-size.pipe.d.ts +0 -7
  615. package/lib/pipes/wrap.pipe.d.ts +0 -7
  616. package/lib/profile/index.d.ts +0 -2
  617. package/lib/profile/profile-edit.component.d.ts +0 -33
  618. package/lib/profile/profile-routing.module.d.ts +0 -7
  619. package/lib/profile/profile.module.d.ts +0 -9
  620. package/lib/read-more/read-more.component.d.ts +0 -15
  621. package/lib/read-more/read-more.module.d.ts +0 -9
  622. package/lib/request-helper/request-helper.service.d.ts +0 -59
  623. package/lib/reset-password/index.d.ts +0 -3
  624. package/lib/reset-password/reset-password-routing.module.d.ts +0 -7
  625. package/lib/reset-password/reset-password.component.d.ts +0 -28
  626. package/lib/reset-password/reset-password.module.d.ts +0 -10
  627. package/lib/reset-password/reset-password.service.d.ts +0 -11
  628. package/lib/restrictors/index.d.ts +0 -3
  629. package/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.d.ts +0 -34
  630. package/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.d.ts +0 -8
  631. package/lib/restrictors/restrictor-level-selector/restrictor-level.service.d.ts +0 -9
  632. package/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.d.ts +0 -34
  633. package/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.d.ts +0 -8
  634. package/lib/restrictors/restrictor-status-selector/restrictor-status.service.d.ts +0 -9
  635. package/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.d.ts +0 -34
  636. package/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.d.ts +0 -8
  637. package/lib/restrictors/restrictor-type-selector/restrictor-type.service.d.ts +0 -9
  638. package/lib/restrictors/restrictor.service.d.ts +0 -9
  639. package/lib/restrictors/restrictors-form/restrictors-form.component.d.ts +0 -30
  640. package/lib/restrictors/restrictors-form-page/restrictors-form-page.component.d.ts +0 -21
  641. package/lib/restrictors/restrictors-list-page/restrictors-list-page.component.d.ts +0 -50
  642. package/lib/restrictors/restrictors-routing.module.d.ts +0 -7
  643. package/lib/restrictors/restrictors.module.d.ts +0 -15
  644. package/lib/role/index.d.ts +0 -9
  645. package/lib/role/permission/permission.model.d.ts +0 -11
  646. package/lib/role/permission/permission.module.d.ts +0 -9
  647. package/lib/role/permission/permission.routes.d.ts +0 -7
  648. package/lib/role/permission/permissions-management.component.d.ts +0 -41
  649. package/lib/role/role-form-button.component.d.ts +0 -16
  650. package/lib/role/role-form.component.d.ts +0 -32
  651. package/lib/role/role-list/role-list.component.d.ts +0 -33
  652. package/lib/role/role-view/role-view-routing.module.d.ts +0 -7
  653. package/lib/role/role-view/role-view.component.d.ts +0 -16
  654. package/lib/role/role-view/role-view.module.d.ts +0 -9
  655. package/lib/role/role.model.d.ts +0 -29
  656. package/lib/role/role.module.d.ts +0 -11
  657. package/lib/role/role.routes.d.ts +0 -7
  658. package/lib/role/role.service.d.ts +0 -10
  659. package/lib/searchable-selector/index.d.ts +0 -1
  660. package/lib/searchable-selector/searchable-selector.component.d.ts +0 -95
  661. package/lib/searchable-selector/searchable-selector.module.d.ts +0 -11
  662. package/lib/shared.module.d.ts +0 -22
  663. package/lib/signup/index.d.ts +0 -2
  664. package/lib/signup/signup-routing.module.d.ts +0 -7
  665. package/lib/signup/signup.component.d.ts +0 -29
  666. package/lib/signup/signup.module.d.ts +0 -9
  667. package/lib/subscription/subscription-form/subscription-form-routing.module.d.ts +0 -7
  668. package/lib/subscription/subscription-form/subscription-form.component.d.ts +0 -31
  669. package/lib/subscription/subscription-form/subscription-form.module.d.ts +0 -9
  670. package/lib/subscription/subscription-listing/subscription-listing-routing.module.d.ts +0 -7
  671. package/lib/subscription/subscription-listing/subscription-listing.component.d.ts +0 -25
  672. package/lib/subscription/subscription-listing/subscription-listing.module.d.ts +0 -10
  673. package/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.d.ts +0 -7
  674. package/lib/subscription/subscription-package-listing/subscription-package-listing.component.d.ts +0 -28
  675. package/lib/subscription/subscription-package-listing/subscription-package-listing.module.d.ts +0 -9
  676. package/lib/subscription/subscription-package-view/subscription-package-view-routing.module.d.ts +0 -7
  677. package/lib/subscription/subscription-package-view/subscription-package-view.component.d.ts +0 -15
  678. package/lib/subscription/subscription-package-view/subscription-package-view.module.d.ts +0 -10
  679. package/lib/subscription/subscription-package.service.d.ts +0 -9
  680. package/lib/subscription/subscription-status.enum.d.ts +0 -4
  681. package/lib/subscription/subscription.service.d.ts +0 -12
  682. package/lib/subscription/techlify-subscription-directive.module.d.ts +0 -8
  683. package/lib/subscription/techlify-subscription.directive.d.ts +0 -14
  684. package/lib/tag/tag.service.d.ts +0 -8
  685. package/lib/tag/techlify-tagger-tag-form/techlify-tagger-tag-form.component.d.ts +0 -22
  686. package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +0 -12
  687. package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +0 -74
  688. package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +0 -8
  689. package/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.d.ts +0 -15
  690. package/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +0 -61
  691. package/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +0 -8
  692. package/lib/techlify-app-selector/techlify-app-selector.component.d.ts +0 -13
  693. package/lib/techlify-app-selector/techlify-app-selector.module.d.ts +0 -10
  694. package/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.d.ts +0 -50
  695. package/lib/techlify-company-switcher/index.d.ts +0 -2
  696. package/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.d.ts +0 -28
  697. package/lib/techlify-company-switcher/techlify-company-switcher.module.d.ts +0 -10
  698. package/lib/techlify-currency-pipe/techlify-currency-pipe.directive.d.ts +0 -8
  699. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +0 -12
  700. package/lib/techlify-feature/techlify-feature-directive.module.d.ts +0 -8
  701. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +0 -13
  702. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +0 -32
  703. package/lib/techlify-feature/techlify-feature.module.d.ts +0 -11
  704. package/lib/techlify-feature/techlify-feature.routing.d.ts +0 -2
  705. package/lib/techlify-feature/techlify-feature.service.d.ts +0 -13
  706. package/lib/techlify-icon/techlify-icon.component.d.ts +0 -12
  707. package/lib/techlify-icon/techlify-icon.module.d.ts +0 -9
  708. package/lib/techlify-notifications/index.d.ts +0 -5
  709. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.d.ts +0 -7
  710. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.d.ts +0 -17
  711. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.d.ts +0 -9
  712. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.d.ts +0 -8
  713. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.d.ts +0 -8
  714. package/lib/techlify-notifications/techlify-notification-routing.module.d.ts +0 -7
  715. package/lib/techlify-notifications/techlify-notification.module.d.ts +0 -8
  716. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +0 -33
  717. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +0 -9
  718. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +0 -7
  719. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +0 -34
  720. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +0 -9
  721. package/lib/techlify-update/techlify-update-routing.module.d.ts +0 -7
  722. package/lib/techlify-update/techlify-update.module.d.ts +0 -10
  723. package/lib/techlify-update/techlify-update.service.d.ts +0 -16
  724. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +0 -33
  725. package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.d.ts +0 -20
  726. package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.d.ts +0 -8
  727. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +0 -28
  728. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +0 -19
  729. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +0 -10
  730. package/lib/techlify-update/update-view/update-view.component.d.ts +0 -17
  731. package/lib/techlify-update/update-view/update-view.module.d.ts +0 -8
  732. package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.d.ts +0 -23
  733. package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.d.ts +0 -9
  734. package/lib/techlify-view/my-techlify-view-listing/my-techlify-view.service.d.ts +0 -8
  735. package/lib/techlify-view/techlify-view-form/techlify-view-form.component.d.ts +0 -30
  736. package/lib/techlify-view/techlify-view-form/techlify-view-form.module.d.ts +0 -8
  737. package/lib/techlify-view/techlify-view.service.d.ts +0 -8
  738. package/lib/timeline-activity/timeline-activity-button/timeline-activity-button-routing.module.d.ts +0 -7
  739. package/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.d.ts +0 -17
  740. package/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.d.ts +0 -10
  741. package/lib/timeline-activity/timeline-activity-list/timeline-activity-list-routing.module.d.ts +0 -7
  742. package/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.d.ts +0 -24
  743. package/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.d.ts +0 -9
  744. package/lib/timeline-activity/timeline-activity.service.d.ts +0 -8
  745. package/lib/timeline-filter/calculate-timeline.d.ts +0 -6
  746. package/lib/timeline-filter/index.d.ts +0 -3
  747. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +0 -7
  748. package/lib/timeline-filter/timeline-filter.component.d.ts +0 -75
  749. package/lib/timeline-filter/timeline-filter.module.d.ts +0 -18
  750. package/lib/timeline-filter/timeline.model.d.ts +0 -17
  751. package/lib/user/app-admin-user-list/app-admin-user-list.component.d.ts +0 -40
  752. package/lib/user/app-admin-user-view/app-admin-user-view.component.d.ts +0 -26
  753. package/lib/user/app-admin-user-view/app-admin-user-view.module.d.ts +0 -13
  754. package/lib/user/app-admin-user-view/app-admin-user-view.routes.d.ts +0 -7
  755. package/lib/user/current-user.service.d.ts +0 -75
  756. package/lib/user/index.d.ts +0 -13
  757. package/lib/user/user-enable-button-component/user-enable-button.component.d.ts +0 -23
  758. package/lib/user/user-enable-button-component/user-enable-button.module.d.ts +0 -8
  759. package/lib/user/user-explore.component.d.ts +0 -26
  760. package/lib/user/user-form/user-form.component.d.ts +0 -43
  761. package/lib/user/user-list/user-list.component.d.ts +0 -38
  762. package/lib/user/user-sessions/user-session.service.d.ts +0 -8
  763. package/lib/user/user-sessions/user-sessions/user-sessions.component.d.ts +0 -15
  764. package/lib/user/user-sessions/user-sessions/user-sessions.module.d.ts +0 -8
  765. package/lib/user/user-type.enum.d.ts +0 -5
  766. package/lib/user/user-view.component.d.ts +0 -32
  767. package/lib/user/user.model.d.ts +0 -30
  768. package/lib/user/user.module.d.ts +0 -16
  769. package/lib/user/user.routes.d.ts +0 -7
  770. package/lib/user/user.service.d.ts +0 -15
  771. package/lib/user-client-enable-disable-button/user-client-enable-disable-button.component.d.ts +0 -22
  772. package/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.d.ts +0 -8
  773. package/lib/user-clients-list/user-clients-list.component.d.ts +0 -15
  774. package/lib/user-clients-list/user-clients-list.module.d.ts +0 -9
  775. package/lib/user-clients-list/user-tenant.service.d.ts +0 -11
  776. package/lib/user-config/index.d.ts +0 -2
  777. package/lib/user-config/user-config.model.d.ts +0 -50
  778. package/lib/user-config/user-config.service.d.ts +0 -14
  779. package/lib/user-menu/user-menu.component.d.ts +0 -17
  780. package/lib/user-menu/user-menu.module.d.ts +0 -13
  781. package/lib/user-selector/index.d.ts +0 -2
  782. package/lib/user-selector/user-data.service.d.ts +0 -16
  783. package/lib/user-selector/user-selector.component.d.ts +0 -28
  784. package/lib/user-selector/user-selector.module.d.ts +0 -8
  785. package/lib/utility/date-utils.service.d.ts +0 -38
  786. package/lib/utility/index.d.ts +0 -2
  787. package/lib/utility/num-items-selector.component.d.ts +0 -19
  788. package/lib/utility/utility.module.d.ts +0 -8
  789. package/lib/validators/date.validator.d.ts +0 -6
  790. package/public-api.d.ts +0 -212
@@ -0,0 +1,2135 @@
1
+ import { F as HttpService, L as CredentialsService, N as FileDropperComponent, O as TechlifyIconComponent, X as AlertService, Y as FormValidatorService, b as CurrentUserService, i as SearchableSelectorComponent, l as ExportExcelButtonComponent, p as TimelineFilterComponent, q as DocumentViewerComponent, t as SharedModule } from "./ngx-techlify-core-shared.module-DROe5GRx.mjs";
2
+ import { c as TechlifyFormComponent, i as TechlifyListComponent, l as TechlifyService } from "./ngx-techlify-core-base-model-oCILHkdE.mjs";
3
+ import { t as UserConfigService } from "./ngx-techlify-core-user-config.service-DW5EgXhL.mjs";
4
+ import * as i0 from "@angular/core";
5
+ import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Injectable, Input, NgModule, Output } from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import { MAT_DIALOG_DATA } from "@angular/material/dialog";
8
+ import * as i5 from "@angular/material/button";
9
+ import * as i7$1 from "@angular/material/icon";
10
+ import { debounceTime, distinctUntilChanged } from "rxjs/operators";
11
+ import * as i2 from "@angular/platform-browser";
12
+ import * as i1$1 from "@angular/router";
13
+ import * as i2$1 from "@angular/common";
14
+ import { __decorate } from "tslib";
15
+ import * as i8 from "@angular/material/sort";
16
+ import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
17
+ import * as i7 from "ngx-infinite-scroll";
18
+ import * as i13 from "@angular/material/checkbox";
19
+ import * as i9 from "@angular/material/table";
20
+ import * as i10 from "@angular/material/card";
21
+ import * as i3 from "@angular/forms";
22
+ import { UntypedFormControl, Validators } from "@angular/forms";
23
+ import * as i11 from "@angular/material/tooltip";
24
+ import * as i6 from "@angular/material/form-field";
25
+ import * as i8$1 from "@angular/material/input";
26
+ import * as i4 from "@angular/material/autocomplete";
27
+ import * as i12 from "@angular/material/progress-bar";
28
+ import * as i9$1 from "@angular/material/select";
29
+ var AuditLogService = class AuditLogService extends TechlifyService {
30
+ constructor(httpService) {
31
+ super(httpService, "audit-logs");
32
+ }
33
+ static {
34
+ this.ɵfac = i0.ɵɵngDeclareFactory({
35
+ minVersion: "12.0.0",
36
+ version: "22.2.3",
37
+ ngImport: i0,
38
+ type: AuditLogService,
39
+ deps: [{ token: HttpService }],
40
+ target: i0.ɵɵFactoryTarget.Injectable
41
+ });
42
+ }
43
+ static {
44
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
45
+ minVersion: "12.0.0",
46
+ version: "22.2.3",
47
+ ngImport: i0,
48
+ type: AuditLogService,
49
+ providedIn: "root"
50
+ });
51
+ }
52
+ };
53
+ i0.ɵɵngDeclareClassMetadata({
54
+ minVersion: "12.0.0",
55
+ version: "22.2.3",
56
+ ngImport: i0,
57
+ type: AuditLogService,
58
+ decorators: [{
59
+ type: Injectable,
60
+ args: [{ providedIn: "root" }]
61
+ }],
62
+ ctorParameters: () => [{ type: HttpService }]
63
+ });
64
+ let AuditLogListFilterComponent = class AuditLogListFilterComponent {
65
+ constructor(formValidatorService) {
66
+ this.formValidatorService = formValidatorService;
67
+ this.valueChange = new EventEmitter();
68
+ }
69
+ get showObjectFilter() {
70
+ return !(this.objectId || this.objectType);
71
+ }
72
+ ngOnInit() {}
73
+ resetFieldValue(field) {
74
+ this.filterForm.get(field).setValue("");
75
+ }
76
+ getFieldValue(field) {
77
+ return this.filterForm.get(field).value;
78
+ }
79
+ isFieldValid(field) {
80
+ return this.formValidatorService.isFieldValid(field, this.filterForm, true);
81
+ }
82
+ ngOnDestroy() {}
83
+ static {
84
+ this.ɵfac = i0.ɵɵngDeclareFactory({
85
+ minVersion: "12.0.0",
86
+ version: "22.2.3",
87
+ ngImport: i0,
88
+ type: AuditLogListFilterComponent,
89
+ deps: [{ token: FormValidatorService }],
90
+ target: i0.ɵɵFactoryTarget.Component
91
+ });
92
+ }
93
+ static {
94
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
95
+ minVersion: "14.0.0",
96
+ version: "22.2.3",
97
+ type: AuditLogListFilterComponent,
98
+ isStandalone: false,
99
+ selector: "app-audit-log-list-filter",
100
+ inputs: {
101
+ filterForm: "filterForm",
102
+ objectId: "objectId",
103
+ objectType: "objectType"
104
+ },
105
+ outputs: { valueChange: "valueChange" },
106
+ ngImport: i0,
107
+ template: "<form [formGroup]=\"filterForm\" class=\"d-flex justify-content-end align-items-center gap-2 w-100\">\n <mat-form-field class='fl-md'>\n <mat-label>Search Changes</mat-label>\n <input type=\"text\" matInput formControlName=\"change_search\" />\n <button *ngIf=\"getFieldValue('change_search')\" matSuffix mat-icon-button (click)=\"resetFieldValue('change_search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <app-timeline-filter class='fl-sm' labelText=\"Activity Date\" formControlName=\"duration\"\n [form]=\"filterForm\" [showClearButton]=\"true\" appearance=\"outline\"></app-timeline-filter>\n\n <mat-form-field class='fl-sm'>\n <mat-label>Action</mat-label>\n <mat-select formControlName=\"action\" [multiple]=\"true\">\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 *ngIf=\"getFieldValue('action')\" matSuffix mat-icon-button (click)=\"resetFieldValue('action')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class='fl-sm' *ngIf=\"showObjectFilter\">\n <mat-label>Model Type</mat-label>\n <app-searchable-selector formControlName=\"object_type\" apiUrl=\"api/audit-log-types\" titleField=\"object_type\"\n valueField=\"object_type\" [sort]=\"false\" [multiple]=\"true\">\n </app-searchable-selector>\n <button *ngIf=\"getFieldValue('object_type')\" matSuffix mat-icon-button (click)=\"resetFieldValue('object_type')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class='fl-sm'>\n <mat-label>Model #</mat-label>\n <input type=\"text\" matInput formControlName=\"model_search\" />\n <button *ngIf=\"getFieldValue('model_search')\" matSuffix mat-icon-button (click)=\"resetFieldValue('model_search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class='fl-sm'>\n <mat-label>Creator</mat-label>\n <app-searchable-selector formControlName=\"creator_ids\" [multiple]=\"true\" apiUrl=\"api/users\"\n titleField=\"name\"></app-searchable-selector>\n <button *ngIf=\"getFieldValue('creator_ids')\" matSuffix mat-icon-button (click)=\"resetFieldValue('creator_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n</form>",
108
+ styles: [""],
109
+ dependencies: [
110
+ {
111
+ kind: "directive",
112
+ type: i2$1.NgIf,
113
+ selector: "[ngIf]",
114
+ inputs: [
115
+ "ngIf",
116
+ "ngIfThen",
117
+ "ngIfElse"
118
+ ]
119
+ },
120
+ {
121
+ kind: "directive",
122
+ type: i3.ɵNgNoValidate,
123
+ selector: "form:not([ngNoForm]):not([ngNativeValidate])"
124
+ },
125
+ {
126
+ kind: "directive",
127
+ type: i3.DefaultValueAccessor,
128
+ selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
129
+ },
130
+ {
131
+ kind: "directive",
132
+ type: i3.NgControlStatus,
133
+ selector: "[formControlName],[ngModel],[formControl]"
134
+ },
135
+ {
136
+ kind: "directive",
137
+ type: i3.NgControlStatusGroup,
138
+ selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]"
139
+ },
140
+ {
141
+ kind: "component",
142
+ type: i4.MatOption,
143
+ selector: "mat-option",
144
+ inputs: [
145
+ "value",
146
+ "id",
147
+ "disabled"
148
+ ],
149
+ outputs: ["onSelectionChange"],
150
+ exportAs: ["matOption"]
151
+ },
152
+ {
153
+ kind: "component",
154
+ type: i5.MatIconButton,
155
+ selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]",
156
+ exportAs: ["matButton", "matAnchor"]
157
+ },
158
+ {
159
+ kind: "component",
160
+ type: i6.MatFormField,
161
+ selector: "mat-form-field",
162
+ inputs: [
163
+ "hideRequiredMarker",
164
+ "color",
165
+ "floatLabel",
166
+ "appearance",
167
+ "subscriptSizing",
168
+ "hintLabel"
169
+ ],
170
+ exportAs: ["matFormField"]
171
+ },
172
+ {
173
+ kind: "directive",
174
+ type: i6.MatLabel,
175
+ selector: "mat-label"
176
+ },
177
+ {
178
+ kind: "directive",
179
+ type: i6.MatSuffix,
180
+ selector: "[matSuffix], [matIconSuffix], [matTextSuffix]",
181
+ inputs: ["matTextSuffix"]
182
+ },
183
+ {
184
+ kind: "component",
185
+ type: i7$1.MatIcon,
186
+ selector: "mat-icon",
187
+ inputs: [
188
+ "color",
189
+ "inline",
190
+ "svgIcon",
191
+ "fontSet",
192
+ "fontIcon"
193
+ ],
194
+ exportAs: ["matIcon"]
195
+ },
196
+ {
197
+ kind: "directive",
198
+ type: i8$1.MatInput,
199
+ selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]",
200
+ inputs: [
201
+ "disabled",
202
+ "id",
203
+ "placeholder",
204
+ "name",
205
+ "required",
206
+ "type",
207
+ "errorStateMatcher",
208
+ "aria-describedby",
209
+ "value",
210
+ "readonly",
211
+ "disabledInteractive"
212
+ ],
213
+ exportAs: ["matInput"]
214
+ },
215
+ {
216
+ kind: "component",
217
+ type: i9$1.MatSelect,
218
+ selector: "mat-select",
219
+ inputs: [
220
+ "aria-describedby",
221
+ "panelClass",
222
+ "disabled",
223
+ "disableRipple",
224
+ "tabIndex",
225
+ "hideSingleSelectionIndicator",
226
+ "placeholder",
227
+ "required",
228
+ "multiple",
229
+ "disableOptionCentering",
230
+ "compareWith",
231
+ "value",
232
+ "aria-label",
233
+ "aria-labelledby",
234
+ "errorStateMatcher",
235
+ "typeaheadDebounceInterval",
236
+ "sortComparator",
237
+ "id",
238
+ "panelWidth",
239
+ "canSelectNullableOptions"
240
+ ],
241
+ outputs: [
242
+ "openedChange",
243
+ "opened",
244
+ "closed",
245
+ "selectionChange",
246
+ "valueChange"
247
+ ],
248
+ exportAs: ["matSelect"]
249
+ },
250
+ {
251
+ kind: "directive",
252
+ type: i3.FormGroupDirective,
253
+ selector: "[formGroup]",
254
+ inputs: ["formGroup"],
255
+ outputs: ["ngSubmit"],
256
+ exportAs: ["ngForm"]
257
+ },
258
+ {
259
+ kind: "directive",
260
+ type: i3.FormControlName,
261
+ selector: "[formControlName]",
262
+ inputs: [
263
+ "formControlName",
264
+ "disabled",
265
+ "ngModel"
266
+ ],
267
+ outputs: ["ngModelChange"]
268
+ },
269
+ {
270
+ kind: "component",
271
+ type: SearchableSelectorComponent,
272
+ selector: "app-searchable-selector",
273
+ inputs: [
274
+ "valueField",
275
+ "titleField",
276
+ "subtitleField",
277
+ "apiUrl",
278
+ "multiple",
279
+ "selectedValue",
280
+ "enableSearch",
281
+ "add",
282
+ "addConfig",
283
+ "edit",
284
+ "editConfig",
285
+ "sort",
286
+ "sortBy",
287
+ "searchField",
288
+ "itemComponent",
289
+ "items",
290
+ "apiDataProperty",
291
+ "cache",
292
+ "perPage",
293
+ "inDataSearch",
294
+ "panelWidth",
295
+ "focusSearchOnOpen",
296
+ "isEmitInitialEvent",
297
+ "required",
298
+ "disabled",
299
+ "value"
300
+ ],
301
+ outputs: [
302
+ "selectedValueChange",
303
+ "selectionChange",
304
+ "itemsChange",
305
+ "isItemsEmpty"
306
+ ]
307
+ },
308
+ {
309
+ kind: "component",
310
+ type: TimelineFilterComponent,
311
+ selector: "app-timeline-filter",
312
+ inputs: [
313
+ "defaultValue",
314
+ "required",
315
+ "disabled",
316
+ "value",
317
+ "timelines",
318
+ "dateFrom",
319
+ "dateTo",
320
+ "appearance",
321
+ "showClearButton",
322
+ "form",
323
+ "labelText"
324
+ ],
325
+ outputs: ["selectionChange"]
326
+ }
327
+ ],
328
+ changeDetection: i0.ChangeDetectionStrategy.Eager
329
+ });
330
+ }
331
+ };
332
+ AuditLogListFilterComponent = __decorate([UntilDestroy()], AuditLogListFilterComponent);
333
+ i0.ɵɵngDeclareClassMetadata({
334
+ minVersion: "12.0.0",
335
+ version: "22.2.3",
336
+ ngImport: i0,
337
+ type: AuditLogListFilterComponent,
338
+ decorators: [{
339
+ type: Component,
340
+ args: [{
341
+ selector: "app-audit-log-list-filter",
342
+ changeDetection: ChangeDetectionStrategy.Eager,
343
+ standalone: false,
344
+ template: "<form [formGroup]=\"filterForm\" class=\"d-flex justify-content-end align-items-center gap-2 w-100\">\n <mat-form-field class='fl-md'>\n <mat-label>Search Changes</mat-label>\n <input type=\"text\" matInput formControlName=\"change_search\" />\n <button *ngIf=\"getFieldValue('change_search')\" matSuffix mat-icon-button (click)=\"resetFieldValue('change_search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <app-timeline-filter class='fl-sm' labelText=\"Activity Date\" formControlName=\"duration\"\n [form]=\"filterForm\" [showClearButton]=\"true\" appearance=\"outline\"></app-timeline-filter>\n\n <mat-form-field class='fl-sm'>\n <mat-label>Action</mat-label>\n <mat-select formControlName=\"action\" [multiple]=\"true\">\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 *ngIf=\"getFieldValue('action')\" matSuffix mat-icon-button (click)=\"resetFieldValue('action')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class='fl-sm' *ngIf=\"showObjectFilter\">\n <mat-label>Model Type</mat-label>\n <app-searchable-selector formControlName=\"object_type\" apiUrl=\"api/audit-log-types\" titleField=\"object_type\"\n valueField=\"object_type\" [sort]=\"false\" [multiple]=\"true\">\n </app-searchable-selector>\n <button *ngIf=\"getFieldValue('object_type')\" matSuffix mat-icon-button (click)=\"resetFieldValue('object_type')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class='fl-sm'>\n <mat-label>Model #</mat-label>\n <input type=\"text\" matInput formControlName=\"model_search\" />\n <button *ngIf=\"getFieldValue('model_search')\" matSuffix mat-icon-button (click)=\"resetFieldValue('model_search')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class='fl-sm'>\n <mat-label>Creator</mat-label>\n <app-searchable-selector formControlName=\"creator_ids\" [multiple]=\"true\" apiUrl=\"api/users\"\n titleField=\"name\"></app-searchable-selector>\n <button *ngIf=\"getFieldValue('creator_ids')\" matSuffix mat-icon-button (click)=\"resetFieldValue('creator_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n</form>"
345
+ }]
346
+ }],
347
+ ctorParameters: () => [{ type: FormValidatorService }],
348
+ propDecorators: {
349
+ filterForm: [{ type: Input }],
350
+ objectId: [{ type: Input }],
351
+ objectType: [{ type: Input }],
352
+ valueChange: [{ type: Output }]
353
+ }
354
+ });
355
+ let AuditLogListComponent = class AuditLogListComponent extends TechlifyListComponent {
356
+ constructor(router, sanitizer, formBuilder, service, datePipe) {
357
+ super();
358
+ this.router = router;
359
+ this.sanitizer = sanitizer;
360
+ this.formBuilder = formBuilder;
361
+ this.service = service;
362
+ this.datePipe = datePipe;
363
+ this.showFilter = true;
364
+ this.showExportButtons = true;
365
+ this.disableFilterPatchingFromUrl = false;
366
+ this.scrollContainer = "";
367
+ this.displayedColumns = [
368
+ "index",
369
+ "id",
370
+ "created_at",
371
+ "object_type",
372
+ "object_id",
373
+ "action",
374
+ "changes",
375
+ "user.email",
376
+ "actions"
377
+ ];
378
+ this.filterFormConfiguration = {
379
+ duration: { number: true },
380
+ object_type: { multiple: true },
381
+ action: { multiple: true },
382
+ creator_ids: { multiple: true }
383
+ };
384
+ this.filterForm = this.formBuilder.group({
385
+ action: [""],
386
+ change_search: [""],
387
+ duration: [""],
388
+ date_from: [""],
389
+ date_to: [""],
390
+ model_search: [""],
391
+ object_type: [""],
392
+ object_id: [""],
393
+ user_id: [""],
394
+ sort_by: "created_at|desc",
395
+ creator_ids: [""]
396
+ });
397
+ }
398
+ ngOnInit() {
399
+ this.initializeData();
400
+ if (!this.disableFilterPatchingFromUrl) this.patchFiltersFromRoute();
401
+ this.loadData();
402
+ this.listenFilterChanges();
403
+ }
404
+ get excelData() {
405
+ if (this.models.length > 0) return this.models.map((item) => {
406
+ return {
407
+ Type: item?.object_type,
408
+ Action: item?.action,
409
+ Data: JSON.stringify(item?.data || {}),
410
+ Object: JSON.stringify(item?.object || {}),
411
+ "Pre-Object": JSON.stringify(item?.pre_object || {}),
412
+ "Created At": new Date(item?.created_at).toDateString(),
413
+ "Created By": item?.user?.email
414
+ };
415
+ });
416
+ return [];
417
+ }
418
+ logClicked(log) {
419
+ this.router.navigate(["/system/audit-logs/log-view", log.id]);
420
+ }
421
+ initializeData() {
422
+ if (this.objectType) this.filterForm.patchValue({ object_type: this.objectType });
423
+ if (this.objectId) this.filterForm.patchValue({ object_id: this.objectId });
424
+ if (this.userId) this.filterForm.patchValue({ user_id: this.userId });
425
+ }
426
+ getTransformedChanges(log) {
427
+ if (log?.data?.changes) {
428
+ const changes = Object.keys(log?.data?.changes) || [];
429
+ let value = "<div>";
430
+ changes.forEach((key) => {
431
+ const displayAttribute = key.split("_").map((x) => x.charAt(0).toUpperCase() + x.slice(1)).join(" ");
432
+ value = `${value} <div><b>${displayAttribute}:</b> <span id="old-value">${log?.pre_object[key] ?? ""}</span><span id="new-value">${log?.object[key] ?? ""}</span></div>`;
433
+ });
434
+ value = `${value} </div>`;
435
+ return value;
436
+ }
437
+ return "";
438
+ }
439
+ ngOnDestroy() {}
440
+ loadData() {
441
+ const filters = JSON.parse(JSON.stringify(this.filterForm.value));
442
+ filters.page = this.page;
443
+ filters.date_from = this.datePipe.transform(filters.date_from, "yyyy-MM-dd") ?? "";
444
+ filters.date_to = this.datePipe.transform(filters.date_to, "yyyy-MM-dd") ?? "";
445
+ filters.creator_ids = filters.creator_ids.toString();
446
+ filters.object_type = filters.object_type.toString();
447
+ filters.action = filters.action.toString();
448
+ super.loadData(filters);
449
+ }
450
+ static {
451
+ this.ɵfac = i0.ɵɵngDeclareFactory({
452
+ minVersion: "12.0.0",
453
+ version: "22.2.3",
454
+ ngImport: i0,
455
+ type: AuditLogListComponent,
456
+ deps: [
457
+ { token: i1$1.Router },
458
+ { token: i2.DomSanitizer },
459
+ { token: i3.FormBuilder },
460
+ { token: AuditLogService },
461
+ { token: i2$1.DatePipe }
462
+ ],
463
+ target: i0.ɵɵFactoryTarget.Component
464
+ });
465
+ }
466
+ static {
467
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
468
+ minVersion: "14.0.0",
469
+ version: "22.2.3",
470
+ type: AuditLogListComponent,
471
+ isStandalone: false,
472
+ selector: "app-audit-log-list",
473
+ inputs: {
474
+ objectId: "objectId",
475
+ objectType: "objectType",
476
+ showFilter: "showFilter",
477
+ showExportButtons: "showExportButtons",
478
+ userId: "userId",
479
+ disableFilterPatchingFromUrl: "disableFilterPatchingFromUrl",
480
+ scrollContainer: "scrollContainer"
481
+ },
482
+ usesInheritance: true,
483
+ ngImport: i0,
484
+ template: "<div class=\"m-2\">\n <mat-card>\n <mat-card-content>\n <div class=\"d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\" style=\"min-width: 200px\">\n <h5 class=\"mb-0\"> Audit Logs </h5>\n <app-export-excel-button *ngIf=\"showExportButtons\" matTooltip=\"Export\" elementId=\"audit-logs-table\"\n class=\"mt-1\" name=\"AuditLogs\" [data]=\"excelData\">\n </app-export-excel-button>\n </div>\n\n <app-audit-log-list-filter class=\"w-100\" *ngIf=\"showFilter\" [filterForm]=\"filterForm\" [objectType]=\"objectType\"\n [objectId]=\"objectId\"></app-audit-log-list-filter>\n </div>\n </mat-card-content>\n </mat-card>\n\n <mat-card class=\"mt-2\">\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" matSort class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" [infiniteScrollContainer]=\"scrollContainer\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\" (matSortChange)=\"sortColumn($event)\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let i = index\"> {{ 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 Type </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 <p class=\"mb-0\">{{auditLog?.user?.name}}</p>\n <small class=\"text-secondary\">{{ auditLog?.user?.email }}</small>\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 </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 <div class=\"text-secondary\">\n <app-techlify-icon role=\"button\" name=\"view\" class=\"clickable\"\n (click)=\"logClicked(auditLog);$event.stopPropagation();\" matTooltip=\"View\"></app-techlify-icon>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n </mat-card>\n</div>",
485
+ styles: ["tr.row-hover:hover{background-color:#dcdcdc}.scroll-container{height:800px;overflow-y:auto}:host ::ng-deep #old-value{margin-right:5px;background-color:#f08080}:host ::ng-deep #new-value{background-color:#98fb98}\n"],
486
+ dependencies: [
487
+ {
488
+ kind: "directive",
489
+ type: i2$1.NgIf,
490
+ selector: "[ngIf]",
491
+ inputs: [
492
+ "ngIf",
493
+ "ngIfThen",
494
+ "ngIfElse"
495
+ ]
496
+ },
497
+ {
498
+ kind: "component",
499
+ type: ExportExcelButtonComponent,
500
+ selector: "app-export-excel-button",
501
+ inputs: [
502
+ "isCSV",
503
+ "iconName",
504
+ "fileName",
505
+ "data",
506
+ "tableId",
507
+ "isParseNumeric"
508
+ ],
509
+ outputs: ["isExportingToExcel"]
510
+ },
511
+ {
512
+ kind: "directive",
513
+ type: i7.InfiniteScrollDirective,
514
+ selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]",
515
+ inputs: [
516
+ "infiniteScrollDistance",
517
+ "infiniteScrollUpDistance",
518
+ "infiniteScrollThrottle",
519
+ "infiniteScrollDisabled",
520
+ "infiniteScrollContainer",
521
+ "scrollWindow",
522
+ "immediateCheck",
523
+ "horizontal",
524
+ "alwaysCallback",
525
+ "fromRoot"
526
+ ],
527
+ outputs: ["scrolled", "scrolledUp"]
528
+ },
529
+ {
530
+ kind: "directive",
531
+ type: i8.MatSort,
532
+ selector: "[matSort]",
533
+ inputs: [
534
+ "matSortActive",
535
+ "matSortStart",
536
+ "matSortDirection",
537
+ "matSortDisableClear",
538
+ "matSortDisabled"
539
+ ],
540
+ outputs: ["matSortChange"],
541
+ exportAs: ["matSort"]
542
+ },
543
+ {
544
+ kind: "component",
545
+ type: i8.MatSortHeader,
546
+ selector: "[mat-sort-header]",
547
+ inputs: [
548
+ "mat-sort-header",
549
+ "arrowPosition",
550
+ "start",
551
+ "disabled",
552
+ "sortActionDescription",
553
+ "disableClear"
554
+ ],
555
+ exportAs: ["matSortHeader"]
556
+ },
557
+ {
558
+ kind: "component",
559
+ type: i9.MatTable,
560
+ selector: "mat-table, table[mat-table]",
561
+ exportAs: ["matTable"]
562
+ },
563
+ {
564
+ kind: "directive",
565
+ type: i9.MatHeaderCellDef,
566
+ selector: "[matHeaderCellDef]"
567
+ },
568
+ {
569
+ kind: "directive",
570
+ type: i9.MatHeaderRowDef,
571
+ selector: "[matHeaderRowDef]",
572
+ inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"]
573
+ },
574
+ {
575
+ kind: "directive",
576
+ type: i9.MatColumnDef,
577
+ selector: "[matColumnDef]",
578
+ inputs: ["matColumnDef"]
579
+ },
580
+ {
581
+ kind: "directive",
582
+ type: i9.MatCellDef,
583
+ selector: "[matCellDef]"
584
+ },
585
+ {
586
+ kind: "directive",
587
+ type: i9.MatRowDef,
588
+ selector: "[matRowDef]",
589
+ inputs: ["matRowDefColumns", "matRowDefWhen"]
590
+ },
591
+ {
592
+ kind: "directive",
593
+ type: i9.MatHeaderCell,
594
+ selector: "mat-header-cell, th[mat-header-cell]"
595
+ },
596
+ {
597
+ kind: "directive",
598
+ type: i9.MatCell,
599
+ selector: "mat-cell, td[mat-cell]"
600
+ },
601
+ {
602
+ kind: "component",
603
+ type: i9.MatHeaderRow,
604
+ selector: "mat-header-row, tr[mat-header-row]",
605
+ exportAs: ["matHeaderRow"]
606
+ },
607
+ {
608
+ kind: "component",
609
+ type: i9.MatRow,
610
+ selector: "mat-row, tr[mat-row]",
611
+ exportAs: ["matRow"]
612
+ },
613
+ {
614
+ kind: "component",
615
+ type: i10.MatCard,
616
+ selector: "mat-card",
617
+ inputs: ["appearance"],
618
+ exportAs: ["matCard"]
619
+ },
620
+ {
621
+ kind: "directive",
622
+ type: i10.MatCardContent,
623
+ selector: "mat-card-content"
624
+ },
625
+ {
626
+ kind: "directive",
627
+ type: i11.MatTooltip,
628
+ selector: "[matTooltip]",
629
+ inputs: [
630
+ "matTooltipPosition",
631
+ "matTooltipPositionAtOrigin",
632
+ "matTooltipDisabled",
633
+ "matTooltipShowDelay",
634
+ "matTooltipHideDelay",
635
+ "matTooltipTouchGestures",
636
+ "matTooltip",
637
+ "matTooltipClass"
638
+ ],
639
+ exportAs: ["matTooltip"]
640
+ },
641
+ {
642
+ kind: "component",
643
+ type: i12.MatProgressBar,
644
+ selector: "mat-progress-bar",
645
+ inputs: [
646
+ "color",
647
+ "value",
648
+ "bufferValue",
649
+ "mode"
650
+ ],
651
+ outputs: ["animationEnd"],
652
+ exportAs: ["matProgressBar"]
653
+ },
654
+ {
655
+ kind: "component",
656
+ type: TechlifyIconComponent,
657
+ selector: "app-techlify-icon",
658
+ inputs: ["name", "size"]
659
+ },
660
+ {
661
+ kind: "component",
662
+ type: AuditLogListFilterComponent,
663
+ selector: "app-audit-log-list-filter",
664
+ inputs: [
665
+ "filterForm",
666
+ "objectId",
667
+ "objectType"
668
+ ],
669
+ outputs: ["valueChange"]
670
+ },
671
+ {
672
+ kind: "pipe",
673
+ type: i2$1.DatePipe,
674
+ name: "date"
675
+ }
676
+ ],
677
+ changeDetection: i0.ChangeDetectionStrategy.Eager
678
+ });
679
+ }
680
+ };
681
+ AuditLogListComponent = __decorate([UntilDestroy()], AuditLogListComponent);
682
+ i0.ɵɵngDeclareClassMetadata({
683
+ minVersion: "12.0.0",
684
+ version: "22.2.3",
685
+ ngImport: i0,
686
+ type: AuditLogListComponent,
687
+ decorators: [{
688
+ type: Component,
689
+ args: [{
690
+ selector: "app-audit-log-list",
691
+ changeDetection: ChangeDetectionStrategy.Eager,
692
+ standalone: false,
693
+ template: "<div class=\"m-2\">\n <mat-card>\n <mat-card-content>\n <div class=\"d-flex justify-content-between align-items-center gap-3\">\n <div class=\"d-flex justify-content-start align-items-center gap-2\" style=\"min-width: 200px\">\n <h5 class=\"mb-0\"> Audit Logs </h5>\n <app-export-excel-button *ngIf=\"showExportButtons\" matTooltip=\"Export\" elementId=\"audit-logs-table\"\n class=\"mt-1\" name=\"AuditLogs\" [data]=\"excelData\">\n </app-export-excel-button>\n </div>\n\n <app-audit-log-list-filter class=\"w-100\" *ngIf=\"showFilter\" [filterForm]=\"filterForm\" [objectType]=\"objectType\"\n [objectId]=\"objectId\"></app-audit-log-list-filter>\n </div>\n </mat-card-content>\n </mat-card>\n\n <mat-card class=\"mt-2\">\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" matSort class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" [infiniteScrollContainer]=\"scrollContainer\" (scrolled)=\"onScroll()\"\n [fromRoot]=\"true\" (matSortChange)=\"sortColumn($event)\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let i = index\"> {{ 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 Type </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 <p class=\"mb-0\">{{auditLog?.user?.name}}</p>\n <small class=\"text-secondary\">{{ auditLog?.user?.email }}</small>\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 </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 <div class=\"text-secondary\">\n <app-techlify-icon role=\"button\" name=\"view\" class=\"clickable\"\n (click)=\"logClicked(auditLog);$event.stopPropagation();\" matTooltip=\"View\"></app-techlify-icon>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky:true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n </mat-card>\n</div>",
694
+ styles: ["tr.row-hover:hover{background-color:#dcdcdc}.scroll-container{height:800px;overflow-y:auto}:host ::ng-deep #old-value{margin-right:5px;background-color:#f08080}:host ::ng-deep #new-value{background-color:#98fb98}\n"]
695
+ }]
696
+ }],
697
+ ctorParameters: () => [
698
+ { type: i1$1.Router },
699
+ { type: i2.DomSanitizer },
700
+ { type: i3.FormBuilder },
701
+ { type: AuditLogService },
702
+ { type: i2$1.DatePipe }
703
+ ],
704
+ propDecorators: {
705
+ objectId: [{ type: Input }],
706
+ objectType: [{ type: Input }],
707
+ showFilter: [{ type: Input }],
708
+ showExportButtons: [{ type: Input }],
709
+ userId: [{ type: Input }],
710
+ disableFilterPatchingFromUrl: [{ type: Input }],
711
+ scrollContainer: [{ type: Input }]
712
+ }
713
+ });
714
+ let LoginHistoryForUserComponent = class LoginHistoryForUserComponent {
715
+ constructor(http, fb) {
716
+ this.http = http;
717
+ this.fb = fb;
718
+ this.loginHistoryList = [];
719
+ this.pageEvent = {
720
+ page: 1,
721
+ lastPage: 1
722
+ };
723
+ this.filters = { sort_by: "created_at|desc" };
724
+ this.displayedColumns = ["index", "created_at"];
725
+ this.historyFilterForm = this.fb.group({
726
+ "duration": [""],
727
+ "date_from": [""],
728
+ "date_to": [""]
729
+ });
730
+ }
731
+ ngOnInit() {
732
+ this.filters.user_id = this.userId;
733
+ this.historyFilterForm.valueChanges.pipe(debounceTime(500), distinctUntilChanged(), untilDestroyed(this)).subscribe((value) => {
734
+ value.date_from = value.date_from ? value.date_from.toISOString() : "";
735
+ value.date_to = value.date_to ? value.date_to.toISOString() : "";
736
+ this.filterChange(value);
737
+ });
738
+ this.initializeData();
739
+ }
740
+ onTimelineChange(range) {
741
+ let date_from = range?.date_from ? new Date(range.date_from) : "";
742
+ let date_to = range?.date_to ? new Date(range.date_to) : "";
743
+ this.historyFilterForm.patchValue({
744
+ date_from,
745
+ date_to
746
+ });
747
+ }
748
+ initializeData() {
749
+ this.http.get(`api/user-login-history`, { params: {
750
+ ...this.filters,
751
+ ...this.pageEvent
752
+ } }).pipe(untilDestroyed(this)).subscribe((result) => {
753
+ this.loginHistoryList = this.loginHistoryList.concat(result.data);
754
+ this.pageEvent.page = result.current_page;
755
+ this.pageEvent.lastPage = result.last_page;
756
+ });
757
+ }
758
+ filterChange(event) {
759
+ this.filters = {
760
+ ...this.filters,
761
+ ...event
762
+ };
763
+ this.reload();
764
+ }
765
+ onScroll() {
766
+ if (this.pageEvent.lastPage > this.pageEvent.page) {
767
+ this.pageEvent.page += 1;
768
+ this.initializeData();
769
+ }
770
+ }
771
+ reload() {
772
+ this.loginHistoryList = [];
773
+ this.pageEvent = {
774
+ page: 1,
775
+ lastPage: 1
776
+ };
777
+ this.initializeData();
778
+ }
779
+ ngOnDestroy() {}
780
+ static {
781
+ this.ɵfac = i0.ɵɵngDeclareFactory({
782
+ minVersion: "12.0.0",
783
+ version: "22.2.3",
784
+ ngImport: i0,
785
+ type: LoginHistoryForUserComponent,
786
+ deps: [{ token: HttpService }, { token: i3.UntypedFormBuilder }],
787
+ target: i0.ɵɵFactoryTarget.Component
788
+ });
789
+ }
790
+ static {
791
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
792
+ minVersion: "14.0.0",
793
+ version: "22.2.3",
794
+ type: LoginHistoryForUserComponent,
795
+ isStandalone: false,
796
+ selector: "app-login-history-for-user",
797
+ inputs: { userId: "userId" },
798
+ ngImport: i0,
799
+ template: "<div class=\"mat-typography m-4\">\n <form [formGroup]=\"historyFilterForm\" class=\"d-flex justify-content-start align-items-center\">\n <app-timeline-filter formControlName=\"duration\" (selectionChange)=\"onTimelineChange($event)\"></app-timeline-filter>\n </form>\n\n <section>\n <div class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <table mat-table [dataSource]=\"loginHistoryList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"login-history-table\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let loginHistory; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Last Login</th>\n <td mat-cell *matCellDef=\"let loginHistory;\">\n {{loginHistory?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>\n",
800
+ styles: [".scroll-container{max-height:800px;overflow-y:auto}\n"],
801
+ dependencies: [
802
+ {
803
+ kind: "directive",
804
+ type: i3.ɵNgNoValidate,
805
+ selector: "form:not([ngNoForm]):not([ngNativeValidate])"
806
+ },
807
+ {
808
+ kind: "directive",
809
+ type: i3.NgControlStatus,
810
+ selector: "[formControlName],[ngModel],[formControl]"
811
+ },
812
+ {
813
+ kind: "directive",
814
+ type: i3.NgControlStatusGroup,
815
+ selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]"
816
+ },
817
+ {
818
+ kind: "directive",
819
+ type: i7.InfiniteScrollDirective,
820
+ selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]",
821
+ inputs: [
822
+ "infiniteScrollDistance",
823
+ "infiniteScrollUpDistance",
824
+ "infiniteScrollThrottle",
825
+ "infiniteScrollDisabled",
826
+ "infiniteScrollContainer",
827
+ "scrollWindow",
828
+ "immediateCheck",
829
+ "horizontal",
830
+ "alwaysCallback",
831
+ "fromRoot"
832
+ ],
833
+ outputs: ["scrolled", "scrolledUp"]
834
+ },
835
+ {
836
+ kind: "directive",
837
+ type: i8.MatSort,
838
+ selector: "[matSort]",
839
+ inputs: [
840
+ "matSortActive",
841
+ "matSortStart",
842
+ "matSortDirection",
843
+ "matSortDisableClear",
844
+ "matSortDisabled"
845
+ ],
846
+ outputs: ["matSortChange"],
847
+ exportAs: ["matSort"]
848
+ },
849
+ {
850
+ kind: "component",
851
+ type: i8.MatSortHeader,
852
+ selector: "[mat-sort-header]",
853
+ inputs: [
854
+ "mat-sort-header",
855
+ "arrowPosition",
856
+ "start",
857
+ "disabled",
858
+ "sortActionDescription",
859
+ "disableClear"
860
+ ],
861
+ exportAs: ["matSortHeader"]
862
+ },
863
+ {
864
+ kind: "component",
865
+ type: i9.MatTable,
866
+ selector: "mat-table, table[mat-table]",
867
+ exportAs: ["matTable"]
868
+ },
869
+ {
870
+ kind: "directive",
871
+ type: i9.MatHeaderCellDef,
872
+ selector: "[matHeaderCellDef]"
873
+ },
874
+ {
875
+ kind: "directive",
876
+ type: i9.MatHeaderRowDef,
877
+ selector: "[matHeaderRowDef]",
878
+ inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"]
879
+ },
880
+ {
881
+ kind: "directive",
882
+ type: i9.MatColumnDef,
883
+ selector: "[matColumnDef]",
884
+ inputs: ["matColumnDef"]
885
+ },
886
+ {
887
+ kind: "directive",
888
+ type: i9.MatCellDef,
889
+ selector: "[matCellDef]"
890
+ },
891
+ {
892
+ kind: "directive",
893
+ type: i9.MatRowDef,
894
+ selector: "[matRowDef]",
895
+ inputs: ["matRowDefColumns", "matRowDefWhen"]
896
+ },
897
+ {
898
+ kind: "directive",
899
+ type: i9.MatHeaderCell,
900
+ selector: "mat-header-cell, th[mat-header-cell]"
901
+ },
902
+ {
903
+ kind: "directive",
904
+ type: i9.MatCell,
905
+ selector: "mat-cell, td[mat-cell]"
906
+ },
907
+ {
908
+ kind: "component",
909
+ type: i9.MatHeaderRow,
910
+ selector: "mat-header-row, tr[mat-header-row]",
911
+ exportAs: ["matHeaderRow"]
912
+ },
913
+ {
914
+ kind: "component",
915
+ type: i9.MatRow,
916
+ selector: "mat-row, tr[mat-row]",
917
+ exportAs: ["matRow"]
918
+ },
919
+ {
920
+ kind: "directive",
921
+ type: i3.FormGroupDirective,
922
+ selector: "[formGroup]",
923
+ inputs: ["formGroup"],
924
+ outputs: ["ngSubmit"],
925
+ exportAs: ["ngForm"]
926
+ },
927
+ {
928
+ kind: "directive",
929
+ type: i3.FormControlName,
930
+ selector: "[formControlName]",
931
+ inputs: [
932
+ "formControlName",
933
+ "disabled",
934
+ "ngModel"
935
+ ],
936
+ outputs: ["ngModelChange"]
937
+ },
938
+ {
939
+ kind: "component",
940
+ type: TimelineFilterComponent,
941
+ selector: "app-timeline-filter",
942
+ inputs: [
943
+ "defaultValue",
944
+ "required",
945
+ "disabled",
946
+ "value",
947
+ "timelines",
948
+ "dateFrom",
949
+ "dateTo",
950
+ "appearance",
951
+ "showClearButton",
952
+ "form",
953
+ "labelText"
954
+ ],
955
+ outputs: ["selectionChange"]
956
+ },
957
+ {
958
+ kind: "pipe",
959
+ type: i2$1.DatePipe,
960
+ name: "date"
961
+ }
962
+ ],
963
+ changeDetection: i0.ChangeDetectionStrategy.Eager
964
+ });
965
+ }
966
+ };
967
+ LoginHistoryForUserComponent = __decorate([UntilDestroy()], LoginHistoryForUserComponent);
968
+ i0.ɵɵngDeclareClassMetadata({
969
+ minVersion: "12.0.0",
970
+ version: "22.2.3",
971
+ ngImport: i0,
972
+ type: LoginHistoryForUserComponent,
973
+ decorators: [{
974
+ type: Component,
975
+ args: [{
976
+ selector: "app-login-history-for-user",
977
+ changeDetection: ChangeDetectionStrategy.Eager,
978
+ standalone: false,
979
+ template: "<div class=\"mat-typography m-4\">\n <form [formGroup]=\"historyFilterForm\" class=\"d-flex justify-content-start align-items-center\">\n <app-timeline-filter formControlName=\"duration\" (selectionChange)=\"onTimelineChange($event)\"></app-timeline-filter>\n </form>\n\n <section>\n <div class=\"scroll-container\" infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\"\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\n <table mat-table [dataSource]=\"loginHistoryList\" matSort class=\"w-100 mt-1\" multiTemplateDataRows\n id=\"login-history-table\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let loginHistory; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"created_at\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header> Last Login</th>\n <td mat-cell *matCellDef=\"let loginHistory;\">\n {{loginHistory?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </div>\n\n </section>\n</div>\n",
980
+ styles: [".scroll-container{max-height:800px;overflow-y:auto}\n"]
981
+ }]
982
+ }],
983
+ ctorParameters: () => [{ type: HttpService }, { type: i3.UntypedFormBuilder }],
984
+ propDecorators: { userId: [{ type: Input }] }
985
+ });
986
+ var UserTypeEnum;
987
+ (function(UserTypeEnum) {
988
+ UserTypeEnum[UserTypeEnum["ADMIN"] = 1] = "ADMIN";
989
+ UserTypeEnum[UserTypeEnum["CLIENT_ADMIN"] = 2] = "CLIENT_ADMIN";
990
+ UserTypeEnum[UserTypeEnum["CLIENT_USER"] = 3] = "CLIENT_USER";
991
+ })(UserTypeEnum || (UserTypeEnum = {}));
992
+ var UserService = class UserService extends TechlifyService {
993
+ constructor(http) {
994
+ super(http, "users");
995
+ }
996
+ getUsers(filterModel) {
997
+ const params = new URLSearchParams(filterModel).toString();
998
+ return this.http.get(`api/users?${params}`).toPromise();
999
+ }
1000
+ getUser(userId) {
1001
+ return this.http.get(`api/users/${userId}`).toPromise();
1002
+ }
1003
+ createUser(model) {
1004
+ return this.http.post("api/users", model).toPromise();
1005
+ }
1006
+ updateUser(model) {
1007
+ return this.http.put(`api/users/${model.id}`, model).toPromise();
1008
+ }
1009
+ enable(user) {
1010
+ return this.http.patch("api/users/" + user.id + "/enable", user).toPromise();
1011
+ }
1012
+ disable(user) {
1013
+ return this.http.patch("api/users/" + user.id + "/disable", user).toPromise();
1014
+ }
1015
+ resetPassword(user) {
1016
+ return this.http.post(`api/users/${user?.id}/reset-password`, {});
1017
+ }
1018
+ static {
1019
+ this.ɵfac = i0.ɵɵngDeclareFactory({
1020
+ minVersion: "12.0.0",
1021
+ version: "22.2.3",
1022
+ ngImport: i0,
1023
+ type: UserService,
1024
+ deps: [{ token: HttpService }],
1025
+ target: i0.ɵɵFactoryTarget.Injectable
1026
+ });
1027
+ }
1028
+ static {
1029
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
1030
+ minVersion: "12.0.0",
1031
+ version: "22.2.3",
1032
+ ngImport: i0,
1033
+ type: UserService,
1034
+ providedIn: "root"
1035
+ });
1036
+ }
1037
+ };
1038
+ i0.ɵɵngDeclareClassMetadata({
1039
+ minVersion: "12.0.0",
1040
+ version: "22.2.3",
1041
+ ngImport: i0,
1042
+ type: UserService,
1043
+ decorators: [{
1044
+ type: Injectable,
1045
+ args: [{ providedIn: "root" }]
1046
+ }],
1047
+ ctorParameters: () => [{ type: HttpService }]
1048
+ });
1049
+ var UserFormComponent = class UserFormComponent extends TechlifyFormComponent {
1050
+ constructor(dialogRef, data, http, fb, formValidatorService, userService, currentUserService, userConfigService) {
1051
+ super(formValidatorService, userService);
1052
+ this.dialogRef = dialogRef;
1053
+ this.data = data;
1054
+ this.http = http;
1055
+ this.fb = fb;
1056
+ this.formValidatorService = formValidatorService;
1057
+ this.userService = userService;
1058
+ this.currentUserService = currentUserService;
1059
+ this.userConfigService = userConfigService;
1060
+ this.isPasswordRequired = false;
1061
+ this.userTypes = [{
1062
+ title: "Admin",
1063
+ value: 2
1064
+ }, {
1065
+ title: "Normal User",
1066
+ value: 3
1067
+ }];
1068
+ this.roles = [];
1069
+ this.fileList = [];
1070
+ this.errorMessages = {
1071
+ name: { required: "Name is required" },
1072
+ email: {
1073
+ required: "Email is required",
1074
+ email: "Invalid email"
1075
+ },
1076
+ password: { required: "Password is required" },
1077
+ user_type_id: { required: "User Type is required" }
1078
+ };
1079
+ this.config = this.userConfigService.getConfig();
1080
+ }
1081
+ get roleForms() {
1082
+ return this.form.get("roles");
1083
+ }
1084
+ get canUpdateUserCredential() {
1085
+ return this.currentUserService.getUser().user_type_id == UserTypeEnum.ADMIN || (this.data?.model?.user_clients || [])?.length <= 1;
1086
+ }
1087
+ ngOnInit() {
1088
+ this.userTypes = this.config.userConfig.showUserTypes ? this.config.userConfig.userTypes : this.userTypes;
1089
+ this.form = this.fb.group({
1090
+ id: [""],
1091
+ name: new UntypedFormControl("", Validators.compose([Validators.required])),
1092
+ email: new UntypedFormControl("", Validators.compose([Validators.required, Validators.email])),
1093
+ password: new UntypedFormControl(""),
1094
+ phone: new UntypedFormControl(""),
1095
+ user_type_id: new UntypedFormControl("", Validators.required),
1096
+ roles: this.fb.array([]),
1097
+ roles_exists: [[]],
1098
+ client_id: [this.data?.client_id ?? ""],
1099
+ signature_url: [""],
1100
+ signature: [""],
1101
+ is_temporary_password: [true]
1102
+ });
1103
+ const user = this.data?.model;
1104
+ if (user) {
1105
+ this.isUpdate = true;
1106
+ this.form.patchValue(user);
1107
+ this.form.controls.user_type_id.setValue(user.user_type_id);
1108
+ this.form.controls.roles_exists.setValue(user.roles || []);
1109
+ }
1110
+ if (this.data?.client_id != null) this.form.controls.client_id.setValue(this.data.client_id);
1111
+ if (this.config.userConfig.showRoles || this.config.userConfig.showFormRoles) this.loadRoles();
1112
+ this.fileConfig = {
1113
+ fileId: "subjectFile",
1114
+ containerId: "subjectFileContainer",
1115
+ styles: { height: "200px" },
1116
+ multiple: false,
1117
+ acceptFile: "*",
1118
+ maxSize: 10,
1119
+ acceptFileText: "PNG and JPEG only"
1120
+ };
1121
+ this.viewerConfig = {
1122
+ imageStyle: {
1123
+ height: "200px",
1124
+ width: "400px"
1125
+ },
1126
+ viewerStyle: {
1127
+ height: "200px",
1128
+ width: "100%"
1129
+ }
1130
+ };
1131
+ if (!this.canUpdateUserCredential) {
1132
+ this.form.get("email").disable();
1133
+ this.form.get("password").disable();
1134
+ }
1135
+ }
1136
+ loadRoles() {
1137
+ this.isWorking = true;
1138
+ const filter = {
1139
+ client_id: this.data?.client_id || this.data?.model?.client_id || "",
1140
+ is_subscribed: true,
1141
+ sort_by: "label|asc"
1142
+ };
1143
+ this.http.get("api/roles", { params: filter }).toPromise().then((res) => {
1144
+ let roles = res.data;
1145
+ for (let role of roles) role.selected = this.form.value.roles_exists.find((roleData) => roleData.id == role.id) ? true : false;
1146
+ this.roles = roles;
1147
+ this.isWorking = false;
1148
+ });
1149
+ }
1150
+ save() {
1151
+ const data = this.form.getRawValue();
1152
+ let roles = [];
1153
+ this.roles.forEach((role) => {
1154
+ if (role.selected) roles[role.id] = role;
1155
+ });
1156
+ data.roles = roles;
1157
+ super.submit(data);
1158
+ }
1159
+ roleSelected(event, roleId) {
1160
+ this.roles.forEach((role) => {
1161
+ if (role.id == roleId) role.selected = event.checked;
1162
+ });
1163
+ }
1164
+ async fileChanged(event) {
1165
+ this.fileList = event;
1166
+ if (this.fileList.length > 0) {
1167
+ const result = await this.uploadEntityFile(this.fileList[0]);
1168
+ this.form.get("signature").setValue(result.item.file);
1169
+ this.form.get("signature_url").setValue(result.item.url);
1170
+ this.fileList = [];
1171
+ }
1172
+ }
1173
+ async removeFile() {
1174
+ if (this.form.value.signature) this.form.patchValue({
1175
+ signature: "",
1176
+ signature_url: ""
1177
+ });
1178
+ }
1179
+ uploadEntityFile(file) {
1180
+ const formData = new FormData();
1181
+ formData.append("fileData", file, file.name);
1182
+ return this.http.skipHeader().post("api/entity-files-upload", formData).toPromise();
1183
+ }
1184
+ static {
1185
+ this.ɵfac = i0.ɵɵngDeclareFactory({
1186
+ minVersion: "12.0.0",
1187
+ version: "22.2.3",
1188
+ ngImport: i0,
1189
+ type: UserFormComponent,
1190
+ deps: [
1191
+ { token: i1.MatDialogRef },
1192
+ { token: MAT_DIALOG_DATA },
1193
+ { token: HttpService },
1194
+ { token: i3.UntypedFormBuilder },
1195
+ { token: FormValidatorService },
1196
+ { token: UserService },
1197
+ { token: CurrentUserService },
1198
+ { token: UserConfigService }
1199
+ ],
1200
+ target: i0.ɵɵFactoryTarget.Component
1201
+ });
1202
+ }
1203
+ static {
1204
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
1205
+ minVersion: "14.0.0",
1206
+ version: "22.2.3",
1207
+ type: UserFormComponent,
1208
+ isStandalone: true,
1209
+ selector: "app-user-form",
1210
+ usesInheritance: true,
1211
+ ngImport: i0,
1212
+ template: "<form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"d-flex flex-column justify-content-start align-items center gap-1\" mat-dialog-content>\n <h5 class=\"fw-bold text-center\">{{ isUpdate ? 'Edit' : 'Create ' }} User</h5>\n <div class=\"d-flex\">\n <div class=\"d-flex flex-column flex-fill gap-1\">\n <mat-form-field>\n <mat-label>Full name</mat-label>\n <input [required]=\"!!form.get('name').validator\" autocomplete=\"off\" formControlName=\"name\" matInput\n placeholder=\"Full Name\" type=\"text\" />\n <mat-error *ngIf=\"isFieldValid('name') && !!form.get('name').validator\">{{ getErrorMessage('name') }}\n </mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input [required]=\"!!form.get('email').validator\" formControlName=\"email\" matInput placeholder=\"Email\"\n type=\"email\" />\n <mat-error *ngIf=\"isFieldValid('email') && !!form.get('email').validator\">\n {{ getErrorMessage('email') }}\n </mat-error>\n </mat-form-field>\n <mat-form-field *ngIf=\"this.config.userConfig.showPhone\">\n <mat-label>Phone</mat-label>\n <input autocomplete=\"off\" formControlName=\"phone\" matInput placeholder=\"Phone\" type=\"text\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Password</mat-label>\n <input [required]=\"isPasswordRequired && !!form.get('password').validator\" autocomplete=\"off\"\n formControlName=\"password\" matInput placeholder=\"Password\" type=\"password\" />\n <mat-error *ngIf=\"isFieldValid('password') && !!form.get('password').validator\">\n {{ getErrorMessage('password') }}\n </mat-error>\n </mat-form-field>\n\n <div class=\"d-flex flex-column justify-content-start gap-1\">\n <mat-checkbox formControlName=\"is_temporary_password\">Is Temporary Password?</mat-checkbox>\n <small class=\"text-secondary\">Should this user to update password on first login?</small>\n </div>\n\n <div *ngIf=\"this.config.userConfig.showSignature\">\n <ng-template #fileUpload>\n <section class=\"col-12\">\n <div>User Signature</div>\n <app-file-dropper (fileChanged)=\"fileChanged($event)\" [config]=\"fileConfig\" [fileArray]=\"fileList\">\n </app-file-dropper>\n </section>\n </ng-template>\n <div *ngIf=\"form.get('signature').value;else fileUpload;\" class=\"col-12\">\n <app-document-viewer (remove)=\"removeFile()\" [config]=\"this.viewerConfig\"\n [fileUrl]=\"form.get('signature_url').value\" [file]=\"form.get('signature').value\">\n </app-document-viewer>\n </div>\n </div>\n <mat-form-field *ngIf=\"this.config.userConfig.showUserTypes\" class=\"mt-3\">\n <mat-label>User Type</mat-label>\n <mat-select autocomplete=\"off\" formControlName=\"user_type_id\" required>\n <mat-option *ngFor=\"let userType of userTypes\" [value]=\"userType.value\">\n {{ userType.title }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"isFieldValid('user_type_id')\">{{ getErrorMessage('user_type_id') }}</mat-error>\n </mat-form-field>\n </div>\n\n <div\n *ngIf=\"(this.config.userConfig.showRoles || this.config.userConfig.showFormRoles) && this.form.get('user_type_id').value == 3\"\n class=\"flex-fill ml-4\">\n <p class=\"mb-0 fw-bold\">\n Roles\n </p>\n <div *ngFor=\"let role of roles\" class=\"d-flex flex-column\">\n <mat-checkbox (change)=\"roleSelected($event, role.id)\" [checked]=\"role.selected\">\n {{ role.label }}\n </mat-checkbox>\n </div>\n </div>\n\n </div>\n <div class=\"d-flex justify-content-end align-items-center gap-3\">\n <button [disabled]=\"isWorking\" color=\"primary\" mat-raised-button type=\"submit\">\n Save\n </button>\n <button (click)=\"closeDialog()\" [disabled]=\"isWorking\" mat-flat-button type=\"button\">\n Cancel\n </button>\n </div>\n </div>\n</form>",
1213
+ dependencies: [
1214
+ {
1215
+ kind: "ngmodule",
1216
+ type: SharedModule
1217
+ },
1218
+ {
1219
+ kind: "directive",
1220
+ type: i2$1.NgForOf,
1221
+ selector: "[ngFor][ngForOf]",
1222
+ inputs: [
1223
+ "ngForOf",
1224
+ "ngForTrackBy",
1225
+ "ngForTemplate"
1226
+ ]
1227
+ },
1228
+ {
1229
+ kind: "directive",
1230
+ type: i2$1.NgIf,
1231
+ selector: "[ngIf]",
1232
+ inputs: [
1233
+ "ngIf",
1234
+ "ngIfThen",
1235
+ "ngIfElse"
1236
+ ]
1237
+ },
1238
+ {
1239
+ kind: "component",
1240
+ type: DocumentViewerComponent,
1241
+ selector: "app-document-viewer",
1242
+ inputs: [
1243
+ "config",
1244
+ "file",
1245
+ "fileUrl",
1246
+ "disableEdit"
1247
+ ],
1248
+ outputs: ["remove"]
1249
+ },
1250
+ {
1251
+ kind: "component",
1252
+ type: FileDropperComponent,
1253
+ selector: "app-file-dropper",
1254
+ inputs: [
1255
+ "fileArray",
1256
+ "config",
1257
+ "styles"
1258
+ ],
1259
+ outputs: ["fileChanged"]
1260
+ },
1261
+ {
1262
+ kind: "directive",
1263
+ type: i3.ɵNgNoValidate,
1264
+ selector: "form:not([ngNoForm]):not([ngNativeValidate])"
1265
+ },
1266
+ {
1267
+ kind: "directive",
1268
+ type: i3.DefaultValueAccessor,
1269
+ selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
1270
+ },
1271
+ {
1272
+ kind: "directive",
1273
+ type: i3.NgControlStatus,
1274
+ selector: "[formControlName],[ngModel],[formControl]"
1275
+ },
1276
+ {
1277
+ kind: "directive",
1278
+ type: i3.NgControlStatusGroup,
1279
+ selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]"
1280
+ },
1281
+ {
1282
+ kind: "directive",
1283
+ type: i3.RequiredValidator,
1284
+ selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]",
1285
+ inputs: ["required"]
1286
+ },
1287
+ {
1288
+ kind: "component",
1289
+ type: i4.MatOption,
1290
+ selector: "mat-option",
1291
+ inputs: [
1292
+ "value",
1293
+ "id",
1294
+ "disabled"
1295
+ ],
1296
+ outputs: ["onSelectionChange"],
1297
+ exportAs: ["matOption"]
1298
+ },
1299
+ {
1300
+ kind: "component",
1301
+ type: i5.MatButton,
1302
+ selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
1303
+ inputs: ["matButton"],
1304
+ exportAs: ["matButton", "matAnchor"]
1305
+ },
1306
+ {
1307
+ kind: "component",
1308
+ type: i13.MatCheckbox,
1309
+ selector: "mat-checkbox",
1310
+ inputs: [
1311
+ "aria-label",
1312
+ "aria-labelledby",
1313
+ "aria-describedby",
1314
+ "aria-expanded",
1315
+ "aria-controls",
1316
+ "aria-owns",
1317
+ "id",
1318
+ "required",
1319
+ "labelPosition",
1320
+ "name",
1321
+ "value",
1322
+ "disableRipple",
1323
+ "tabIndex",
1324
+ "color",
1325
+ "disabledInteractive",
1326
+ "checked",
1327
+ "disabled",
1328
+ "indeterminate"
1329
+ ],
1330
+ outputs: ["change", "indeterminateChange"],
1331
+ exportAs: ["matCheckbox"]
1332
+ },
1333
+ {
1334
+ kind: "directive",
1335
+ type: i1.MatDialogContent,
1336
+ selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]"
1337
+ },
1338
+ {
1339
+ kind: "component",
1340
+ type: i6.MatFormField,
1341
+ selector: "mat-form-field",
1342
+ inputs: [
1343
+ "hideRequiredMarker",
1344
+ "color",
1345
+ "floatLabel",
1346
+ "appearance",
1347
+ "subscriptSizing",
1348
+ "hintLabel"
1349
+ ],
1350
+ exportAs: ["matFormField"]
1351
+ },
1352
+ {
1353
+ kind: "directive",
1354
+ type: i6.MatLabel,
1355
+ selector: "mat-label"
1356
+ },
1357
+ {
1358
+ kind: "directive",
1359
+ type: i6.MatError,
1360
+ selector: "mat-error, [matError]",
1361
+ inputs: ["id"]
1362
+ },
1363
+ {
1364
+ kind: "directive",
1365
+ type: i8$1.MatInput,
1366
+ selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]",
1367
+ inputs: [
1368
+ "disabled",
1369
+ "id",
1370
+ "placeholder",
1371
+ "name",
1372
+ "required",
1373
+ "type",
1374
+ "errorStateMatcher",
1375
+ "aria-describedby",
1376
+ "value",
1377
+ "readonly",
1378
+ "disabledInteractive"
1379
+ ],
1380
+ exportAs: ["matInput"]
1381
+ },
1382
+ {
1383
+ kind: "component",
1384
+ type: i9$1.MatSelect,
1385
+ selector: "mat-select",
1386
+ inputs: [
1387
+ "aria-describedby",
1388
+ "panelClass",
1389
+ "disabled",
1390
+ "disableRipple",
1391
+ "tabIndex",
1392
+ "hideSingleSelectionIndicator",
1393
+ "placeholder",
1394
+ "required",
1395
+ "multiple",
1396
+ "disableOptionCentering",
1397
+ "compareWith",
1398
+ "value",
1399
+ "aria-label",
1400
+ "aria-labelledby",
1401
+ "errorStateMatcher",
1402
+ "typeaheadDebounceInterval",
1403
+ "sortComparator",
1404
+ "id",
1405
+ "panelWidth",
1406
+ "canSelectNullableOptions"
1407
+ ],
1408
+ outputs: [
1409
+ "openedChange",
1410
+ "opened",
1411
+ "closed",
1412
+ "selectionChange",
1413
+ "valueChange"
1414
+ ],
1415
+ exportAs: ["matSelect"]
1416
+ },
1417
+ {
1418
+ kind: "directive",
1419
+ type: i3.FormGroupDirective,
1420
+ selector: "[formGroup]",
1421
+ inputs: ["formGroup"],
1422
+ outputs: ["ngSubmit"],
1423
+ exportAs: ["ngForm"]
1424
+ },
1425
+ {
1426
+ kind: "directive",
1427
+ type: i3.FormControlName,
1428
+ selector: "[formControlName]",
1429
+ inputs: [
1430
+ "formControlName",
1431
+ "disabled",
1432
+ "ngModel"
1433
+ ],
1434
+ outputs: ["ngModelChange"]
1435
+ }
1436
+ ],
1437
+ changeDetection: i0.ChangeDetectionStrategy.Eager
1438
+ });
1439
+ }
1440
+ };
1441
+ i0.ɵɵngDeclareClassMetadata({
1442
+ minVersion: "12.0.0",
1443
+ version: "22.2.3",
1444
+ ngImport: i0,
1445
+ type: UserFormComponent,
1446
+ decorators: [{
1447
+ type: Component,
1448
+ args: [{
1449
+ selector: "app-user-form",
1450
+ standalone: true,
1451
+ changeDetection: ChangeDetectionStrategy.Eager,
1452
+ imports: [SharedModule],
1453
+ template: "<form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"d-flex flex-column justify-content-start align-items center gap-1\" mat-dialog-content>\n <h5 class=\"fw-bold text-center\">{{ isUpdate ? 'Edit' : 'Create ' }} User</h5>\n <div class=\"d-flex\">\n <div class=\"d-flex flex-column flex-fill gap-1\">\n <mat-form-field>\n <mat-label>Full name</mat-label>\n <input [required]=\"!!form.get('name').validator\" autocomplete=\"off\" formControlName=\"name\" matInput\n placeholder=\"Full Name\" type=\"text\" />\n <mat-error *ngIf=\"isFieldValid('name') && !!form.get('name').validator\">{{ getErrorMessage('name') }}\n </mat-error>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Email</mat-label>\n <input [required]=\"!!form.get('email').validator\" formControlName=\"email\" matInput placeholder=\"Email\"\n type=\"email\" />\n <mat-error *ngIf=\"isFieldValid('email') && !!form.get('email').validator\">\n {{ getErrorMessage('email') }}\n </mat-error>\n </mat-form-field>\n <mat-form-field *ngIf=\"this.config.userConfig.showPhone\">\n <mat-label>Phone</mat-label>\n <input autocomplete=\"off\" formControlName=\"phone\" matInput placeholder=\"Phone\" type=\"text\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Password</mat-label>\n <input [required]=\"isPasswordRequired && !!form.get('password').validator\" autocomplete=\"off\"\n formControlName=\"password\" matInput placeholder=\"Password\" type=\"password\" />\n <mat-error *ngIf=\"isFieldValid('password') && !!form.get('password').validator\">\n {{ getErrorMessage('password') }}\n </mat-error>\n </mat-form-field>\n\n <div class=\"d-flex flex-column justify-content-start gap-1\">\n <mat-checkbox formControlName=\"is_temporary_password\">Is Temporary Password?</mat-checkbox>\n <small class=\"text-secondary\">Should this user to update password on first login?</small>\n </div>\n\n <div *ngIf=\"this.config.userConfig.showSignature\">\n <ng-template #fileUpload>\n <section class=\"col-12\">\n <div>User Signature</div>\n <app-file-dropper (fileChanged)=\"fileChanged($event)\" [config]=\"fileConfig\" [fileArray]=\"fileList\">\n </app-file-dropper>\n </section>\n </ng-template>\n <div *ngIf=\"form.get('signature').value;else fileUpload;\" class=\"col-12\">\n <app-document-viewer (remove)=\"removeFile()\" [config]=\"this.viewerConfig\"\n [fileUrl]=\"form.get('signature_url').value\" [file]=\"form.get('signature').value\">\n </app-document-viewer>\n </div>\n </div>\n <mat-form-field *ngIf=\"this.config.userConfig.showUserTypes\" class=\"mt-3\">\n <mat-label>User Type</mat-label>\n <mat-select autocomplete=\"off\" formControlName=\"user_type_id\" required>\n <mat-option *ngFor=\"let userType of userTypes\" [value]=\"userType.value\">\n {{ userType.title }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"isFieldValid('user_type_id')\">{{ getErrorMessage('user_type_id') }}</mat-error>\n </mat-form-field>\n </div>\n\n <div\n *ngIf=\"(this.config.userConfig.showRoles || this.config.userConfig.showFormRoles) && this.form.get('user_type_id').value == 3\"\n class=\"flex-fill ml-4\">\n <p class=\"mb-0 fw-bold\">\n Roles\n </p>\n <div *ngFor=\"let role of roles\" class=\"d-flex flex-column\">\n <mat-checkbox (change)=\"roleSelected($event, role.id)\" [checked]=\"role.selected\">\n {{ role.label }}\n </mat-checkbox>\n </div>\n </div>\n\n </div>\n <div class=\"d-flex justify-content-end align-items-center gap-3\">\n <button [disabled]=\"isWorking\" color=\"primary\" mat-raised-button type=\"submit\">\n Save\n </button>\n <button (click)=\"closeDialog()\" [disabled]=\"isWorking\" mat-flat-button type=\"button\">\n Cancel\n </button>\n </div>\n </div>\n</form>"
1454
+ }]
1455
+ }],
1456
+ ctorParameters: () => [
1457
+ { type: i1.MatDialogRef },
1458
+ {
1459
+ type: void 0,
1460
+ decorators: [{
1461
+ type: Inject,
1462
+ args: [MAT_DIALOG_DATA]
1463
+ }]
1464
+ },
1465
+ { type: HttpService },
1466
+ { type: i3.UntypedFormBuilder },
1467
+ { type: FormValidatorService },
1468
+ { type: UserService },
1469
+ { type: CurrentUserService },
1470
+ { type: UserConfigService }
1471
+ ]
1472
+ });
1473
+ var UserTenantService = class UserTenantService extends TechlifyService {
1474
+ constructor(httpService) {
1475
+ super(httpService, "user-tenants");
1476
+ }
1477
+ enable(userTenant, params) {
1478
+ return this.http.put(`api/user-tenants/${userTenant?.id}/enable`, { params });
1479
+ }
1480
+ disable(userTenant, params) {
1481
+ return this.http.put(`api/user-tenants/${userTenant?.id}/disable`, { params });
1482
+ }
1483
+ static {
1484
+ this.ɵfac = i0.ɵɵngDeclareFactory({
1485
+ minVersion: "12.0.0",
1486
+ version: "22.2.3",
1487
+ ngImport: i0,
1488
+ type: UserTenantService,
1489
+ deps: [{ token: HttpService }],
1490
+ target: i0.ɵɵFactoryTarget.Injectable
1491
+ });
1492
+ }
1493
+ static {
1494
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
1495
+ minVersion: "12.0.0",
1496
+ version: "22.2.3",
1497
+ ngImport: i0,
1498
+ type: UserTenantService,
1499
+ providedIn: "root"
1500
+ });
1501
+ }
1502
+ };
1503
+ i0.ɵɵngDeclareClassMetadata({
1504
+ minVersion: "12.0.0",
1505
+ version: "22.2.3",
1506
+ ngImport: i0,
1507
+ type: UserTenantService,
1508
+ decorators: [{
1509
+ type: Injectable,
1510
+ args: [{ providedIn: "root" }]
1511
+ }],
1512
+ ctorParameters: () => [{ type: HttpService }]
1513
+ });
1514
+ var UserClientEnableDisableButtonComponent = class UserClientEnableDisableButtonComponent {
1515
+ constructor(credentialsService, currentUserService, service, alertService) {
1516
+ this.credentialsService = credentialsService;
1517
+ this.currentUserService = currentUserService;
1518
+ this.service = service;
1519
+ this.alertService = alertService;
1520
+ this.saved = new EventEmitter();
1521
+ this.isWorking = false;
1522
+ this.user = this.credentialsService.credentials.user;
1523
+ }
1524
+ ngOnInit() {}
1525
+ enable() {
1526
+ this.isWorking = true;
1527
+ this.service.enable(this.userClient).subscribe({
1528
+ next: (response) => {
1529
+ this.isWorking = false;
1530
+ this.saved.emit(response?.item);
1531
+ this.alertService.addAlert("User enabled for the client.", "success");
1532
+ },
1533
+ error: () => this.isWorking = false
1534
+ });
1535
+ }
1536
+ disable() {
1537
+ this.isWorking = true;
1538
+ this.service.disable(this.userClient).subscribe({
1539
+ next: (response) => {
1540
+ this.isWorking = false;
1541
+ this.saved.emit(response?.item);
1542
+ this.alertService.addAlert("User disabled for the client.", "success");
1543
+ },
1544
+ error: () => this.isWorking = false
1545
+ });
1546
+ }
1547
+ static {
1548
+ this.ɵfac = i0.ɵɵngDeclareFactory({
1549
+ minVersion: "12.0.0",
1550
+ version: "22.2.3",
1551
+ ngImport: i0,
1552
+ type: UserClientEnableDisableButtonComponent,
1553
+ deps: [
1554
+ { token: CredentialsService },
1555
+ { token: CurrentUserService },
1556
+ { token: UserTenantService },
1557
+ { token: AlertService }
1558
+ ],
1559
+ target: i0.ɵɵFactoryTarget.Component
1560
+ });
1561
+ }
1562
+ static {
1563
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
1564
+ minVersion: "14.0.0",
1565
+ version: "22.2.3",
1566
+ type: UserClientEnableDisableButtonComponent,
1567
+ isStandalone: false,
1568
+ selector: "app-user-client-enable-disable-button",
1569
+ inputs: { userClient: "userClient" },
1570
+ outputs: { saved: "saved" },
1571
+ ngImport: i0,
1572
+ template: "<button\n type=\"button\"\n mat-stroked-button color=\"warn\"\n *ngIf=\"userClient?.is_enabled && userClient?.user_id != user?.id\"\n [disabled]=\"isWorking\"\n (click)=\"disable()\"\n>\n Disable\n</button>\n<button\n mat-raised-button color=\"primary\"\n *ngIf=\"!userClient?.is_enabled && userClient?.user_id != user?.id\"\n [disabled]=\"isWorking\"\n type=\"button\"\n (click)=\"enable()\"\n>\n Enable\n</button>\n",
1573
+ styles: [""],
1574
+ dependencies: [{
1575
+ kind: "directive",
1576
+ type: i2$1.NgIf,
1577
+ selector: "[ngIf]",
1578
+ inputs: [
1579
+ "ngIf",
1580
+ "ngIfThen",
1581
+ "ngIfElse"
1582
+ ]
1583
+ }, {
1584
+ kind: "component",
1585
+ type: i5.MatButton,
1586
+ selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ",
1587
+ inputs: ["matButton"],
1588
+ exportAs: ["matButton", "matAnchor"]
1589
+ }],
1590
+ changeDetection: i0.ChangeDetectionStrategy.Eager
1591
+ });
1592
+ }
1593
+ };
1594
+ i0.ɵɵngDeclareClassMetadata({
1595
+ minVersion: "12.0.0",
1596
+ version: "22.2.3",
1597
+ ngImport: i0,
1598
+ type: UserClientEnableDisableButtonComponent,
1599
+ decorators: [{
1600
+ type: Component,
1601
+ args: [{
1602
+ selector: "app-user-client-enable-disable-button",
1603
+ changeDetection: ChangeDetectionStrategy.Eager,
1604
+ standalone: false,
1605
+ template: "<button\n type=\"button\"\n mat-stroked-button color=\"warn\"\n *ngIf=\"userClient?.is_enabled && userClient?.user_id != user?.id\"\n [disabled]=\"isWorking\"\n (click)=\"disable()\"\n>\n Disable\n</button>\n<button\n mat-raised-button color=\"primary\"\n *ngIf=\"!userClient?.is_enabled && userClient?.user_id != user?.id\"\n [disabled]=\"isWorking\"\n type=\"button\"\n (click)=\"enable()\"\n>\n Enable\n</button>\n"
1606
+ }]
1607
+ }],
1608
+ ctorParameters: () => [
1609
+ { type: CredentialsService },
1610
+ { type: CurrentUserService },
1611
+ { type: UserTenantService },
1612
+ { type: AlertService }
1613
+ ],
1614
+ propDecorators: {
1615
+ userClient: [{ type: Input }],
1616
+ saved: [{ type: Output }]
1617
+ }
1618
+ });
1619
+ var UserClientsListComponent = class UserClientsListComponent extends TechlifyListComponent {
1620
+ constructor(service) {
1621
+ super();
1622
+ this.service = service;
1623
+ this.displayedColumns = [
1624
+ "#",
1625
+ "Name",
1626
+ "Added On",
1627
+ "Status",
1628
+ "Action"
1629
+ ];
1630
+ }
1631
+ ngOnInit() {
1632
+ this.loadData();
1633
+ }
1634
+ loadData() {
1635
+ if (!this.user) return;
1636
+ this.isWorking = true;
1637
+ const params = { user_ids: this.user?.id };
1638
+ this.service.index(params).subscribe({
1639
+ next: (response) => {
1640
+ this.models = this.models.concat(response?.data);
1641
+ this.isWorking = false;
1642
+ },
1643
+ error: () => this.isWorking = false
1644
+ });
1645
+ }
1646
+ static {
1647
+ this.ɵfac = i0.ɵɵngDeclareFactory({
1648
+ minVersion: "12.0.0",
1649
+ version: "22.2.3",
1650
+ ngImport: i0,
1651
+ type: UserClientsListComponent,
1652
+ deps: [{ token: UserTenantService }],
1653
+ target: i0.ɵɵFactoryTarget.Component
1654
+ });
1655
+ }
1656
+ static {
1657
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
1658
+ minVersion: "14.0.0",
1659
+ version: "22.2.3",
1660
+ type: UserClientsListComponent,
1661
+ isStandalone: false,
1662
+ selector: "app-user-clients-list",
1663
+ inputs: { user: "user" },
1664
+ usesInheritance: true,
1665
+ ngImport: i0,
1666
+ template: "<mat-card>\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Name Column -->\n <ng-container matColumnDef=\"Name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.client?.name }}\n </td>\n </ng-container>\n\n <!-- Added On Column -->\n <ng-container matColumnDef=\"Added On\">\n <th mat-header-cell *matHeaderCellDef> Added On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.created_at | date }}\n </td>\n </ng-container>\n\n <!-- Status Column -->\n <ng-container matColumnDef=\"Status\">\n <th mat-header-cell *matHeaderCellDef> Status </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.is_enabled ? 'Enabled' : 'Disabled' }}\n </td>\n </ng-container>\n\n <!-- Action Column -->\n <ng-container matColumnDef=\"Action\">\n <th mat-header-cell *matHeaderCellDef> Action </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-user-client-enable-disable-button\n [userClient]=\"element\"\n (saved)=\"reload()\"\n ></app-user-client-enable-disable-button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n\n </mat-card-content>\n</mat-card>\n",
1667
+ styles: [""],
1668
+ dependencies: [
1669
+ {
1670
+ kind: "directive",
1671
+ type: i2$1.NgIf,
1672
+ selector: "[ngIf]",
1673
+ inputs: [
1674
+ "ngIf",
1675
+ "ngIfThen",
1676
+ "ngIfElse"
1677
+ ]
1678
+ },
1679
+ {
1680
+ kind: "component",
1681
+ type: i9.MatTable,
1682
+ selector: "mat-table, table[mat-table]",
1683
+ exportAs: ["matTable"]
1684
+ },
1685
+ {
1686
+ kind: "directive",
1687
+ type: i9.MatHeaderCellDef,
1688
+ selector: "[matHeaderCellDef]"
1689
+ },
1690
+ {
1691
+ kind: "directive",
1692
+ type: i9.MatHeaderRowDef,
1693
+ selector: "[matHeaderRowDef]",
1694
+ inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"]
1695
+ },
1696
+ {
1697
+ kind: "directive",
1698
+ type: i9.MatColumnDef,
1699
+ selector: "[matColumnDef]",
1700
+ inputs: ["matColumnDef"]
1701
+ },
1702
+ {
1703
+ kind: "directive",
1704
+ type: i9.MatCellDef,
1705
+ selector: "[matCellDef]"
1706
+ },
1707
+ {
1708
+ kind: "directive",
1709
+ type: i9.MatRowDef,
1710
+ selector: "[matRowDef]",
1711
+ inputs: ["matRowDefColumns", "matRowDefWhen"]
1712
+ },
1713
+ {
1714
+ kind: "directive",
1715
+ type: i9.MatHeaderCell,
1716
+ selector: "mat-header-cell, th[mat-header-cell]"
1717
+ },
1718
+ {
1719
+ kind: "directive",
1720
+ type: i9.MatCell,
1721
+ selector: "mat-cell, td[mat-cell]"
1722
+ },
1723
+ {
1724
+ kind: "component",
1725
+ type: i9.MatHeaderRow,
1726
+ selector: "mat-header-row, tr[mat-header-row]",
1727
+ exportAs: ["matHeaderRow"]
1728
+ },
1729
+ {
1730
+ kind: "component",
1731
+ type: i9.MatRow,
1732
+ selector: "mat-row, tr[mat-row]",
1733
+ exportAs: ["matRow"]
1734
+ },
1735
+ {
1736
+ kind: "component",
1737
+ type: i10.MatCard,
1738
+ selector: "mat-card",
1739
+ inputs: ["appearance"],
1740
+ exportAs: ["matCard"]
1741
+ },
1742
+ {
1743
+ kind: "directive",
1744
+ type: i10.MatCardContent,
1745
+ selector: "mat-card-content"
1746
+ },
1747
+ {
1748
+ kind: "component",
1749
+ type: i12.MatProgressBar,
1750
+ selector: "mat-progress-bar",
1751
+ inputs: [
1752
+ "color",
1753
+ "value",
1754
+ "bufferValue",
1755
+ "mode"
1756
+ ],
1757
+ outputs: ["animationEnd"],
1758
+ exportAs: ["matProgressBar"]
1759
+ },
1760
+ {
1761
+ kind: "component",
1762
+ type: UserClientEnableDisableButtonComponent,
1763
+ selector: "app-user-client-enable-disable-button",
1764
+ inputs: ["userClient"],
1765
+ outputs: ["saved"]
1766
+ },
1767
+ {
1768
+ kind: "pipe",
1769
+ type: i2$1.DatePipe,
1770
+ name: "date"
1771
+ }
1772
+ ],
1773
+ changeDetection: i0.ChangeDetectionStrategy.Eager
1774
+ });
1775
+ }
1776
+ };
1777
+ i0.ɵɵngDeclareClassMetadata({
1778
+ minVersion: "12.0.0",
1779
+ version: "22.2.3",
1780
+ ngImport: i0,
1781
+ type: UserClientsListComponent,
1782
+ decorators: [{
1783
+ type: Component,
1784
+ args: [{
1785
+ selector: "app-user-clients-list",
1786
+ changeDetection: ChangeDetectionStrategy.Eager,
1787
+ standalone: false,
1788
+ template: "<mat-card>\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Name Column -->\n <ng-container matColumnDef=\"Name\">\n <th mat-header-cell *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.client?.name }}\n </td>\n </ng-container>\n\n <!-- Added On Column -->\n <ng-container matColumnDef=\"Added On\">\n <th mat-header-cell *matHeaderCellDef> Added On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.created_at | date }}\n </td>\n </ng-container>\n\n <!-- Status Column -->\n <ng-container matColumnDef=\"Status\">\n <th mat-header-cell *matHeaderCellDef> Status </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.is_enabled ? 'Enabled' : 'Disabled' }}\n </td>\n </ng-container>\n\n <!-- Action Column -->\n <ng-container matColumnDef=\"Action\">\n <th mat-header-cell *matHeaderCellDef> Action </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-user-client-enable-disable-button\n [userClient]=\"element\"\n (saved)=\"reload()\"\n ></app-user-client-enable-disable-button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n\n </mat-card-content>\n</mat-card>\n"
1789
+ }]
1790
+ }],
1791
+ ctorParameters: () => [{ type: UserTenantService }],
1792
+ propDecorators: { user: [{ type: Input }] }
1793
+ });
1794
+ var UserSessionService = class UserSessionService extends TechlifyService {
1795
+ constructor(httpService) {
1796
+ super(httpService, "user-sessions");
1797
+ }
1798
+ static {
1799
+ this.ɵfac = i0.ɵɵngDeclareFactory({
1800
+ minVersion: "12.0.0",
1801
+ version: "22.2.3",
1802
+ ngImport: i0,
1803
+ type: UserSessionService,
1804
+ deps: [{ token: HttpService }],
1805
+ target: i0.ɵɵFactoryTarget.Injectable
1806
+ });
1807
+ }
1808
+ static {
1809
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
1810
+ minVersion: "12.0.0",
1811
+ version: "22.2.3",
1812
+ ngImport: i0,
1813
+ type: UserSessionService,
1814
+ providedIn: "root"
1815
+ });
1816
+ }
1817
+ };
1818
+ i0.ɵɵngDeclareClassMetadata({
1819
+ minVersion: "12.0.0",
1820
+ version: "22.2.3",
1821
+ ngImport: i0,
1822
+ type: UserSessionService,
1823
+ decorators: [{
1824
+ type: Injectable,
1825
+ args: [{ providedIn: "root" }]
1826
+ }],
1827
+ ctorParameters: () => [{ type: HttpService }]
1828
+ });
1829
+ var UserSessionsComponent = class UserSessionsComponent extends TechlifyListComponent {
1830
+ constructor(service) {
1831
+ super();
1832
+ this.service = service;
1833
+ this.displayedColumns = [
1834
+ "#",
1835
+ "Started On",
1836
+ "Expires At"
1837
+ ];
1838
+ }
1839
+ ngOnInit() {
1840
+ this.loadData();
1841
+ }
1842
+ loadData() {
1843
+ if (!this.user) return;
1844
+ this.isWorking = true;
1845
+ const params = { user_ids: this.user?.id };
1846
+ this.service.index(params).subscribe({
1847
+ next: (response) => {
1848
+ this.models = this.models.concat(response?.data);
1849
+ this.isWorking = false;
1850
+ },
1851
+ error: () => this.isWorking = false
1852
+ });
1853
+ }
1854
+ static {
1855
+ this.ɵfac = i0.ɵɵngDeclareFactory({
1856
+ minVersion: "12.0.0",
1857
+ version: "22.2.3",
1858
+ ngImport: i0,
1859
+ type: UserSessionsComponent,
1860
+ deps: [{ token: UserSessionService }],
1861
+ target: i0.ɵɵFactoryTarget.Component
1862
+ });
1863
+ }
1864
+ static {
1865
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
1866
+ minVersion: "14.0.0",
1867
+ version: "22.2.3",
1868
+ type: UserSessionsComponent,
1869
+ isStandalone: false,
1870
+ selector: "app-user-sessions",
1871
+ inputs: { user: "user" },
1872
+ usesInheritance: true,
1873
+ ngImport: i0,
1874
+ template: "<mat-card>\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Started On Column -->\n <ng-container matColumnDef=\"Started On\">\n <th mat-header-cell *matHeaderCellDef> Started On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <!-- Expires At Column -->\n <ng-container matColumnDef=\"Expires At\">\n <th mat-header-cell *matHeaderCellDef> Expires At </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.expires_at | date:'medium' }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n\n </mat-card-content>\n</mat-card>\n",
1875
+ styles: [""],
1876
+ dependencies: [
1877
+ {
1878
+ kind: "directive",
1879
+ type: i2$1.NgIf,
1880
+ selector: "[ngIf]",
1881
+ inputs: [
1882
+ "ngIf",
1883
+ "ngIfThen",
1884
+ "ngIfElse"
1885
+ ]
1886
+ },
1887
+ {
1888
+ kind: "component",
1889
+ type: i9.MatTable,
1890
+ selector: "mat-table, table[mat-table]",
1891
+ exportAs: ["matTable"]
1892
+ },
1893
+ {
1894
+ kind: "directive",
1895
+ type: i9.MatHeaderCellDef,
1896
+ selector: "[matHeaderCellDef]"
1897
+ },
1898
+ {
1899
+ kind: "directive",
1900
+ type: i9.MatHeaderRowDef,
1901
+ selector: "[matHeaderRowDef]",
1902
+ inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"]
1903
+ },
1904
+ {
1905
+ kind: "directive",
1906
+ type: i9.MatColumnDef,
1907
+ selector: "[matColumnDef]",
1908
+ inputs: ["matColumnDef"]
1909
+ },
1910
+ {
1911
+ kind: "directive",
1912
+ type: i9.MatCellDef,
1913
+ selector: "[matCellDef]"
1914
+ },
1915
+ {
1916
+ kind: "directive",
1917
+ type: i9.MatRowDef,
1918
+ selector: "[matRowDef]",
1919
+ inputs: ["matRowDefColumns", "matRowDefWhen"]
1920
+ },
1921
+ {
1922
+ kind: "directive",
1923
+ type: i9.MatHeaderCell,
1924
+ selector: "mat-header-cell, th[mat-header-cell]"
1925
+ },
1926
+ {
1927
+ kind: "directive",
1928
+ type: i9.MatCell,
1929
+ selector: "mat-cell, td[mat-cell]"
1930
+ },
1931
+ {
1932
+ kind: "component",
1933
+ type: i9.MatHeaderRow,
1934
+ selector: "mat-header-row, tr[mat-header-row]",
1935
+ exportAs: ["matHeaderRow"]
1936
+ },
1937
+ {
1938
+ kind: "component",
1939
+ type: i9.MatRow,
1940
+ selector: "mat-row, tr[mat-row]",
1941
+ exportAs: ["matRow"]
1942
+ },
1943
+ {
1944
+ kind: "component",
1945
+ type: i10.MatCard,
1946
+ selector: "mat-card",
1947
+ inputs: ["appearance"],
1948
+ exportAs: ["matCard"]
1949
+ },
1950
+ {
1951
+ kind: "directive",
1952
+ type: i10.MatCardContent,
1953
+ selector: "mat-card-content"
1954
+ },
1955
+ {
1956
+ kind: "component",
1957
+ type: i12.MatProgressBar,
1958
+ selector: "mat-progress-bar",
1959
+ inputs: [
1960
+ "color",
1961
+ "value",
1962
+ "bufferValue",
1963
+ "mode"
1964
+ ],
1965
+ outputs: ["animationEnd"],
1966
+ exportAs: ["matProgressBar"]
1967
+ },
1968
+ {
1969
+ kind: "pipe",
1970
+ type: i2$1.DatePipe,
1971
+ name: "date"
1972
+ }
1973
+ ],
1974
+ changeDetection: i0.ChangeDetectionStrategy.Eager
1975
+ });
1976
+ }
1977
+ };
1978
+ i0.ɵɵngDeclareClassMetadata({
1979
+ minVersion: "12.0.0",
1980
+ version: "22.2.3",
1981
+ ngImport: i0,
1982
+ type: UserSessionsComponent,
1983
+ decorators: [{
1984
+ type: Component,
1985
+ args: [{
1986
+ selector: "app-user-sessions",
1987
+ changeDetection: ChangeDetectionStrategy.Eager,
1988
+ standalone: false,
1989
+ template: "<mat-card>\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" class=\"w-100\">\n\n <!-- # Column -->\n <ng-container matColumnDef=\"#\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i + 1 }} </td>\n </ng-container>\n\n <!-- Started On Column -->\n <ng-container matColumnDef=\"Started On\">\n <th mat-header-cell *matHeaderCellDef> Started On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.created_at | date:'medium' }}\n </td>\n </ng-container>\n\n <!-- Expires At Column -->\n <ng-container matColumnDef=\"Expires At\">\n <th mat-header-cell *matHeaderCellDef> Expires At </th>\n <td mat-cell *matCellDef=\"let element\">\n {{ element?.expires_at | date:'medium' }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n\n </mat-card-content>\n</mat-card>\n"
1990
+ }]
1991
+ }],
1992
+ ctorParameters: () => [{ type: UserSessionService }],
1993
+ propDecorators: { user: [{ type: Input }] }
1994
+ });
1995
+ var UserClientEnableDisableButtonModule = class UserClientEnableDisableButtonModule {
1996
+ static {
1997
+ this.ɵfac = i0.ɵɵngDeclareFactory({
1998
+ minVersion: "12.0.0",
1999
+ version: "22.2.3",
2000
+ ngImport: i0,
2001
+ type: UserClientEnableDisableButtonModule,
2002
+ deps: [],
2003
+ target: i0.ɵɵFactoryTarget.NgModule
2004
+ });
2005
+ }
2006
+ static {
2007
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
2008
+ minVersion: "14.0.0",
2009
+ version: "22.2.3",
2010
+ ngImport: i0,
2011
+ type: UserClientEnableDisableButtonModule,
2012
+ declarations: [UserClientEnableDisableButtonComponent],
2013
+ imports: [SharedModule],
2014
+ exports: [UserClientEnableDisableButtonComponent]
2015
+ });
2016
+ }
2017
+ static {
2018
+ this.ɵinj = i0.ɵɵngDeclareInjector({
2019
+ minVersion: "12.0.0",
2020
+ version: "22.2.3",
2021
+ ngImport: i0,
2022
+ type: UserClientEnableDisableButtonModule,
2023
+ imports: [SharedModule]
2024
+ });
2025
+ }
2026
+ };
2027
+ i0.ɵɵngDeclareClassMetadata({
2028
+ minVersion: "12.0.0",
2029
+ version: "22.2.3",
2030
+ ngImport: i0,
2031
+ type: UserClientEnableDisableButtonModule,
2032
+ decorators: [{
2033
+ type: NgModule,
2034
+ args: [{
2035
+ declarations: [UserClientEnableDisableButtonComponent],
2036
+ imports: [SharedModule],
2037
+ exports: [UserClientEnableDisableButtonComponent]
2038
+ }]
2039
+ }]
2040
+ });
2041
+ var UserClientsListModule = class UserClientsListModule {
2042
+ static {
2043
+ this.ɵfac = i0.ɵɵngDeclareFactory({
2044
+ minVersion: "12.0.0",
2045
+ version: "22.2.3",
2046
+ ngImport: i0,
2047
+ type: UserClientsListModule,
2048
+ deps: [],
2049
+ target: i0.ɵɵFactoryTarget.NgModule
2050
+ });
2051
+ }
2052
+ static {
2053
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
2054
+ minVersion: "14.0.0",
2055
+ version: "22.2.3",
2056
+ ngImport: i0,
2057
+ type: UserClientsListModule,
2058
+ declarations: [UserClientsListComponent],
2059
+ imports: [SharedModule, UserClientEnableDisableButtonModule],
2060
+ exports: [UserClientsListComponent]
2061
+ });
2062
+ }
2063
+ static {
2064
+ this.ɵinj = i0.ɵɵngDeclareInjector({
2065
+ minVersion: "12.0.0",
2066
+ version: "22.2.3",
2067
+ ngImport: i0,
2068
+ type: UserClientsListModule,
2069
+ imports: [SharedModule, UserClientEnableDisableButtonModule]
2070
+ });
2071
+ }
2072
+ };
2073
+ i0.ɵɵngDeclareClassMetadata({
2074
+ minVersion: "12.0.0",
2075
+ version: "22.2.3",
2076
+ ngImport: i0,
2077
+ type: UserClientsListModule,
2078
+ decorators: [{
2079
+ type: NgModule,
2080
+ args: [{
2081
+ declarations: [UserClientsListComponent],
2082
+ imports: [SharedModule, UserClientEnableDisableButtonModule],
2083
+ exports: [UserClientsListComponent]
2084
+ }]
2085
+ }]
2086
+ });
2087
+ var UserSessionsModule = class UserSessionsModule {
2088
+ static {
2089
+ this.ɵfac = i0.ɵɵngDeclareFactory({
2090
+ minVersion: "12.0.0",
2091
+ version: "22.2.3",
2092
+ ngImport: i0,
2093
+ type: UserSessionsModule,
2094
+ deps: [],
2095
+ target: i0.ɵɵFactoryTarget.NgModule
2096
+ });
2097
+ }
2098
+ static {
2099
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
2100
+ minVersion: "14.0.0",
2101
+ version: "22.2.3",
2102
+ ngImport: i0,
2103
+ type: UserSessionsModule,
2104
+ declarations: [UserSessionsComponent],
2105
+ imports: [SharedModule],
2106
+ exports: [UserSessionsComponent]
2107
+ });
2108
+ }
2109
+ static {
2110
+ this.ɵinj = i0.ɵɵngDeclareInjector({
2111
+ minVersion: "12.0.0",
2112
+ version: "22.2.3",
2113
+ ngImport: i0,
2114
+ type: UserSessionsModule,
2115
+ imports: [SharedModule]
2116
+ });
2117
+ }
2118
+ };
2119
+ i0.ɵɵngDeclareClassMetadata({
2120
+ minVersion: "12.0.0",
2121
+ version: "22.2.3",
2122
+ ngImport: i0,
2123
+ type: UserSessionsModule,
2124
+ decorators: [{
2125
+ type: NgModule,
2126
+ args: [{
2127
+ declarations: [UserSessionsComponent],
2128
+ imports: [SharedModule],
2129
+ exports: [UserSessionsComponent]
2130
+ }]
2131
+ }]
2132
+ });
2133
+ export { UserClientsListComponent as a, UserFormComponent as c, LoginHistoryForUserComponent as d, AuditLogListComponent as f, UserSessionsComponent as i, UserService as l, AuditLogService as m, UserClientsListModule as n, UserClientEnableDisableButtonComponent as o, AuditLogListFilterComponent as p, UserClientEnableDisableButtonModule as r, UserTenantService as s, UserSessionsModule as t, UserTypeEnum as u };
2134
+
2135
+ //# sourceMappingURL=ngx-techlify-core-user-sessions.module-BRmDpYG3.mjs.map