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
@@ -1,155 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, Input } from '@angular/core';
3
- import { RouterModule } from '@angular/router';
4
- import { finalize } from 'rxjs/operators';
5
- import { UntilDestroy } from '@ngneat/until-destroy';
6
- import { UserFormComponent } from '../user-form/user-form.component';
7
- import { TechlifyListComponent } from '../../base-model';
8
- import { SharedModule } from '../../shared.module';
9
- import { UserEnableButtonModule } from '../user-enable-button-component/user-enable-button.module';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../../core";
12
- import * as i2 from "../current-user.service";
13
- import * as i3 from "../../user-config";
14
- import * as i4 from "../user.service";
15
- import * as i5 from "@angular/forms";
16
- import * as i6 from "@angular/common";
17
- import * as i7 from "ngx-infinite-scroll";
18
- import * as i8 from "@angular/material/button";
19
- import * as i9 from "@angular/material/form-field";
20
- import * as i10 from "@angular/material/icon";
21
- import * as i11 from "@angular/material/input";
22
- import * as i12 from "@angular/material/sort";
23
- import * as i13 from "@angular/material/table";
24
- import * as i14 from "@angular/material/card";
25
- import * as i15 from "@angular/material/tooltip";
26
- import * as i16 from "@angular/material/button-toggle";
27
- import * as i17 from "@angular/material/progress-bar";
28
- import * as i18 from "../../searchable-selector/searchable-selector.component";
29
- import * as i19 from "../../delete-button/techlify-delete-button.component";
30
- import * as i20 from "../../form-button/techlify-form-button.component";
31
- import * as i21 from "../../techlify-icon/techlify-icon.component";
32
- import * as i22 from "@angular/router";
33
- import * as i23 from "../user-enable-button-component/user-enable-button.component";
34
- let AppAdminUserList = class AppAdminUserList extends TechlifyListComponent {
35
- constructor(alertService, currentUserService, userConfigService, service, fb) {
36
- super();
37
- this.alertService = alertService;
38
- this.currentUserService = currentUserService;
39
- this.userConfigService = userConfigService;
40
- this.service = service;
41
- this.fb = fb;
42
- this.userTypeIds = [];
43
- this.title = 'User Management';
44
- this.displayedColumns = [
45
- 'index',
46
- 'name',
47
- 'email',
48
- 'type',
49
- 'roles',
50
- 'last_login',
51
- 'added_by',
52
- 'actions'
53
- ];
54
- this.scrollContainer = '.mat-sidenav-content';
55
- this.models = [];
56
- this.userFormComponent = UserFormComponent;
57
- this.config = this.userConfigService.getConfig();
58
- this.filterFormConfiguration = {
59
- role_ids: { multiple: true },
60
- status: { multiple: true },
61
- user_type_ids: { multiple: true }
62
- };
63
- if (this.config?.scrollContainer) {
64
- // Set to null if scroll has to be done from root
65
- this.scrollContainer = this.config?.scrollContainer === 'root' ? null : this.config?.scrollContainer;
66
- }
67
- }
68
- ngOnInit() {
69
- //Initialize form in OnInit.
70
- //On constructor Input() variables will be null, that will introduce a issue for admin view
71
- this.filterForm = this.fb.group({
72
- search: [''],
73
- role_ids: [''],
74
- status: ['enabled'],
75
- sort_by: ['id|ASC'],
76
- relations: ['roles,type,userClients.type,creator,userClient'],
77
- appends: ['last_login'],
78
- client_id: [this.clientId],
79
- user_type_ids: this.userTypeIds.toString()
80
- });
81
- this.currentUser = this.currentUserService.getUser();
82
- this.patchFiltersFromRoute();
83
- this.listenFilterChanges();
84
- this.loadData();
85
- }
86
- getUserViewRoute(user) {
87
- return `${user.id}/app-admin-view`;
88
- }
89
- loadData() {
90
- this.isWorking = true;
91
- const clientId = this.clientId ?? this.currentUser?.client_id;
92
- const params = {
93
- ...this.filterForm.value,
94
- status: this.filterForm.value.status ? this.filterForm.value.status.toString() : '',
95
- page: this.page,
96
- role_ids: this.filterForm?.value?.role_ids?.toString(),
97
- user_type_ids: this.filterForm?.value?.user_type_ids?.toString()
98
- };
99
- this.service.index(params).subscribe({
100
- next: (result) => {
101
- this.isWorking = false;
102
- this.models = this.models.concat(result?.data);
103
- this.lastPage = result?.last_page;
104
- this.models.forEach((userData) => {
105
- const client = (userData?.user_clients || [])
106
- .find((userClient) => userClient.client_id === clientId && userClient.user_id === userData.id);
107
- if (client) {
108
- userData.user_type_id = client.user_type_id;
109
- userData.client_id = client.client_id;
110
- }
111
- });
112
- },
113
- error: () => this.isWorking = false
114
- });
115
- }
116
- /**
117
- * Get the user type for the current client.
118
- *
119
- * @param user User
120
- */
121
- getUserType(user) {
122
- let userClient;
123
- if (!!this.clientId) {
124
- userClient = (user?.user_clients).find((item) => item?.client_id === this.clientId);
125
- }
126
- return userClient?.type?.title || '';
127
- }
128
- resetPassword(user) {
129
- this.isWorking = true;
130
- this.service.resetPassword(user)
131
- .pipe(finalize(() => this.isWorking = false))
132
- .subscribe(_ => this.alertService.addAlert('Password reset email sent', 'success'));
133
- }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserList, deps: [{ token: i1.AlertService }, { token: i2.CurrentUserService }, { token: i3.UserConfigService }, { token: i4.UserService }, { token: i5.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
135
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AppAdminUserList, isStandalone: true, selector: "app-admin-user-list", inputs: { clientId: "clientId", userTypeIds: "userTypeIds", title: "title" }, usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"{'m-4':config?.userConfig?.showDefaultMargin}\">\n <mat-card class=\"mb-2\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <section class=\"d-flex justify-content-start align-items-center gap-2\">\n <h5 class=\"mb-0\"> {{ title }} </h5>\n <app-techlify-form-button [component]=\"userFormComponent\" matTooltip=\"New User\"\n [data]=\"{client_id: clientId ?? currentUser?.client_id}\"\n *ngIf=\"config?.userConfig?.showAddUser && currentUserService?.hasPermission('user_create')\"\n (saved)=\"modelCreated($event)\"></app-techlify-form-button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../import']\"\n *ngIf=\"config?.userConfig?.showImportButton && currentUserService?.hasPermission('user_create')\">\n Import User\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../roles']\" *ngIf=\"config?.userConfig?.showRoles\">\n <mat-icon>people</mat-icon>\n Roles\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../role-permissions']\"\n *ngIf=\"config?.userConfig?.showPermissions\">\n <mat-icon>lock</mat-icon>\n Role Permissions\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../configurations']\"\n *ngIf=\"config?.userConfig?.showConfigurations && currentUser?.user_type_id === 2\">\n <mat-icon>\n <span class=\"material-icons-outlined\">\n toggle_on\n </span>\n </mat-icon>\n Configurations\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../restrictors']\"\n *ngIf=\"config?.userConfig?.showRestrictors && currentUser?.user_type_id === 2\">\n <mat-icon>\n <span class=\"material-icons-outlined\">\n vpn_lock\n </span>\n </mat-icon>\n Restrictors\n </button>\n </section>\n <form [formGroup]=\"filterForm\" class=\"d-flex flex-row justify-content-center align-items-center gap-2\">\n <mat-form-field appearance=\"outline\" class='fl-md'>\n <mat-label>Search</mat-label>\n <input autocomplete=\"off\" matInput type=\"text\" name=\"search\" placeholder=\"Search by name, email\"\n formControlName=\"search\">\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class='fl-sm'>\n <mat-label>Role</mat-label>\n <app-searchable-selector apiUrl=\"api/roles\" [multiple]=\"true\" formControlName=\"role_ids\"\n titleField=\"label\"></app-searchable-selector>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class='fl-sm'>\n <mat-label>User Type</mat-label>\n <app-searchable-selector apiUrl=\"api/user-types\" [multiple]=\"true\" formControlName=\"user_type_ids\"\n titleField=\"title\"></app-searchable-selector>\n </mat-form-field>\n <mat-button-toggle-group class='mb-4' [hideSingleSelectionIndicator]=\"true\"\n [hideMultipleSelectionIndicator]=\"true\" formControlName=\"status\" multiple>\n <mat-button-toggle value=\"enabled\">Enabled</mat-button-toggle>\n <mat-button-toggle value=\"disabled\">Disabled</mat-button-toggle>\n </mat-button-toggle-group>\n </form>\n </mat-card-content>\n </mat-card>\n <mat-card class=\"mt-2 p-0\">\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" class=\"w-100\" aria-describedby=\"Users\" infiniteScroll\n [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" [infiniteScrollContainer]=\"scrollContainer\"\n [fromRoot]=\"true\" (scrolled)=\"onScroll()\" matSort (matSortChange)=\"sortColumn($event)\">\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\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 mat-sort-header=\"name\" *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\">\n <a [routerLink]=\"[element?.id]\" class=\"text-decoration-none\">\n {{ element.name }}\n </a>\n <p class=\"mb-0 text-secondary\">\n <!-- !element?.user_client condition added to check if user has user_client record -->\n {{ !element?.user_client ? '' : element?.user_client?.is_enabled ? 'Enabled' : 'Disabled' }}\n </p>\n </td>\n </ng-container>\n\n <!-- Email Column -->\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell mat-sort-header=\"email\" *matHeaderCellDef> Email </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.email}} </td>\n </ng-container>\n\n <!-- Type Column -->\n <ng-container matColumnDef=\"type\">\n <th mat-header-cell mat-sort-header=\"user_type_id\" *matHeaderCellDef> User Type </th>\n <td mat-cell *matCellDef=\"let element\"> {{ getUserType(element) }} </td>\n </ng-container>\n\n <!-- Roles Column -->\n <ng-container matColumnDef=\"roles\">\n <th mat-header-cell *matHeaderCellDef> Role </th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex justify-content-start align-items-center gap-1 flex-wrap text-light\">\n <span *ngFor=\"let role of element?.roles\" class=\"badge bg-secondary\">\n {{ role?.label }}\n </span>\n </div>\n </td>\n </ng-container>\n\n <!-- Last Login Column -->\n <ng-container matColumnDef=\"last_login\">\n <th mat-header-cell *matHeaderCellDef> Last Login </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.last_login | date:'medium' }}</td>\n </ng-container>\n\n <!-- Added By Column -->\n <ng-container matColumnDef=\"added_by\">\n <th mat-header-cell *matHeaderCellDef> Added By </th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\">{{ element?.creator?.name }}</p>\n <p class=\"text-secondary\">{{ element?.created_at | date }}</p>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Action </th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-row justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon role='button' name=\"view\" class=\"clickable\" [routerLink]=\"[getUserViewRoute(element)]\"\n matTooltip=\"View\"></app-techlify-icon>\n\n <app-techlify-form-button [component]=\"userFormComponent\" [model]=\"element\" class=\"clickable\"\n [data]=\"{client_id: clientId ?? currentUser?.client_id}\" matTooltip=\"Edit\"\n *ngIf=\"currentUserService.hasPermission('user_update')\"\n (saved)=\"modelsUpdatedById($event)\"></app-techlify-form-button>\n\n <app-techlify-delete-button\n *ngIf=\"currentUserService.hasPermission('user_delete') && element?.id !== currentUser?.id\"\n [model]=\"element\" [service]=\"service\" [data]=\"{title: element?.name, type: 'user'}\"\n (deleted)=\"modelsDeletedById(element)\"></app-techlify-delete-button>\n\n <app-techlify-icon role='button'\n *ngIf=\"currentUserService.hasPermission('techlify_rbac.user.reset_password')\" name=\"reset\"\n class=\"clickable\" (click)=\"resetPassword(element)\" matTooltip=\"Reset User Password\"></app-techlify-icon>\n\n <app-user-enable-button [user]=\"element\" (onSave)=\"modelsUpdatedById($event)\"></app-user-enable-button>\n </div>\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 <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </mat-card-content>\n </mat-card>\n</div>", dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i12.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i12.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i13.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i13.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i13.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i13.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i13.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i13.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i13.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i13.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i13.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i13.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i14.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i14.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i15.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i16.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i16.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i17.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i18.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "isEmitInitialEvent", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange", "isItemsEmpty"] }, { kind: "component", type: i19.TechlifyDeleteButtonComponent, selector: "app-techlify-delete-button", inputs: ["data", "model", "message", "service"], outputs: ["deleted", "loading"] }, { kind: "component", type: i20.TechlifyFormButtonComponent, selector: "app-techlify-form-button", inputs: ["component", "model", "data", "width"], outputs: ["saved"] }, { kind: "component", type: i21.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i22.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: UserEnableButtonModule }, { kind: "component", type: i23.UserEnableButtonComponent, selector: "app-user-enable-button", inputs: ["user", "isUseIcons"], outputs: ["onSave"] }] }); }
136
- };
137
- AppAdminUserList = __decorate([
138
- UntilDestroy()
139
- ], AppAdminUserList);
140
- export { AppAdminUserList };
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserList, decorators: [{
142
- type: Component,
143
- args: [{ selector: 'app-admin-user-list', standalone: true, imports: [
144
- SharedModule,
145
- RouterModule,
146
- UserEnableButtonModule
147
- ], template: "<div [ngClass]=\"{'m-4':config?.userConfig?.showDefaultMargin}\">\n <mat-card class=\"mb-2\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center gap-2\">\n <section class=\"d-flex justify-content-start align-items-center gap-2\">\n <h5 class=\"mb-0\"> {{ title }} </h5>\n <app-techlify-form-button [component]=\"userFormComponent\" matTooltip=\"New User\"\n [data]=\"{client_id: clientId ?? currentUser?.client_id}\"\n *ngIf=\"config?.userConfig?.showAddUser && currentUserService?.hasPermission('user_create')\"\n (saved)=\"modelCreated($event)\"></app-techlify-form-button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../import']\"\n *ngIf=\"config?.userConfig?.showImportButton && currentUserService?.hasPermission('user_create')\">\n Import User\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../roles']\" *ngIf=\"config?.userConfig?.showRoles\">\n <mat-icon>people</mat-icon>\n Roles\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../role-permissions']\"\n *ngIf=\"config?.userConfig?.showPermissions\">\n <mat-icon>lock</mat-icon>\n Role Permissions\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../configurations']\"\n *ngIf=\"config?.userConfig?.showConfigurations && currentUser?.user_type_id === 2\">\n <mat-icon>\n <span class=\"material-icons-outlined\">\n toggle_on\n </span>\n </mat-icon>\n Configurations\n </button>\n <button mat-raised-button type=\"button\" [routerLink]=\"['../restrictors']\"\n *ngIf=\"config?.userConfig?.showRestrictors && currentUser?.user_type_id === 2\">\n <mat-icon>\n <span class=\"material-icons-outlined\">\n vpn_lock\n </span>\n </mat-icon>\n Restrictors\n </button>\n </section>\n <form [formGroup]=\"filterForm\" class=\"d-flex flex-row justify-content-center align-items-center gap-2\">\n <mat-form-field appearance=\"outline\" class='fl-md'>\n <mat-label>Search</mat-label>\n <input autocomplete=\"off\" matInput type=\"text\" name=\"search\" placeholder=\"Search by name, email\"\n formControlName=\"search\">\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class='fl-sm'>\n <mat-label>Role</mat-label>\n <app-searchable-selector apiUrl=\"api/roles\" [multiple]=\"true\" formControlName=\"role_ids\"\n titleField=\"label\"></app-searchable-selector>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class='fl-sm'>\n <mat-label>User Type</mat-label>\n <app-searchable-selector apiUrl=\"api/user-types\" [multiple]=\"true\" formControlName=\"user_type_ids\"\n titleField=\"title\"></app-searchable-selector>\n </mat-form-field>\n <mat-button-toggle-group class='mb-4' [hideSingleSelectionIndicator]=\"true\"\n [hideMultipleSelectionIndicator]=\"true\" formControlName=\"status\" multiple>\n <mat-button-toggle value=\"enabled\">Enabled</mat-button-toggle>\n <mat-button-toggle value=\"disabled\">Disabled</mat-button-toggle>\n </mat-button-toggle-group>\n </form>\n </mat-card-content>\n </mat-card>\n <mat-card class=\"mt-2 p-0\">\n <mat-card-content>\n <table mat-table [dataSource]=\"models\" class=\"w-100\" aria-describedby=\"Users\" infiniteScroll\n [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"50\" [infiniteScrollContainer]=\"scrollContainer\"\n [fromRoot]=\"true\" (scrolled)=\"onScroll()\" matSort (matSortChange)=\"sortColumn($event)\">\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\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 mat-sort-header=\"name\" *matHeaderCellDef> Name </th>\n <td mat-cell *matCellDef=\"let element\">\n <a [routerLink]=\"[element?.id]\" class=\"text-decoration-none\">\n {{ element.name }}\n </a>\n <p class=\"mb-0 text-secondary\">\n <!-- !element?.user_client condition added to check if user has user_client record -->\n {{ !element?.user_client ? '' : element?.user_client?.is_enabled ? 'Enabled' : 'Disabled' }}\n </p>\n </td>\n </ng-container>\n\n <!-- Email Column -->\n <ng-container matColumnDef=\"email\">\n <th mat-header-cell mat-sort-header=\"email\" *matHeaderCellDef> Email </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.email}} </td>\n </ng-container>\n\n <!-- Type Column -->\n <ng-container matColumnDef=\"type\">\n <th mat-header-cell mat-sort-header=\"user_type_id\" *matHeaderCellDef> User Type </th>\n <td mat-cell *matCellDef=\"let element\"> {{ getUserType(element) }} </td>\n </ng-container>\n\n <!-- Roles Column -->\n <ng-container matColumnDef=\"roles\">\n <th mat-header-cell *matHeaderCellDef> Role </th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex justify-content-start align-items-center gap-1 flex-wrap text-light\">\n <span *ngFor=\"let role of element?.roles\" class=\"badge bg-secondary\">\n {{ role?.label }}\n </span>\n </div>\n </td>\n </ng-container>\n\n <!-- Last Login Column -->\n <ng-container matColumnDef=\"last_login\">\n <th mat-header-cell *matHeaderCellDef> Last Login </th>\n <td mat-cell *matCellDef=\"let element\">{{ element?.last_login | date:'medium' }}</td>\n </ng-container>\n\n <!-- Added By Column -->\n <ng-container matColumnDef=\"added_by\">\n <th mat-header-cell *matHeaderCellDef> Added By </th>\n <td mat-cell *matCellDef=\"let element\">\n <p class=\"mb-0\">{{ element?.creator?.name }}</p>\n <p class=\"text-secondary\">{{ element?.created_at | date }}</p>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Action </th>\n <td mat-cell *matCellDef=\"let element\">\n <div class=\"d-flex flex-row justify-content-start align-items-center gap-2 text-secondary\">\n <app-techlify-icon role='button' name=\"view\" class=\"clickable\" [routerLink]=\"[getUserViewRoute(element)]\"\n matTooltip=\"View\"></app-techlify-icon>\n\n <app-techlify-form-button [component]=\"userFormComponent\" [model]=\"element\" class=\"clickable\"\n [data]=\"{client_id: clientId ?? currentUser?.client_id}\" matTooltip=\"Edit\"\n *ngIf=\"currentUserService.hasPermission('user_update')\"\n (saved)=\"modelsUpdatedById($event)\"></app-techlify-form-button>\n\n <app-techlify-delete-button\n *ngIf=\"currentUserService.hasPermission('user_delete') && element?.id !== currentUser?.id\"\n [model]=\"element\" [service]=\"service\" [data]=\"{title: element?.name, type: 'user'}\"\n (deleted)=\"modelsDeletedById(element)\"></app-techlify-delete-button>\n\n <app-techlify-icon role='button'\n *ngIf=\"currentUserService.hasPermission('techlify_rbac.user.reset_password')\" name=\"reset\"\n class=\"clickable\" (click)=\"resetPassword(element)\" matTooltip=\"Reset User Password\"></app-techlify-icon>\n\n <app-user-enable-button [user]=\"element\" (onSave)=\"modelsUpdatedById($event)\"></app-user-enable-button>\n </div>\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 <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </mat-card-content>\n </mat-card>\n</div>" }]
148
- }], ctorParameters: () => [{ type: i1.AlertService }, { type: i2.CurrentUserService }, { type: i3.UserConfigService }, { type: i4.UserService }, { type: i5.UntypedFormBuilder }], propDecorators: { clientId: [{
149
- type: Input
150
- }], userTypeIds: [{
151
- type: Input
152
- }], title: [{
153
- type: Input
154
- }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFkbWluLXVzZXItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3VzZXIvYXBwLWFkbWluLXVzZXItbGlzdC9hcHAtYWRtaW4tdXNlci1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci9hcHAtYWRtaW4tdXNlci1saXN0L2FwcC1hZG1pbi11c2VyLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXJELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBSXJFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWE1RixJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFpQixTQUFRLHFCQUFxQjtJQXlCekQsWUFDVSxZQUEwQixFQUMzQixrQkFBc0MsRUFDdEMsaUJBQW9DLEVBQ3hCLE9BQW9CLEVBQy9CLEVBQXNCO1FBRTlCLEtBQUssRUFBRSxDQUFDO1FBTkEsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDM0IsdUJBQWtCLEdBQWxCLGtC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Q0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixVQUFVLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBbUIsQ0FBQSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakcsQ0FBQztRQUNELE9BQU8sVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBUztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7YUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO2FBQzVDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLDJCQUEyQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQzsrR0F4SFUsZ0JBQWdCO21HQUFoQixnQkFBZ0Isb0xDM0I3Qix5MVFBa0tNLDJDRDVJRixZQUFZLHN3TUFDWixZQUFZLGdSQUNaLHNCQUFzQjs7QUFHYixnQkFBZ0I7SUFYNUIsWUFBWSxFQUFFO0dBV0YsZ0JBQWdCLENBeUg1Qjs7NEZBekhZLGdCQUFnQjtrQkFWNUIsU0FBUzsrQkFDRSxxQkFBcUIsY0FFbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixzQkFBc0I7cUJBQ3ZCOzZNQUtRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBDdXJyZW50VXNlclNlcnZpY2UgfSBmcm9tICcuLi9jdXJyZW50LXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3VzZXItZm9ybS91c2VyLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpVXNlckNvbmZpZywgVXNlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWNvbmZpZyc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFVzZXJUeXBlRW51bSB9IGZyb20gJy4uL3VzZXItdHlwZS5lbnVtJztcbmltcG9ydCB7IFRlY2hsaWZ5TGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbW9kZWwnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBVc2VyRW5hYmxlQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vdXNlci1lbmFibGUtYnV0dG9uLWNvbXBvbmVudC91c2VyLWVuYWJsZS1idXR0b24ubW9kdWxlJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWRtaW4tdXNlci1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcC1hZG1pbi11c2VyLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgU2hhcmVkTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBVc2VyRW5hYmxlQnV0dG9uTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwQWRtaW5Vc2VyTGlzdCBleHRlbmRzIFRlY2hsaWZ5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLy8gRm9yIGFkbWluIHBhZ2Ugd2UgbmVlZCB0byBwYXNzIHRoZSBjbGllbnQgSWRcbiAgQElucHV0KCkgY2xpZW50SWQ6IG51bWJlcjtcbiAgQElucHV0KCkgdXNlclR5cGVJZHM6IG51bWJlcltdID0gW107XG5cbiAgY3VycmVudFVzZXI6IFVzZXI7XG4gIGNvbmZpZzogTXVsdGlVc2VyQ29uZmlnO1xuICB1c2VyOiBVc2VyO1xuICBASW5wdXQoKSB0aXRsZSA9ICdVc2VyIE1hbmFnZW1lbnQnO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcbiAgICAnaW5kZXgnLFxuICAgICduYW1lJyxcbiAgICAnZW1haWwnLFxuICAgICd0eXBlJyxcbiAgICAncm9sZXMnLFxuICAgICdsYXN0X2xvZ2luJyxcbiAgICAnYWRkZWRfYnknLFxuICAgICdhY3Rpb25zJ1xuICBdO1xuXG4gIHNjcm9sbENvbnRhaW5lciA9ICcubWF0LXNpZGVuYXYtY29udGVudCc7XG4gIG1vZGVsczogYW55W10gPSBbXTtcbiAgdXNlckZvcm1Db21wb25lbnQgPSBVc2VyRm9ybUNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBjdXJyZW50VXNlclNlcnZpY2U6IEN1cnJlbnRVc2VyU2VydmljZSxcbiAgICBwdWJsaWMgdXNlckNvbmZpZ1NlcnZpY2U6IFVzZXJDb25maWdTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLnVzZXJDb25maWdTZXJ2aWNlLmdldENvbmZpZygpO1xuXG4gICAgdGhpcy5maWx0ZXJGb3JtQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgIHJvbGVfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgICBzdGF0dXM6IHsgbXVsdGlwbGU6IHRydWUgfSxcbiAgICAgIHVzZXJfdHlwZV9pZHM6IHsgbXVsdGlwbGU6IHRydWUgfVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5jb25maWc/LnNjcm9sbENvbnRhaW5lcikge1xuICAgICAgLy8gU2V0IHRvIG51bGwgaWYgc2Nyb2xsIGhhcyB0byBiZSBkb25lIGZyb20gcm9vdFxuICAgICAgdGhpcy5zY3JvbGxDb250YWluZXIgPSB0aGlzLmNvbmZpZz8uc2Nyb2xsQ29udGFpbmVyID09PSAncm9vdCcgPyBudWxsIDogdGhpcy5jb25maWc/LnNjcm9sbENvbnRhaW5lcjtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvL0luaXRpYWxpemUgZm9ybSBpbiBPbkluaXQuXG4gICAgLy9PbiBjb25zdHJ1Y3RvciBJbnB1dCgpIHZhcmlhYmxlcyB3aWxsIGJlIG51bGwsIHRoYXQgd2lsbCBpbnRyb2R1Y2UgYSBpc3N1ZSBmb3IgYWRtaW4gdmlld1xuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgcm9sZV9pZHM6IFsnJ10sXG4gICAgICBzdGF0dXM6IFsnZW5hYmxlZCddLFxuICAgICAgc29ydF9ieTogWydpZHxBU0MnXSxcbiAgICAgIHJlbGF0aW9uczogWydyb2xlcyx0eXBlLHVzZXJDbGllbnRzLnR5cGUsY3JlYXRvcix1c2VyQ2xpZW50J10sXG4gICAgICBhcHBlbmRzOiBbJ2xhc3RfbG9naW4nXSxcbiAgICAgIGNsaWVudF9pZDogW3RoaXMuY2xpZW50SWRdLFxuICAgICAgdXNlcl90eXBlX2lkczogdGhpcy51c2VyVHlwZUlkcy50b1N0cmluZygpXG4gICAgfSk7XG5cbiAgICB0aGlzLmN1cnJlbnRVc2VyID0gdGhpcy5jdXJyZW50VXNlclNlcnZpY2UuZ2V0VXNlcigpO1xuXG4gICAgdGhpcy5wYXRjaEZpbHRlcnNGcm9tUm91dGUoKTtcbiAgICB0aGlzLmxpc3RlbkZpbHRlckNoYW5nZXMoKTtcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBnZXRVc2VyVmlld1JvdXRlKHVzZXI6IGFueSkge1xuICAgIHJldHVybiBgJHt1c2VyLmlkfS9hcHAtYWRtaW4tdmlld2A7XG4gIH1cblxuICBvdmVycmlkZSBsb2FkRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgY29uc3QgY2xpZW50SWQgPSB0aGlzLmNsaWVudElkID8/IHRoaXMuY3VycmVudFVzZXI/LmNsaWVudF9pZDtcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAuLi50aGlzLmZpbHRlckZvcm0udmFsdWUsXG4gICAgICBzdGF0dXM6IHRoaXMuZmlsdGVyRm9ybS52YWx1ZS5zdGF0dXMgPyB0aGlzLmZpbHRlckZvcm0udmFsdWUuc3RhdHVzLnRvU3RyaW5nKCkgOiAnJyxcbiAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgIHJvbGVfaWRzOiB0aGlzLmZpbHRlckZvcm0/LnZhbHVlPy5yb2xlX2lkcz8udG9TdHJpbmcoKSxcbiAgICAgIHVzZXJfdHlwZV9pZHM6IHRoaXMuZmlsdGVyRm9ybT8udmFsdWU/LnVzZXJfdHlwZV9pZHM/LnRvU3RyaW5nKClcbiAgICB9O1xuXG4gICAgdGhpcy5zZXJ2aWNlLmluZGV4KHBhcmFtcykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1vZGVscyA9IHRoaXMubW9kZWxzLmNvbmNhdChyZXN1bHQ/LmRhdGEpO1xuICAgICAgICB0aGlzLmxhc3RQYWdlID0gcmVzdWx0Py5sYXN0X3BhZ2U7XG5cbiAgICAgICAgdGhpcy5tb2RlbHMuZm9yRWFjaCgodXNlckRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNsaWVudDogYW55ID0gKHVzZXJEYXRhPy51c2VyX2NsaWVudHMgYXMgYW55W10gfHwgW10pXG4gICAgICAgICAgICAuZmluZCgodXNlckNsaWVudDogYW55KSA9PiB1c2VyQ2xpZW50LmNsaWVudF9pZCA9PT0gY2xpZW50SWQgJiYgdXNlckNsaWVudC51c2VyX2lkID09PSB1c2VyRGF0YS5pZCk7XG4gICAgICAgICAgaWYgKGNsaWVudCkge1xuICAgICAgICAgICAgdXNlckRhdGEudXNlcl90eXBlX2lkID0gY2xpZW50LnVzZXJfdHlwZV9pZDtcbiAgICAgICAgICAgIHVzZXJEYXRhLmNsaWVudF9pZCA9IGNsaWVudC5jbGllbnRfaWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5pc1dvcmtpbmcgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB1c2VyIHR5cGUgZm9yIHRoZSBjdXJyZW50IGNsaWVudC5cbiAgICpcbiAgICogQHBhcmFtIHVzZXIgVXNlclxuICAgKi9cbiAgZ2V0VXNlclR5cGUodXNlcjogYW55KTogc3RyaW5nIHtcbiAgICBsZXQgdXNlckNsaWVudDogYW55O1xuICAgIGlmICghIXRoaXMuY2xpZW50SWQpIHtcbiAgICAgIHVzZXJDbGllbnQgPSAodXNlcj8udXNlcl9jbGllbnRzIGFzIFtdKS5maW5kKChpdGVtOiBhbnkpID0+IGl0ZW0/LmNsaWVudF9pZCA9PT0gdGhpcy5jbGllbnRJZCk7XG4gICAgfVxuICAgIHJldHVybiB1c2VyQ2xpZW50Py50eXBlPy50aXRsZSB8fCAnJztcbiAgfVxuXG4gIHJlc2V0UGFzc3dvcmQodXNlcjogYW55KSB7XG4gICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgIHRoaXMuc2VydmljZS5yZXNldFBhc3N3b3JkKHVzZXIpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzV29ya2luZyA9IGZhbHNlKSlcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnUGFzc3dvcmQgcmVzZXQgZW1haWwgc2VudCcsICdzdWNjZXNzJykpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsnbS00Jzpjb25maWc/LnVzZXJDb25maWc/LnNob3dEZWZhdWx0TWFyZ2lufVwiPlxuICA8bWF0LWNhcmQgY2xhc3M9XCJtYi0yXCI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgIDxoNSBjbGFzcz1cIm1iLTBcIj4ge3sgdGl0bGUgfX0gPC9oNT5cbiAgICAgICAgPGFwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbiBbY29tcG9uZW50XT1cInVzZXJGb3JtQ29tcG9uZW50XCIgbWF0VG9vbHRpcD1cIk5ldyBVc2VyXCJcbiAgICAgICAgICBbZGF0YV09XCJ7Y2xpZW50X2lkOiBjbGllbnRJZCA/PyBjdXJyZW50VXNlcj8uY2xpZW50X2lkfVwiXG4gICAgICAgICAgKm5nSWY9XCJjb25maWc/LnVzZXJDb25maWc/LnNob3dBZGRVc2VyICYmIGN1cnJlbnRVc2VyU2VydmljZT8uaGFzUGVybWlzc2lvbigndXNlcl9jcmVhdGUnKVwiXG4gICAgICAgICAgKHNhdmVkKT1cIm1vZGVsQ3JlYXRlZCgkZXZlbnQpXCI+PC9hcHAtdGVjaGxpZnktZm9ybS1idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFtyb3V0ZXJMaW5rXT1cIlsnLi4vaW1wb3J0J11cIlxuICAgICAgICAgICpuZ0lmPVwiY29uZmlnPy51c2VyQ29uZmlnPy5zaG93SW1wb3J0QnV0dG9uICYmIGN1cnJlbnRVc2VyU2VydmljZT8uaGFzUGVybWlzc2lvbigndXNlcl9jcmVhdGUnKVwiPlxuICAgICAgICAgIEltcG9ydCBVc2VyXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbcm91dGVyTGlua109XCJbJy4uL3JvbGVzJ11cIiAqbmdJZj1cImNvbmZpZz8udXNlckNvbmZpZz8uc2hvd1JvbGVzXCI+XG4gICAgICAgICAgPG1hdC1pY29uPnBlb3BsZTwvbWF0LWljb24+XG4gICAgICAgICAgUm9sZXNcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFtyb3V0ZXJMaW5rXT1cIlsnLi4vcm9sZS1wZXJtaXNzaW9ucyddXCJcbiAgICAgICAgICAqbmdJZj1cImNvbmZpZz8udXNlckNvbmZpZz8uc2hvd1Blcm1pc3Npb25zXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmxvY2s8L21hdC1pY29uPlxuICAgICAgICAgIFJvbGUgUGVybWlzc2lvbnNcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIFtyb3V0ZXJMaW5rXT1cIlsnLi4vY29uZmlndXJhdGlvbnMnXVwiXG4gICAgICAgICAgKm5nSWY9XCJjb25maWc/LnVzZXJDb25maWc/LnNob3dDb25maWd1cmF0aW9ucyAmJiBjdXJyZW50VXNlcj8udXNlcl90eXBlX2lkID09PSAyXCI+XG4gICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxuICAgICAgICAgICAgICB0b2dnbGVfb25cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIENvbmZpZ3VyYXRpb25zXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBbcm91dGVyTGlua109XCJbJy4uL3Jlc3RyaWN0b3JzJ11cIlxuICAgICAgICAgICpuZ0lmPVwiY29uZmlnPy51c2VyQ29uZmlnPy5zaG93UmVzdHJpY3RvcnMgJiYgY3VycmVudFVzZXI/LnVzZXJfdHlwZV9pZCA9PT0gMlwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5cbiAgICAgICAgICAgICAgdnBuX2xvY2tcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIFJlc3RyaWN0b3JzXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9zZWN0aW9uPlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCIgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9J2ZsLW1kJz5cbiAgICAgICAgICA8bWF0LWxhYmVsPlNlYXJjaDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBieSBuYW1lLCBlbWFpbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9J2ZsLXNtJz5cbiAgICAgICAgICA8bWF0LWxhYmVsPlJvbGU8L21hdC1sYWJlbD5cbiAgICAgICAgICA8YXBwLXNlYXJjaGFibGUtc2VsZWN0b3IgYXBpVXJsPVwiYXBpL3JvbGVzXCIgW211bHRpcGxlXT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJyb2xlX2lkc1wiXG4gICAgICAgICAgICB0aXRsZUZpZWxkPVwibGFiZWxcIj48L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz0nZmwtc20nPlxuICAgICAgICAgIDxtYXQtbGFiZWw+VXNlciBUeXBlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGFwaVVybD1cImFwaS91c2VyLXR5cGVzXCIgW211bHRpcGxlXT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VyX3R5cGVfaWRzXCJcbiAgICAgICAgICAgIHRpdGxlRmllbGQ9XCJ0aXRsZVwiPjwvYXBwLXNlYXJjaGFibGUtc2VsZWN0b3I+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBjbGFzcz0nbWItNCcgW2hpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgW2hpZGVNdWx0aXBsZVNlbGVjdGlvbkluZGljYXRvcl09XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCIgbXVsdGlwbGU+XG4gICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwiZW5hYmxlZFwiPkVuYWJsZWQ8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSB2YWx1ZT1cImRpc2FibGVkXCI+RGlzYWJsZWQ8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgICAgPC9mb3JtPlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgPC9tYXQtY2FyZD5cbiAgPG1hdC1jYXJkIGNsYXNzPVwibXQtMiBwLTBcIj5cbiAgICA8bWF0LWNhcmQtY29udGVudD5cbiAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwibW9kZWxzXCIgY2xhc3M9XCJ3LTEwMFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJVc2Vyc1wiIGluZmluaXRlU2Nyb2xsXG4gICAgICAgIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIFtpbmZpbml0ZVNjcm9sbENvbnRhaW5lcl09XCJzY3JvbGxDb250YWluZXJcIlxuICAgICAgICBbZnJvbVJvb3RdPVwidHJ1ZVwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCIgbWF0U29ydCAobWF0U29ydENoYW5nZSk9XCJzb3J0Q29sdW1uKCRldmVudClcIj5cbiAgICAgICAgPCEtLSBJbmRleCBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gaW5kZXg7XCI+IHt7IGkgKyAxIH19IDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDwhLS0gTmFtZSBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibmFtZVwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgbWF0LXNvcnQtaGVhZGVyPVwibmFtZVwiICptYXRIZWFkZXJDZWxsRGVmPiBOYW1lIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIltlbGVtZW50Py5pZF1cIiBjbGFzcz1cInRleHQtZGVjb3JhdGlvbi1ub25lXCI+XG4gICAgICAgICAgICAgIHt7IGVsZW1lbnQubmFtZSB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJtYi0wIHRleHQtc2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgIDwhLS0gIWVsZW1lbnQ/LnVzZXJfY2xpZW50IGNvbmRpdGlvbiBhZGRlZCB0byBjaGVjayBpZiB1c2VyIGhhcyB1c2VyX2NsaWVudCByZWNvcmQgLS0+XG4gICAgICAgICAgICAgIHt7ICFlbGVtZW50Py51c2VyX2NsaWVudCA/ICcnIDogZWxlbWVudD8udXNlcl9jbGllbnQ/LmlzX2VuYWJsZWQgPyAnRW5hYmxlZCcgOiAnRGlzYWJsZWQnIH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBFbWFpbCBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZW1haWxcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsIG1hdC1zb3J0LWhlYWRlcj1cImVtYWlsXCIgKm1hdEhlYWRlckNlbGxEZWY+IEVtYWlsIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LmVtYWlsfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBUeXBlIENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0eXBlXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCBtYXQtc29ydC1oZWFkZXI9XCJ1c2VyX3R5cGVfaWRcIiAqbWF0SGVhZGVyQ2VsbERlZj4gVXNlciBUeXBlIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3sgZ2V0VXNlclR5cGUoZWxlbWVudCkgfX0gPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBSb2xlcyBDb2x1bW4gLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicm9sZXNcIj5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBSb2xlIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMSBmbGV4LXdyYXAgdGV4dC1saWdodFwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgcm9sZSBvZiBlbGVtZW50Py5yb2xlc1wiIGNsYXNzPVwiYmFkZ2UgYmctc2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAge3sgcm9sZT8ubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBMYXN0IExvZ2luIENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJsYXN0X2xvZ2luXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gTGFzdCBMb2dpbiA8L3RoPlxuICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+e3sgZWxlbWVudD8ubGFzdF9sb2dpbiB8IGRhdGU6J21lZGl1bScgfX08L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8IS0tIEFkZGVkIEJ5IENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhZGRlZF9ieVwiPlxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFkZGVkIEJ5IDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwibWItMFwiPnt7IGVsZW1lbnQ/LmNyZWF0b3I/Lm5hbWUgfX08L3A+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+e3sgZWxlbWVudD8uY3JlYXRlZF9hdCB8IGRhdGUgfX08L3A+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPCEtLSBBY3Rpb25zIENvbHVtbiAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9uIDwvdGg+XG4gICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWljb24gcm9sZT0nYnV0dG9uJyBuYW1lPVwidmlld1wiIGNsYXNzPVwiY2xpY2thYmxlXCIgW3JvdXRlckxpbmtdPVwiW2dldFVzZXJWaWV3Um91dGUoZWxlbWVudCldXCJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiVmlld1wiPjwvYXBwLXRlY2hsaWZ5LWljb24+XG5cbiAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbiBbY29tcG9uZW50XT1cInVzZXJGb3JtQ29tcG9uZW50XCIgW21vZGVsXT1cImVsZW1lbnRcIiBjbGFzcz1cImNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwie2NsaWVudF9pZDogY2xpZW50SWQgPz8gY3VycmVudFVzZXI/LmNsaWVudF9pZH1cIiBtYXRUb29sdGlwPVwiRWRpdFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50VXNlclNlcnZpY2UuaGFzUGVybWlzc2lvbigndXNlcl91cGRhdGUnKVwiXG4gICAgICAgICAgICAgICAgKHNhdmVkKT1cIm1vZGVsc1VwZGF0ZWRCeUlkKCRldmVudClcIj48L2FwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbj5cblxuICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImN1cnJlbnRVc2VyU2VydmljZS5oYXNQZXJtaXNzaW9uKCd1c2VyX2RlbGV0ZScpICYmIGVsZW1lbnQ/LmlkICE9PSBjdXJyZW50VXNlcj8uaWRcIlxuICAgICAgICAgICAgICAgIFttb2RlbF09XCJlbGVtZW50XCIgW3NlcnZpY2VdPVwic2VydmljZVwiIFtkYXRhXT1cInt0aXRsZTogZWxlbWVudD8ubmFtZSwgdHlwZTogJ3VzZXInfVwiXG4gICAgICAgICAgICAgICAgKGRlbGV0ZWQpPVwibW9kZWxzRGVsZXRlZEJ5SWQoZWxlbWVudClcIj48L2FwcC10ZWNobGlmeS1kZWxldGUtYnV0dG9uPlxuXG4gICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktaWNvbiByb2xlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjdXJyZW50VXNlclNlcnZpY2UuaGFzUGVybWlzc2lvbigndGVjaGxpZnlfcmJhYy51c2VyLnJlc2V0X3Bhc3N3b3JkJylcIiBuYW1lPVwicmVzZXRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xpY2thYmxlXCIgKGNsaWNrKT1cInJlc2V0UGFzc3dvcmQoZWxlbWVudClcIiBtYXRUb29sdGlwPVwiUmVzZXQgVXNlciBQYXNzd29yZFwiPjwvYXBwLXRlY2hsaWZ5LWljb24+XG5cbiAgICAgICAgICAgICAgPGFwcC11c2VyLWVuYWJsZS1idXR0b24gW3VzZXJdPVwiZWxlbWVudFwiIChvblNhdmUpPVwibW9kZWxzVXBkYXRlZEJ5SWQoJGV2ZW50KVwiPjwvYXBwLXVzZXItZW5hYmxlLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJpc1dvcmtpbmdcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDwvbWF0LWNhcmQ+XG48L2Rpdj4iXX0=
@@ -1,52 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { UserTypeEnum } from '../user-type.enum';
3
- import { UserFormComponent } from '../user-form/user-form.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../user.service";
6
- import * as i2 from "@angular/router";
7
- import * as i3 from "../../core";
8
- import * as i4 from "../current-user.service";
9
- import * as i5 from "@angular/common";
10
- import * as i6 from "@angular/material/button";
11
- import * as i7 from "@angular/material/tabs";
12
- import * as i8 from "../../form-button/techlify-form-button.component";
13
- import * as i9 from "../../login-history-for-user/login-history-for-user.component";
14
- import * as i10 from "../../audit-log/audit-log-list/audit-log-list.component";
15
- import * as i11 from "../../user-clients-list/user-clients-list.component";
16
- import * as i12 from "../user-sessions/user-sessions/user-sessions.component";
17
- export class AppAdminUserViewComponent {
18
- constructor(userService, route, config, http, currentUserService) {
19
- this.userService = userService;
20
- this.route = route;
21
- this.config = config;
22
- this.http = http;
23
- this.currentUserService = currentUserService;
24
- this.userFormComponent = UserFormComponent;
25
- this.UserTypeEnum = UserTypeEnum;
26
- this.currentUser = this.currentUserService.getUser();
27
- }
28
- ngOnInit() {
29
- this.route.params.subscribe(params => {
30
- if (params.id !== undefined) {
31
- this.loadUser(params.id);
32
- }
33
- });
34
- }
35
- loadUser(userId) {
36
- this.userService.getUser(userId).then((result) => {
37
- this.user = result.item;
38
- });
39
- }
40
- enableOrDisableUser(action) {
41
- this.http.patch('api/users/' + this.user.id + '/' + action, this.user).toPromise().then((res) => {
42
- this.user.user_client = res.item.user_client;
43
- });
44
- }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewComponent, deps: [{ token: i1.UserService }, { token: i2.ActivatedRoute }, { token: i3.ConfigService }, { token: i3.HttpService }, { token: i4.CurrentUserService }], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AppAdminUserViewComponent, selector: "app-admin-user-view", ngImport: i0, template: "<div class=\"mat-typography m-4\" *ngIf=\"user\">\n <h1 class=\"text-center\">{{user.name}}</h1>\n\n <div class=\"border\">\n <mat-tab-group>\n <mat-tab label=\"Basic Information\">\n <ng-template matTabContent>\n <div class=\"row m-4\">\n <div class=\"col-4\">\n <div class=\"bordered-section\">\n <div class=\"row\" *ngIf=\"currentUser?.user_type_id != 3\">\n <app-techlify-form-button [component]=\"userFormComponent\" [model]=\"user\"\n [data]=\"{client_id: user?.client_id}\" (saved)=\"loadUser(user.id)\"></app-techlify-form-button>\n <button mat-stroked-button color=\"warn\" *ngIf=\"!user.user_client?.is_enabled\"\n (click)=\"enableOrDisableUser('enable')\">\n Enable\n </button>\n <button mat-stroked-button color=\"primary\" *ngIf=\"user.user_client?.is_enabled\"\n (click)=\"enableOrDisableUser('disable')\">Disable</button>\n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Name:</label>\n <div class=\"col-sm-8\">{{user?.name}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Email:</label>\n <div class=\"col-sm-8\">{{user?.email}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Type:</label>\n <div class=\"col-sm-8\">{{user?.type?.title}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Status:</label>\n <div class=\"col-sm-8\">{{user?.user_client?.is_enabled ? 'Enabled' : 'Disabled' }}\n </div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Role:</label>\n <div class=\"col-sm-8\">\n <span *ngFor=\"let role of user?.roles\">\n <button class=\"btn btn-outline-dark btn-xs mb-2\">{{role?.label}}</button>\n &nbsp;\n </span>\n </div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Signature:</label>\n <div class=\"col-sm-8\">\n <span *ngIf=\"user?.signature\">\n <img src=\"{{user?.signature_url}}\" alt=\"\" width=\"250px\" />\n </span>\n <span *ngIf=\"!user?.signature\">\n No Signature Added\n </span>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Login History\">\n <ng-template matTabContent>\n <app-login-history-for-user [userId]=\"user?.id\"></app-login-history-for-user>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Activity Logs\">\n <ng-template matTabContent>\n <app-audit-log-list objectType=\"User\" [objectId]=\"user?.id\" [showExportButtons]=\"false\">\n </app-audit-log-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Tenants\">\n <ng-template matTabContent>\n <app-user-clients-list [user]=\"user\"></app-user-clients-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Sessions\">\n <ng-template matTabContent>\n <app-user-sessions [user]=\"user\"></app-user-sessions>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i7.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: i8.TechlifyFormButtonComponent, selector: "app-techlify-form-button", inputs: ["component", "model", "data", "width"], outputs: ["saved"] }, { kind: "component", type: i9.LoginHistoryForUserComponent, selector: "app-login-history-for-user", inputs: ["userId"] }, { kind: "component", type: i10.AuditLogListComponent, selector: "app-audit-log-list", inputs: ["objectId", "objectType", "showFilter", "showExportButtons", "userId", "disableFilterPatchingFromUrl", "scrollContainer"] }, { kind: "component", type: i11.UserClientsListComponent, selector: "app-user-clients-list", inputs: ["user"] }, { kind: "component", type: i12.UserSessionsComponent, selector: "app-user-sessions", inputs: ["user"] }] }); }
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewComponent, decorators: [{
49
- type: Component,
50
- args: [{ selector: 'app-admin-user-view', template: "<div class=\"mat-typography m-4\" *ngIf=\"user\">\n <h1 class=\"text-center\">{{user.name}}</h1>\n\n <div class=\"border\">\n <mat-tab-group>\n <mat-tab label=\"Basic Information\">\n <ng-template matTabContent>\n <div class=\"row m-4\">\n <div class=\"col-4\">\n <div class=\"bordered-section\">\n <div class=\"row\" *ngIf=\"currentUser?.user_type_id != 3\">\n <app-techlify-form-button [component]=\"userFormComponent\" [model]=\"user\"\n [data]=\"{client_id: user?.client_id}\" (saved)=\"loadUser(user.id)\"></app-techlify-form-button>\n <button mat-stroked-button color=\"warn\" *ngIf=\"!user.user_client?.is_enabled\"\n (click)=\"enableOrDisableUser('enable')\">\n Enable\n </button>\n <button mat-stroked-button color=\"primary\" *ngIf=\"user.user_client?.is_enabled\"\n (click)=\"enableOrDisableUser('disable')\">Disable</button>\n </div>\n\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Name:</label>\n <div class=\"col-sm-8\">{{user?.name}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Email:</label>\n <div class=\"col-sm-8\">{{user?.email}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Type:</label>\n <div class=\"col-sm-8\">{{user?.type?.title}}</div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Status:</label>\n <div class=\"col-sm-8\">{{user?.user_client?.is_enabled ? 'Enabled' : 'Disabled' }}\n </div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Role:</label>\n <div class=\"col-sm-8\">\n <span *ngFor=\"let role of user?.roles\">\n <button class=\"btn btn-outline-dark btn-xs mb-2\">{{role?.label}}</button>\n &nbsp;\n </span>\n </div>\n </div>\n <div class=\"row\">\n <label class=\"col-sm-4 control-label\">Signature:</label>\n <div class=\"col-sm-8\">\n <span *ngIf=\"user?.signature\">\n <img src=\"{{user?.signature_url}}\" alt=\"\" width=\"250px\" />\n </span>\n <span *ngIf=\"!user?.signature\">\n No Signature Added\n </span>\n\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Login History\">\n <ng-template matTabContent>\n <app-login-history-for-user [userId]=\"user?.id\"></app-login-history-for-user>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Activity Logs\">\n <ng-template matTabContent>\n <app-audit-log-list objectType=\"User\" [objectId]=\"user?.id\" [showExportButtons]=\"false\">\n </app-audit-log-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Tenants\">\n <ng-template matTabContent>\n <app-user-clients-list [user]=\"user\"></app-user-clients-list>\n </ng-template>\n </mat-tab>\n <mat-tab label=\"Sessions\">\n <ng-template matTabContent>\n <app-user-sessions [user]=\"user\"></app-user-sessions>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n\n</div>" }]
51
- }], ctorParameters: () => [{ type: i1.UserService }, { type: i2.ActivatedRoute }, { type: i3.ConfigService }, { type: i3.HttpService }, { type: i4.CurrentUserService }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFkbWluLXVzZXItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3VzZXIvYXBwLWFkbWluLXVzZXItdmlldy9hcHAtYWRtaW4tdXNlci12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdXNlci9hcHAtYWRtaW4tdXNlci12aWV3L2FwcC1hZG1pbi11c2VyLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU1sRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUXJFLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFBb0IsV0FBd0IsRUFDbEMsS0FBcUIsRUFDdEIsTUFBcUIsRUFDcEIsSUFBaUIsRUFDbEIsa0JBQXNDO1FBSjNCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2xDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDcEIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNsQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBTS9DLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBRW5CLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBTjdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFPRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25DLElBQUksTUFBTSxDQUFDLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDbkMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUMxQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFXO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQ3JGLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMvQyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBdENVLHlCQUF5QjttR0FBekIseUJBQXlCLDJEQ2Z0QyxteEhBd0ZNOzs0RkR6RU8seUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBIdHRwU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVudFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY3VycmVudC11c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIubW9kZWwnO1xuaW1wb3J0IHsgVXNlclR5cGVFbnVtIH0gZnJvbSAnLi4vdXNlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgVXNlckZvcm1Db21wb25lbnQgfSBmcm9tICcuLi91c2VyLWZvcm0vdXNlci1mb3JtLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFkbWluLXVzZXItdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtYWRtaW4tdXNlci12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLWFkbWluLXVzZXItdmlldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFwcEFkbWluVXNlclZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcbiAgICBwdWJsaWMgY3VycmVudFVzZXJTZXJ2aWNlOiBDdXJyZW50VXNlclNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuY3VycmVudFVzZXIgPSB0aGlzLmN1cnJlbnRVc2VyU2VydmljZS5nZXRVc2VyKCk7XG4gIH1cbiAgdXNlcjogVXNlcjtcbiAgY3VycmVudFVzZXI6IFVzZXI7XG4gIHVzZXJGb3JtQ29tcG9uZW50ID0gVXNlckZvcm1Db21wb25lbnQ7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IFVzZXJUeXBlRW51bSA9IFVzZXJUeXBlRW51bTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIGlmIChwYXJhbXMuaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmxvYWRVc2VyKHBhcmFtcy5pZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBsb2FkVXNlcih1c2VySWQ6IGFueSkge1xuICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlcih1c2VySWQpLnRoZW4oXG4gICAgICAocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy51c2VyID0gcmVzdWx0Lml0ZW07XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGVuYWJsZU9yRGlzYWJsZVVzZXIoYWN0aW9uOiBhbnkpIHtcbiAgICB0aGlzLmh0dHAucGF0Y2goJ2FwaS91c2Vycy8nICsgdGhpcy51c2VyLmlkICsgJy8nICsgYWN0aW9uLCB0aGlzLnVzZXIpLnRvUHJvbWlzZSgpLnRoZW4oXG4gICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy51c2VyLnVzZXJfY2xpZW50ID0gcmVzLml0ZW0udXNlcl9jbGllbnQ7XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5IG0tNFwiICpuZ0lmPVwidXNlclwiPlxuICA8aDEgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPnt7dXNlci5uYW1lfX08L2gxPlxuXG4gIDxkaXYgY2xhc3M9XCJib3JkZXJcIj5cbiAgICA8bWF0LXRhYi1ncm91cD5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiQmFzaWMgSW5mb3JtYXRpb25cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtLTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyZWQtc2VjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cImN1cnJlbnRVc2VyPy51c2VyX3R5cGVfaWQgIT0gM1wiPlxuICAgICAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbiBbY29tcG9uZW50XT1cInVzZXJGb3JtQ29tcG9uZW50XCIgW21vZGVsXT1cInVzZXJcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ7Y2xpZW50X2lkOiB1c2VyPy5jbGllbnRfaWR9XCIgKHNhdmVkKT1cImxvYWRVc2VyKHVzZXIuaWQpXCI+PC9hcHAtdGVjaGxpZnktZm9ybS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAqbmdJZj1cIiF1c2VyLnVzZXJfY2xpZW50Py5pc19lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVuYWJsZU9yRGlzYWJsZVVzZXIoJ2VuYWJsZScpXCI+XG4gICAgICAgICAgICAgICAgICAgIEVuYWJsZVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInVzZXIudXNlcl9jbGllbnQ/LmlzX2VuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW5hYmxlT3JEaXNhYmxlVXNlcignZGlzYWJsZScpXCI+RGlzYWJsZTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTQgY29udHJvbC1sYWJlbFwiPk5hbWU6PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tOFwiPnt7dXNlcj8ubmFtZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTQgY29udHJvbC1sYWJlbFwiPkVtYWlsOjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj57e3VzZXI/LmVtYWlsfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjb2wtc20tNCBjb250cm9sLWxhYmVsXCI+VHlwZTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+e3t1c2VyPy50eXBlPy50aXRsZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTQgY29udHJvbC1sYWJlbFwiPlN0YXR1czo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+e3t1c2VyPy51c2VyX2NsaWVudD8uaXNfZW5hYmxlZCA/ICdFbmFibGVkJyA6ICdEaXNhYmxlZCcgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1zbS00IGNvbnRyb2wtbGFiZWxcIj5Sb2xlOjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLThcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHJvbGUgb2YgdXNlcj8ucm9sZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRhcmsgYnRuLXhzIG1iLTJcIj57e3JvbGU/LmxhYmVsfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLXNtLTQgY29udHJvbC1sYWJlbFwiPlNpZ25hdHVyZTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS04XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcj8uc2lnbmF0dXJlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJ7e3VzZXI/LnNpZ25hdHVyZV91cmx9fVwiIGFsdD1cIlwiIHdpZHRoPVwiMjUwcHhcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIXVzZXI/LnNpZ25hdHVyZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIE5vIFNpZ25hdHVyZSBBZGRlZFxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9tYXQtdGFiPlxuICAgICAgPG1hdC10YWIgbGFiZWw9XCJMb2dpbiBIaXN0b3J5XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgIDxhcHAtbG9naW4taGlzdG9yeS1mb3ItdXNlciBbdXNlcklkXT1cInVzZXI/LmlkXCI+PC9hcHAtbG9naW4taGlzdG9yeS1mb3ItdXNlcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICAgIDxtYXQtdGFiIGxhYmVsPVwiQWN0aXZpdHkgTG9nc1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgICAgICA8YXBwLWF1ZGl0LWxvZy1saXN0IG9iamVjdFR5cGU9XCJVc2VyXCIgW29iamVjdElkXT1cInVzZXI/LmlkXCIgW3Nob3dFeHBvcnRCdXR0b25zXT1cImZhbHNlXCI+XG4gICAgICAgICAgPC9hcHAtYXVkaXQtbG9nLWxpc3Q+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L21hdC10YWI+XG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIlRlbmFudHNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFRhYkNvbnRlbnQ+XG4gICAgICAgICAgPGFwcC11c2VyLWNsaWVudHMtbGlzdCBbdXNlcl09XCJ1c2VyXCI+PC9hcHAtdXNlci1jbGllbnRzLWxpc3Q+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L21hdC10YWI+XG4gICAgICA8bWF0LXRhYiBsYWJlbD1cIlNlc3Npb25zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRUYWJDb250ZW50PlxuICAgICAgICAgIDxhcHAtdXNlci1zZXNzaW9ucyBbdXNlcl09XCJ1c2VyXCI+PC9hcHAtdXNlci1zZXNzaW9ucz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbWF0LXRhYj5cbiAgICA8L21hdC10YWItZ3JvdXA+XG4gIDwvZGl2PlxuXG48L2Rpdj4iXX0=
@@ -1,44 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { AppAdminUserViewComponent, } from './app-admin-user-view.component';
3
- import { SharedModule } from '../../shared.module';
4
- import { LoginHistoryForUserModule } from '../../login-history-for-user/login-history-for-user.module';
5
- import { AuditLogListModule } from '../../audit-log/audit-log-list/audit-log-list.module';
6
- import { AppAdminUserViewRoutingProvider } from './app-admin-user-view.routes';
7
- import { UserClientsListModule } from '../../user-clients-list/user-clients-list.module';
8
- import { UserSessionsModule } from '../user-sessions/user-sessions/user-sessions.module';
9
- import * as i0 from "@angular/core";
10
- export class AppAdminUserViewModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewModule, declarations: [AppAdminUserViewComponent], imports: [SharedModule,
13
- LoginHistoryForUserModule,
14
- AuditLogListModule,
15
- AppAdminUserViewRoutingProvider,
16
- UserClientsListModule,
17
- UserSessionsModule], exports: [AppAdminUserViewComponent] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewModule, imports: [SharedModule,
19
- LoginHistoryForUserModule,
20
- AuditLogListModule,
21
- AppAdminUserViewRoutingProvider,
22
- UserClientsListModule,
23
- UserSessionsModule] }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewModule, decorators: [{
26
- type: NgModule,
27
- args: [{
28
- imports: [
29
- SharedModule,
30
- LoginHistoryForUserModule,
31
- AuditLogListModule,
32
- AppAdminUserViewRoutingProvider,
33
- UserClientsListModule,
34
- UserSessionsModule
35
- ],
36
- declarations: [
37
- AppAdminUserViewComponent
38
- ],
39
- exports: [
40
- AppAdminUserViewComponent
41
- ]
42
- }]
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFkbWluLXVzZXItdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3VzZXIvYXBwLWFkbWluLXVzZXItdmlldy9hcHAtYWRtaW4tdXNlci12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsR0FBRyxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQzs7QUFrQnpGLE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQU4vQix5QkFBeUIsYUFSekIsWUFBWTtZQUNaLHlCQUF5QjtZQUN6QixrQkFBa0I7WUFDbEIsK0JBQStCO1lBQy9CLHFCQUFxQjtZQUNyQixrQkFBa0IsYUFNbEIseUJBQXlCO2dIQUdoQixzQkFBc0IsWUFkL0IsWUFBWTtZQUNaLHlCQUF5QjtZQUN6QixrQkFBa0I7WUFDbEIsK0JBQStCO1lBQy9CLHFCQUFxQjtZQUNyQixrQkFBa0I7OzRGQVNULHNCQUFzQjtrQkFoQmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1oseUJBQXlCO3dCQUN6QixrQkFBa0I7d0JBQ2xCLCtCQUErQjt3QkFDL0IscUJBQXFCO3dCQUNyQixrQkFBa0I7cUJBQ25CO29CQUNELFlBQVksRUFBRTt3QkFDWix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwQWRtaW5Vc2VyVmlld0NvbXBvbmVudCwgfSBmcm9tICcuL2FwcC1hZG1pbi11c2VyLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgTG9naW5IaXN0b3J5Rm9yVXNlck1vZHVsZSB9IGZyb20gJy4uLy4uL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5tb2R1bGUnO1xuaW1wb3J0IHsgQXVkaXRMb2dMaXN0TW9kdWxlIH0gZnJvbSAnLi4vLi4vYXVkaXQtbG9nL2F1ZGl0LWxvZy1saXN0L2F1ZGl0LWxvZy1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBBcHBBZG1pblVzZXJWaWV3Um91dGluZ1Byb3ZpZGVyIH0gZnJvbSAnLi9hcHAtYWRtaW4tdXNlci12aWV3LnJvdXRlcyc7XG5pbXBvcnQgeyBVc2VyQ2xpZW50c0xpc3RNb2R1bGUgfSBmcm9tICcuLi8uLi91c2VyLWNsaWVudHMtbGlzdC91c2VyLWNsaWVudHMtbGlzdC5tb2R1bGUnO1xuaW1wb3J0IHsgVXNlclNlc3Npb25zTW9kdWxlIH0gZnJvbSAnLi4vdXNlci1zZXNzaW9ucy91c2VyLXNlc3Npb25zL3VzZXItc2Vzc2lvbnMubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFNoYXJlZE1vZHVsZSxcbiAgICBMb2dpbkhpc3RvcnlGb3JVc2VyTW9kdWxlLFxuICAgIEF1ZGl0TG9nTGlzdE1vZHVsZSxcbiAgICBBcHBBZG1pblVzZXJWaWV3Um91dGluZ1Byb3ZpZGVyLFxuICAgIFVzZXJDbGllbnRzTGlzdE1vZHVsZSxcbiAgICBVc2VyU2Vzc2lvbnNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXBwQWRtaW5Vc2VyVmlld0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXBwQWRtaW5Vc2VyVmlld0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFwcEFkbWluVXNlclZpZXdNb2R1bGUgeyB9XG4iXX0=
@@ -1,22 +0,0 @@
1
- import { RouterModule } from '@angular/router';
2
- import { NgModule } from '@angular/core';
3
- import { AppAdminUserViewComponent } from './app-admin-user-view.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- const routes = [
7
- { path: '**', component: AppAdminUserViewComponent },
8
- ];
9
- // @dynamic
10
- export class AppAdminUserViewRoutingProvider {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewRoutingProvider, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewRoutingProvider, imports: [i1.RouterModule], exports: [RouterModule] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewRoutingProvider, imports: [RouterModule.forChild(routes), RouterModule] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppAdminUserViewRoutingProvider, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [RouterModule.forChild(routes)],
19
- exports: [RouterModule]
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFkbWluLXVzZXItdmlldy5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3VzZXIvYXBwLWFkbWluLXVzZXItdmlldy9hcHAtYWRtaW4tdXNlci12aWV3LnJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBRTVFLE1BQU0sTUFBTSxHQUFXO0lBQ25CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUseUJBQXlCLEVBQUU7Q0FDdkQsQ0FBQztBQU9GLFdBQVc7QUFDWCxNQUFNLE9BQU8sK0JBQStCOytHQUEvQiwrQkFBK0I7Z0hBQS9CLCtCQUErQix3Q0FKOUIsWUFBWTtnSEFJYiwrQkFBK0IsWUFMOUIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDN0IsWUFBWTs7NEZBSWIsK0JBQStCO2tCQU4zQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwQWRtaW5Vc2VyVmlld0NvbXBvbmVudCB9IGZyb20gJy4vYXBwLWFkbWluLXVzZXItdmlldy5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAgICB7IHBhdGg6ICcqKicsIGNvbXBvbmVudDogQXBwQWRtaW5Vc2VyVmlld0NvbXBvbmVudCB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICAgIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdXG59KVxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFwcEFkbWluVXNlclZpZXdSb3V0aW5nUHJvdmlkZXIgeyB9XG4iXX0=
@@ -1,152 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject, of, map, BehaviorSubject } from 'rxjs';
3
- import { User } from './user.model';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../core/http.service";
6
- import * as i2 from "../core/storage.service";
7
- /**
8
- * Service that manages information about the current user
9
- *
10
- * @author Joshua Kissoon
11
- * @since 20170817
12
- */
13
- export class CurrentUserService {
14
- constructor(http, storage) {
15
- this.http = http;
16
- this.storage = storage;
17
- /**Deprecated stop using for new projects */
18
- this.userSub = new Subject();
19
- // Track the auth status of the user.
20
- this.isLoggedIn = new BehaviorSubject(false);
21
- }
22
- /**
23
- * Get the login status of the user.
24
- */
25
- getAuthStatus() {
26
- return this.isLoggedIn.asObservable();
27
- }
28
- /**
29
- * Update the login status of the user.
30
- *
31
- * @param val The next value of the isLoggedIn.
32
- */
33
- updateAuthStatus(val) {
34
- this.isLoggedIn.next(val);
35
- }
36
- /**
37
- * Returns an user if present, otherwise a empty user
38
- * @returns {User} user
39
- */
40
- getUser() {
41
- if (this.user) {
42
- return this.user;
43
- }
44
- this.user = new User();
45
- const userFromStorage = JSON.parse(this.storage.getItem('currentUser'));
46
- if (userFromStorage) {
47
- this.user.loadFromMap(userFromStorage);
48
- }
49
- return this.user;
50
- }
51
- /**
52
- * @deprecated Don't use for new projects, use getUserObservable() instead
53
- * @returns {Observable<User>} Observable of user once changed.
54
- */
55
- watch() {
56
- return this.userSub.asObservable();
57
- }
58
- /**
59
- * Loads the current logged in user
60
- * @deprecated use getUserObservable() instead
61
- * @param reload whether to fetch new data from server
62
- * @returns {Promise<User>} promise of user
63
- */
64
- getCurrentUser(reload = false) {
65
- let promise;
66
- if (undefined !== this.data && !reload) {
67
- promise = new Promise((resolve, reject) => {
68
- resolve(this.data);
69
- });
70
- return promise;
71
- }
72
- promise = this.http.get('api/user/current').toPromise();
73
- promise.then(res => {
74
- this.user = new User();
75
- this.data = res;
76
- this.user.loadFromMap(res.user);
77
- this.storage.setItem('currentUser', JSON.stringify(res.user));
78
- this.userSub.next(this.user);
79
- });
80
- return promise;
81
- }
82
- /**
83
- * Used to update the current user data
84
- * @param {any} userData data that needs to be updated to current user
85
- */
86
- updateCurrentUser(userData) {
87
- this.user = new User();
88
- this.data = userData;
89
- this.user.loadFromMap(userData);
90
- this.storage.setItem('currentUser', JSON.stringify(userData));
91
- this.userSub.next(this.user);
92
- }
93
- /**
94
- * @param {number} id Id of role
95
- * @returns {boolean} true if role is present
96
- */
97
- hasRole(id) {
98
- if (this.user.roles == null) {
99
- return false;
100
- }
101
- return (this.user.roles || []).some(role => role.id == id);
102
- }
103
- /**
104
- * @param {number} id Id of permission
105
- * @returns {boolean} true if permission is present
106
- */
107
- hasPermission(slug) {
108
- if (!this.user) {
109
- return false;
110
- }
111
- if (this.user.user_type_id == 1) {
112
- return true;
113
- }
114
- else {
115
- if (this.user.permissions == null) {
116
- return false;
117
- }
118
- return (this.user.permissions || []).some(permission => permission.slug == slug);
119
- }
120
- }
121
- /**
122
- * Returns the observable of user
123
- * @param {boolean} reload - whether to reload the entire user again
124
- * @returns {Observable<User>} Observable of user.
125
- */
126
- getUserObservable(reload = false) {
127
- if (this.user && !reload) {
128
- return of(this.user);
129
- }
130
- return this.http.get('api/user/current')
131
- .pipe(map((res) => {
132
- this.user = new User();
133
- this.data = res;
134
- this.user.loadFromMap(res.user);
135
- this.storage.setItem('currentUser', JSON.stringify(res.user));
136
- return this.user;
137
- }));
138
- }
139
- /**
140
- * @returns {any} Returns the raw user data
141
- */
142
- getUserData() {
143
- return this.data;
144
- }
145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrentUserService, deps: [{ token: i1.HttpService }, { token: i2.StorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
146
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrentUserService, providedIn: 'root' }); }
147
- }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrentUserService, decorators: [{
149
- type: Injectable,
150
- args: [{ providedIn: 'root' }]
151
- }], ctorParameters: () => [{ type: i1.HttpService }, { type: i2.StorageService }] });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC11c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3VzZXIvY3VycmVudC11c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFJcEM7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBUzNCLFlBQW9CLElBQWlCLEVBQVUsT0FBdUI7UUFBbEQsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBTHRFLDRDQUE0QztRQUNwQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxxQ0FBcUM7UUFDN0IsZUFBVSxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUVULENBQUM7SUFFM0U7O09BRUc7SUFDSCxhQUFhO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsR0FBWTtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxl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TTs7NEZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgbWFwLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odHRwLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBtYW5hZ2VzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IHVzZXJcbiAqXG4gKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXG4gKiBAc2luY2UgMjAxNzA4MTdcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDdXJyZW50VXNlclNlcnZpY2Uge1xuICAgIHByaXZhdGUgdXNlcjogVXNlcjtcbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKkRlcHJlY2F0ZWQgc3RvcCB1c2luZyBmb3IgbmV3IHByb2plY3RzICovXG4gICAgcHJpdmF0ZSB1c2VyU3ViID0gbmV3IFN1YmplY3Q8VXNlcj4oKTtcbiAgICAvLyBUcmFjayB0aGUgYXV0aCBzdGF0dXMgb2YgdGhlIHVzZXIuXG4gICAgcHJpdmF0ZSBpc0xvZ2dlZEluOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZVNlcnZpY2UpIHsgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBsb2dpbiBzdGF0dXMgb2YgdGhlIHVzZXIuXG4gICAgICovXG4gICAgZ2V0QXV0aFN0YXR1cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNMb2dnZWRJbi5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdGhlIGxvZ2luIHN0YXR1cyBvZiB0aGUgdXNlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWwgVGhlIG5leHQgdmFsdWUgb2YgdGhlIGlzTG9nZ2VkSW4uXG4gICAgICovXG4gICAgdXBkYXRlQXV0aFN0YXR1cyh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xvZ2dlZEluLm5leHQodmFsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIHVzZXIgaWYgcHJlc2VudCwgb3RoZXJ3aXNlIGEgZW1wdHkgdXNlclxuICAgICAqIEByZXR1cm5zIHtVc2VyfSB1c2VyXG4gICAgICovXG4gICAgZ2V0VXNlcigpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy51c2VyKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51c2VyO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXNlciA9IG5ldyBVc2VyKCk7XG4gICAgICAgIGNvbnN0IHVzZXJGcm9tU3RvcmFnZSA9IEpTT04ucGFyc2UodGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2N1cnJlbnRVc2VyJykpO1xuICAgICAgICBpZiAodXNlckZyb21TdG9yYWdlKSB7XG4gICAgICAgICAgICB0aGlzLnVzZXIubG9hZEZyb21NYXAodXNlckZyb21TdG9yYWdlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy51c2VyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERvbid0IHVzZSBmb3IgbmV3IHByb2plY3RzLCB1c2UgZ2V0VXNlck9ic2VydmFibGUoKSBpbnN0ZWFkXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8VXNlcj59IE9ic2VydmFibGUgb2YgdXNlciBvbmNlIGNoYW5nZWQuXG4gICAgICovXG4gICAgd2F0Y2goKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclN1Yi5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2FkcyB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlclxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBnZXRVc2VyT2JzZXJ2YWJsZSgpIGluc3RlYWRcbiAgICAgKiBAcGFyYW0gcmVsb2FkIHdoZXRoZXIgdG8gZmV0Y2ggbmV3IGRhdGEgZnJvbSBzZXJ2ZXJcbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTxVc2VyPn0gcHJvbWlzZSBvZiB1c2VyXG4gICAgICovXG4gICAgZ2V0Q3VycmVudFVzZXIocmVsb2FkID0gZmFsc2UpOiBhbnkge1xuICAgICAgICBsZXQgcHJvbWlzZTtcbiAgICAgICAgaWYgKHVuZGVmaW5lZCAhPT0gdGhpcy5kYXRhICYmICFyZWxvYWQpIHtcbiAgICAgICAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmRhdGEpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBwcm9taXNlO1xuICAgICAgICB9XG4gICAgICAgIHByb21pc2UgPSB0aGlzLmh0dHAuZ2V0KCdhcGkvdXNlci9jdXJyZW50JykudG9Qcm9taXNlKCk7XG5cbiAgICAgICAgcHJvbWlzZS50aGVuKFxuICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXIgPSBuZXcgVXNlcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlcztcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXIubG9hZEZyb21NYXAocmVzLnVzZXIpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKCdjdXJyZW50VXNlcicsIEpTT04uc3RyaW5naWZ5KHJlcy51c2VyKSk7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyU3ViLm5leHQodGhpcy51c2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIHRvIHVwZGF0ZSB0aGUgY3VycmVudCB1c2VyIGRhdGFcbiAgICAgKiBAcGFyYW0ge2FueX0gdXNlckRhdGEgZGF0YSB0aGF0IG5lZWRzIHRvIGJlIHVwZGF0ZWQgdG8gY3VycmVudCB1c2VyXG4gICAgICovXG4gICAgdXBkYXRlQ3VycmVudFVzZXIodXNlckRhdGE6IGFueSk6IGFueSB7XG4gICAgICAgIHRoaXMudXNlciA9IG5ldyBVc2VyKCk7XG4gICAgICAgIHRoaXMuZGF0YSA9IHVzZXJEYXRhO1xuICAgICAgICB0aGlzLnVzZXIubG9hZEZyb21NYXAodXNlckRhdGEpO1xuICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbSgnY3VycmVudFVzZXInLCBKU09OLnN0cmluZ2lmeSh1c2VyRGF0YSkpO1xuICAgICAgICB0aGlzLnVzZXJTdWIubmV4dCh0aGlzLnVzZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpZCBJZCBvZiByb2xlXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgcm9sZSBpcyBwcmVzZW50XG4gICAgICovXG4gICAgaGFzUm9sZShpZDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLnVzZXIucm9sZXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAodGhpcy51c2VyLnJvbGVzIHx8IFtdKS5zb21lKHJvbGUgPT4gcm9sZS5pZCA9PSBpZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgKiBAcGFyYW0ge251bWJlcn0gaWQgSWQgb2YgcGVybWlzc2lvblxuICAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgcGVybWlzc2lvbiBpcyBwcmVzZW50XG4gICAgKi9cbiAgICBoYXNQZXJtaXNzaW9uKHNsdWc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMudXNlcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnVzZXIudXNlcl90eXBlX2lkID09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlci5wZXJtaXNzaW9ucyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICh0aGlzLnVzZXIucGVybWlzc2lvbnMgfHwgW10pLnNvbWUocGVybWlzc2lvbiA9PiBwZXJtaXNzaW9uLnNsdWcgPT0gc2x1Zyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBvYnNlcnZhYmxlIG9mIHVzZXJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJlbG9hZCAtIHdoZXRoZXIgdG8gcmVsb2FkIHRoZSBlbnRpcmUgdXNlciBhZ2FpblxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFVzZXI+fSBPYnNlcnZhYmxlIG9mIHVzZXIuXG4gICAgICovXG4gICAgZ2V0VXNlck9ic2VydmFibGUocmVsb2FkOiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPFVzZXI+IHtcbiAgICAgICAgaWYgKHRoaXMudXNlciAmJiAhcmVsb2FkKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodGhpcy51c2VyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCgnYXBpL3VzZXIvY3VycmVudCcpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlciA9IG5ldyBVc2VyKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlcztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyLmxvYWRGcm9tTWFwKHJlcy51c2VyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oJ2N1cnJlbnRVc2VyJywgSlNPTi5zdHJpbmdpZnkocmVzLnVzZXIpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlcjtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcmV0dXJucyB7YW55fSBSZXR1cm5zIHRoZSByYXcgdXNlciBkYXRhXG4gICAgICovXG4gICAgZ2V0VXNlckRhdGEoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgICB9XG59XG4iXX0=