verben-authentication-ui 1.0.2 → 1.0.3

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 (434) hide show
  1. package/ng-package.json +8 -0
  2. package/package.json +10 -15
  3. package/src/lib/base/base-data.component.ts +86 -0
  4. package/src/lib/base/base-data.facade.ts +157 -0
  5. package/src/lib/base/base-data.service.ts +49 -0
  6. package/src/lib/base/base-data.state.ts +94 -0
  7. package/src/lib/base/models.ts +14 -0
  8. package/src/lib/components/auth-callback/auth-callback.component.css +30 -0
  9. package/src/lib/components/auth-callback/auth-callback.component.html +6 -0
  10. package/src/lib/components/auth-callback/auth-callback.component.spec.ts +23 -0
  11. package/src/lib/components/auth-callback/auth-callback.component.ts +56 -0
  12. package/src/lib/components/auth-callback/auth-callback.module.ts +10 -0
  13. package/src/lib/components/button/button.component.css +3 -0
  14. package/src/lib/components/button/button.component.html +13 -0
  15. package/src/lib/components/button/button.component.spec.ts +23 -0
  16. package/src/lib/components/button/button.component.ts +24 -0
  17. package/src/lib/components/button/button.module.ts +11 -0
  18. package/{lib/components/forgot-password/ForgotPasswordData.d.ts → src/lib/components/forgot-password/ForgotPasswordData.ts} +1 -1
  19. package/src/lib/components/forgot-password/forgot-password.component.css +46 -0
  20. package/src/lib/components/forgot-password/forgot-password.component.html +19 -0
  21. package/src/lib/components/forgot-password/forgot-password.component.spec.ts +23 -0
  22. package/src/lib/components/forgot-password/forgot-password.component.ts +88 -0
  23. package/src/lib/components/forgot-password/forgot-password.module.ts +18 -0
  24. package/src/lib/components/mail/mail.component.css +0 -0
  25. package/src/lib/components/mail/mail.component.html +11 -0
  26. package/src/lib/components/mail/mail.component.spec.ts +23 -0
  27. package/src/lib/components/mail/mail.component.ts +47 -0
  28. package/src/lib/components/mail/mail.module.ts +13 -0
  29. package/src/lib/components/mail-validation/mail-validation.component.css +59 -0
  30. package/src/lib/components/mail-validation/mail-validation.component.html +37 -0
  31. package/src/lib/components/mail-validation/mail-validation.component.spec.ts +23 -0
  32. package/src/lib/components/mail-validation/mail-validation.component.ts +66 -0
  33. package/src/lib/components/mail-validation/mail-validation.module.ts +18 -0
  34. package/src/lib/components/o-auth/o-auth.component.css +26 -0
  35. package/src/lib/components/o-auth/o-auth.component.html +26 -0
  36. package/src/lib/components/o-auth/o-auth.component.spec.ts +23 -0
  37. package/src/lib/components/o-auth/o-auth.component.ts +115 -0
  38. package/src/lib/components/o-auth/o-auth.module.ts +11 -0
  39. package/src/lib/components/otp-input/otp-input.component.css +19 -0
  40. package/src/lib/components/otp-input/otp-input.component.html +15 -0
  41. package/src/lib/components/otp-input/otp-input.component.spec.ts +23 -0
  42. package/src/lib/components/otp-input/otp-input.component.ts +88 -0
  43. package/src/lib/components/otp-input/otp-input.module.ts +15 -0
  44. package/src/lib/components/reset-password/ResetPasswordData.ts +5 -0
  45. package/src/lib/components/reset-password/reset-password.component.css +29 -0
  46. package/src/lib/components/reset-password/reset-password.component.html +24 -0
  47. package/src/lib/components/reset-password/reset-password.component.spec.ts +23 -0
  48. package/src/lib/components/reset-password/reset-password.component.ts +108 -0
  49. package/src/lib/components/reset-password/reset-password.module.ts +18 -0
  50. package/src/lib/components/role-control/ChildrenType.ts +4 -0
  51. package/{lib/components/role-control/MappedRole.d.ts → src/lib/components/role-control/MappedRole.ts} +3 -2
  52. package/{lib/components/role-control/MappedRoleAction.d.ts → src/lib/components/role-control/MappedRoleAction.ts} +2 -1
  53. package/{lib/components/role-control/MappedRoleContext.d.ts → src/lib/components/role-control/MappedRoleContext.ts} +4 -3
  54. package/src/lib/components/role-control/UIActions.ts +5 -0
  55. package/src/lib/components/role-control/UIs.ts +38 -0
  56. package/src/lib/components/role-control/base-table-style.ts +52 -0
  57. package/src/lib/components/role-control/role-control.component.css +55 -0
  58. package/src/lib/components/role-control/role-control.component.html +571 -0
  59. package/src/lib/components/role-control/role-control.component.spec.ts +23 -0
  60. package/src/lib/components/role-control/role-control.component.ts +1817 -0
  61. package/src/lib/components/role-control/role-control.module.ts +10 -0
  62. package/src/lib/components/role-control/role-control.service.spec.ts +16 -0
  63. package/src/lib/components/role-control/role-control.service.ts +53 -0
  64. package/src/lib/components/sign-in/sign-in.component.css +21 -0
  65. package/src/lib/components/sign-in/sign-in.component.html +83 -0
  66. package/src/lib/components/sign-in/sign-in.component.spec.ts +23 -0
  67. package/src/lib/components/sign-in/sign-in.component.ts +267 -0
  68. package/src/lib/components/sign-in/sign-in.module.ts +17 -0
  69. package/src/lib/components/sign-up/sign-up.component.css +36 -0
  70. package/src/lib/components/sign-up/sign-up.component.html +132 -0
  71. package/src/lib/components/sign-up/sign-up.component.spec.ts +23 -0
  72. package/src/lib/components/sign-up/sign-up.component.ts +180 -0
  73. package/src/lib/components/sign-up/sign-up.module.ts +15 -0
  74. package/src/lib/components/sso/base-table-style.ts +52 -0
  75. package/src/lib/components/sso/helper.ts +17 -0
  76. package/src/lib/components/sso/sso-form/sso-form.component.css +13 -0
  77. package/src/lib/components/sso/sso-form/sso-form.component.html +109 -0
  78. package/src/lib/components/sso/sso-form/sso-form.component.spec.ts +23 -0
  79. package/src/lib/components/sso/sso-form/sso-form.component.ts +70 -0
  80. package/src/lib/components/sso/sso.columns.ts +32 -0
  81. package/src/lib/components/sso/sso.component.css +47 -0
  82. package/src/lib/components/sso/sso.component.html +208 -0
  83. package/src/lib/components/sso/sso.component.spec.ts +23 -0
  84. package/src/lib/components/sso/sso.component.ts +261 -0
  85. package/src/lib/components/sso/sso.module.ts +40 -0
  86. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.css +8 -0
  87. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html +30 -0
  88. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.spec.ts +23 -0
  89. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts +155 -0
  90. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts +15 -0
  91. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.css +17 -0
  92. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html +45 -0
  93. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.spec.ts +23 -0
  94. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts +57 -0
  95. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts +11 -0
  96. package/src/lib/components/user-management/base-table-style.ts +52 -0
  97. package/src/lib/components/user-management/facades/user-management.facades.ts +133 -0
  98. package/src/lib/components/user-management/helper.ts +38 -0
  99. package/src/lib/components/user-management/index.ts +4 -0
  100. package/src/lib/components/user-management/services/user-management.service.spec.ts +16 -0
  101. package/src/lib/components/user-management/services/user-management.service.ts +111 -0
  102. package/src/lib/components/user-management/states/user-management.state.ts +65 -0
  103. package/src/lib/components/user-management/user-management-form/use-management-form.component.ts +73 -0
  104. package/src/lib/components/user-management/user-management-form/user-management-form.component.css +0 -0
  105. package/src/lib/components/user-management/user-management-form/user-management-form.component.html +80 -0
  106. package/src/lib/components/user-management/user-management-form/user-management-form.component.spec.ts +23 -0
  107. package/src/lib/components/user-management/user-management.columns.ts +51 -0
  108. package/src/lib/components/user-management/user-management.component.css +31 -0
  109. package/src/lib/components/user-management/user-management.component.html +319 -0
  110. package/src/lib/components/user-management/user-management.component.spec.ts +23 -0
  111. package/src/lib/components/user-management/user-management.component.ts +604 -0
  112. package/src/lib/components/user-management/user-management.module.ts +56 -0
  113. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.css +0 -0
  114. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.html +8 -0
  115. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.spec.ts +22 -0
  116. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.ts +22 -0
  117. package/src/lib/components/user-request/user-request.component.css +91 -0
  118. package/src/lib/components/user-request/user-request.component.html +137 -0
  119. package/src/lib/components/user-request/user-request.component.spec.ts +23 -0
  120. package/src/lib/components/user-request/user-request.component.ts +306 -0
  121. package/src/lib/components/user-request/user-request.module.ts +20 -0
  122. package/src/lib/components/user-request-approval/access-request.columns.ts +31 -0
  123. package/src/lib/components/user-request-approval/base-table-style.ts +52 -0
  124. package/src/lib/components/user-request-approval/facades/user-access-request.facade.ts +324 -0
  125. package/src/lib/components/user-request-approval/helper.ts +61 -0
  126. package/src/lib/components/user-request-approval/services/user-access-request.service.spec.ts +16 -0
  127. package/src/lib/components/user-request-approval/services/user-access-request.service.ts +122 -0
  128. package/src/lib/components/user-request-approval/states/user-access-request.state.ts +109 -0
  129. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.css +0 -0
  130. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html +8 -0
  131. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.spec.ts +23 -0
  132. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts +22 -0
  133. package/src/lib/components/user-request-approval/user-request-approval.component.css +6 -0
  134. package/src/lib/components/user-request-approval/user-request-approval.component.html +269 -0
  135. package/src/lib/components/user-request-approval/user-request-approval.component.spec.ts +23 -0
  136. package/src/lib/components/user-request-approval/user-request-approval.component.ts +326 -0
  137. package/src/lib/components/user-request-approval/user-request-approval.module.ts +54 -0
  138. package/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts +98 -0
  139. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.css +0 -0
  140. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html +94 -0
  141. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.spec.ts +23 -0
  142. package/src/lib/components/user-request-process/user-request-process.component.css +0 -0
  143. package/src/lib/components/user-request-process/user-request-process.component.html +1 -0
  144. package/src/lib/components/user-request-process/user-request-process.component.spec.ts +23 -0
  145. package/src/lib/components/user-request-process/user-request-process.component.ts +12 -0
  146. package/src/lib/components/user-request-process/user-request-process.module.ts +12 -0
  147. package/src/lib/models/ApplicationRoleAction.ts +10 -0
  148. package/{lib/models/ApplicationRoleContext.d.ts → src/lib/models/ApplicationRoleContext copy.ts } +6 -5
  149. package/src/lib/models/ApplicationRoleContext.ts +10 -0
  150. package/src/lib/models/ErrorResponse.ts +7 -0
  151. package/src/lib/models/FilterTypes.ts +8 -0
  152. package/src/lib/models/MailConfig.ts +13 -0
  153. package/src/lib/models/MessageConfig.ts +5 -0
  154. package/src/lib/models/MessageMedium.ts +4 -0
  155. package/src/lib/models/OAuthParam.ts +10 -0
  156. package/src/lib/models/OAuthType.ts +7 -0
  157. package/src/lib/models/PagedResult.ts +9 -0
  158. package/src/lib/models/PasswordRequestParam.ts +5 -0
  159. package/src/lib/models/PeriodMode.ts +10 -0
  160. package/{lib/models/PermissionConfig.d.ts → src/lib/models/PermissionConfig.ts} +4 -3
  161. package/src/lib/models/ReportSchedule.ts +23 -0
  162. package/src/lib/models/ReportType.ts +5 -0
  163. package/src/lib/models/ResponseKeyValue.ts +5 -0
  164. package/{lib/models/Role.d.ts → src/lib/models/Role.ts} +6 -5
  165. package/src/lib/models/RoleAction.ts +11 -0
  166. package/src/lib/models/RoleContext.ts +11 -0
  167. package/src/lib/models/SMSConfig.ts +11 -0
  168. package/{lib/models/SearchDynamicWrapper.d.ts → src/lib/models/SearchDynamicWrapper.ts} +3 -2
  169. package/src/lib/models/SearchOperator.ts +4 -0
  170. package/src/lib/models/SearchPropertySign.ts +9 -0
  171. package/{lib/models/SearchPropertyValue.d.ts → src/lib/models/SearchPropertyValue.ts} +7 -6
  172. package/src/lib/models/SearchPropertyValueType.ts +9 -0
  173. package/src/lib/models/SortDirection.ts +5 -0
  174. package/{lib/models/Tag.d.ts → src/lib/models/Tag.ts} +4 -3
  175. package/src/lib/models/TaskNotification.ts +14 -0
  176. package/src/lib/models/TaskNotificationMessageType.ts +4 -0
  177. package/src/lib/models/TaskNotificationType.ts +4 -0
  178. package/src/lib/models/Tenant.ts +22 -0
  179. package/src/lib/models/TenantConfig.ts +19 -0
  180. package/src/lib/models/UserRequest.ts +38 -0
  181. package/src/lib/models/auth-mechanism.ts +15 -0
  182. package/src/lib/models/base.ts +13 -0
  183. package/src/lib/models/conditions.ts +11 -0
  184. package/src/lib/models/log-in.ts +8 -0
  185. package/{lib/models/mainUser.d.ts → src/lib/models/mainUser.ts} +3 -2
  186. package/src/lib/models/oauth-resp.ts +6 -0
  187. package/{lib/models/oauth-response.d.ts → src/lib/models/oauth-response.ts} +1 -1
  188. package/src/lib/models/object-state.ts +6 -0
  189. package/{lib/models/otpValue.d.ts → src/lib/models/otpValue.ts} +4 -2
  190. package/src/lib/models/paged.ts +9 -0
  191. package/src/lib/models/query-params.ts +9 -0
  192. package/src/lib/models/request-status.ts +4 -0
  193. package/src/lib/models/resend-otp-data.ts +8 -0
  194. package/src/lib/models/resource.ts +27 -0
  195. package/src/lib/models/sign-up.ts +11 -0
  196. package/src/lib/models/single-sign-on.ts +9 -0
  197. package/src/lib/models/status.ts +5 -0
  198. package/src/lib/models/user-access-request-status.ts +5 -0
  199. package/{lib/models/user-access-request.d.ts → src/lib/models/user-access-request.ts} +5 -4
  200. package/src/lib/models/user-object-state.ts +6 -0
  201. package/src/lib/models/user.ts +19 -0
  202. package/src/lib/pipes/async-label.pipe.spec.ts +8 -0
  203. package/src/lib/pipes/async-label.pipe.ts +20 -0
  204. package/src/lib/services/authorization.service.spec.ts +16 -0
  205. package/src/lib/services/authorization.service.ts +24 -0
  206. package/src/lib/services/encryption.service.ts +57 -0
  207. package/src/lib/services/environment.service.spec.ts +16 -0
  208. package/src/lib/services/environment.service.ts +30 -0
  209. package/src/lib/services/http-web-request.service.spec.ts +16 -0
  210. package/src/lib/services/http-web-request.service.ts +114 -0
  211. package/src/lib/services/label.service.spec.ts +16 -0
  212. package/src/lib/services/label.service.ts +177 -0
  213. package/src/lib/services/util.service.spec.ts +16 -0
  214. package/src/lib/services/util.service.ts +49 -0
  215. package/src/lib/shared/shared.module.ts +55 -0
  216. package/{public-api.d.ts → src/public-api.ts} +24 -0
  217. package/src/styles.css +96 -0
  218. package/src/theme/tailwind-setup.css +3 -0
  219. package/src/theme/tailwind.css +1030 -0
  220. package/src/utils/components/base-data-view.component.ts +131 -0
  221. package/src/utils/models/DataViewConfig.ts +19 -0
  222. package/tailwind.config.js +20 -0
  223. package/tsconfig.lib.json +15 -0
  224. package/tsconfig.lib.prod.json +11 -0
  225. package/tsconfig.spec.json +15 -0
  226. package/esm2022/lib/components/auth-callback/auth-callback.component.mjs +0 -57
  227. package/esm2022/lib/components/auth-callback/auth-callback.module.mjs +0 -18
  228. package/esm2022/lib/components/button/button.component.mjs +0 -46
  229. package/esm2022/lib/components/button/button.module.mjs +0 -20
  230. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +0 -2
  231. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -89
  232. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +0 -34
  233. package/esm2022/lib/components/mail/mail.component.mjs +0 -69
  234. package/esm2022/lib/components/mail/mail.module.mjs +0 -21
  235. package/esm2022/lib/components/mail-validation/mail-validation.component.mjs +0 -108
  236. package/esm2022/lib/components/mail-validation/mail-validation.module.mjs +0 -34
  237. package/esm2022/lib/components/o-auth/o-auth.component.mjs +0 -107
  238. package/esm2022/lib/components/o-auth/o-auth.module.mjs +0 -19
  239. package/esm2022/lib/components/otp-input/otp-input.component.mjs +0 -86
  240. package/esm2022/lib/components/otp-input/otp-input.module.mjs +0 -23
  241. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +0 -2
  242. package/esm2022/lib/components/reset-password/reset-password.component.mjs +0 -108
  243. package/esm2022/lib/components/reset-password/reset-password.module.mjs +0 -34
  244. package/esm2022/lib/components/role-control/ChildrenType.mjs +0 -6
  245. package/esm2022/lib/components/role-control/MappedRole.mjs +0 -2
  246. package/esm2022/lib/components/role-control/MappedRoleAction.mjs +0 -2
  247. package/esm2022/lib/components/role-control/MappedRoleContext.mjs +0 -2
  248. package/esm2022/lib/components/role-control/UIActions.mjs +0 -7
  249. package/esm2022/lib/components/role-control/UIs.mjs +0 -40
  250. package/esm2022/lib/components/role-control/base-table-style.mjs +0 -53
  251. package/esm2022/lib/components/role-control/role-control.component.mjs +0 -1364
  252. package/esm2022/lib/components/role-control/role-control.module.mjs +0 -18
  253. package/esm2022/lib/components/role-control/role-control.service.mjs +0 -54
  254. package/esm2022/lib/components/sign-in/sign-in.component.mjs +0 -318
  255. package/esm2022/lib/components/sign-in/sign-in.module.mjs +0 -24
  256. package/esm2022/lib/components/sign-up/sign-up.component.mjs +0 -229
  257. package/esm2022/lib/components/sign-up/sign-up.module.mjs +0 -24
  258. package/esm2022/lib/components/sso/base-table-style.mjs +0 -53
  259. package/esm2022/lib/components/sso/helper.mjs +0 -16
  260. package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +0 -74
  261. package/esm2022/lib/components/sso/sso.columns.mjs +0 -29
  262. package/esm2022/lib/components/sso/sso.component.mjs +0 -236
  263. package/esm2022/lib/components/sso/sso.module.mjs +0 -63
  264. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +0 -209
  265. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +0 -22
  266. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +0 -90
  267. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +0 -19
  268. package/esm2022/lib/components/user-management/base-table-style.mjs +0 -53
  269. package/esm2022/lib/components/user-management/services/user-management.service.mjs +0 -88
  270. package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +0 -71
  271. package/esm2022/lib/components/user-management/user-management.columns.mjs +0 -47
  272. package/esm2022/lib/components/user-management/user-management.component.mjs +0 -475
  273. package/esm2022/lib/components/user-management/user-management.module.mjs +0 -79
  274. package/esm2022/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +0 -26
  275. package/esm2022/lib/components/user-request/user-request.component.mjs +0 -320
  276. package/esm2022/lib/components/user-request/user-request.module.mjs +0 -38
  277. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +0 -29
  278. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +0 -53
  279. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -260
  280. package/esm2022/lib/components/user-request-approval/helper.mjs +0 -56
  281. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -93
  282. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -92
  283. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +0 -26
  284. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +0 -270
  285. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +0 -80
  286. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +0 -86
  287. package/esm2022/lib/models/ApplicationRoleAction.mjs +0 -2
  288. package/esm2022/lib/models/ApplicationRoleContext.mjs +0 -2
  289. package/esm2022/lib/models/ErrorResponse.mjs +0 -11
  290. package/esm2022/lib/models/OAuthParam.mjs +0 -2
  291. package/esm2022/lib/models/OAuthType.mjs +0 -9
  292. package/esm2022/lib/models/PagedResult.mjs +0 -2
  293. package/esm2022/lib/models/PasswordRequestParam.mjs +0 -2
  294. package/esm2022/lib/models/PermissionConfig.mjs +0 -2
  295. package/esm2022/lib/models/ResponseKeyValue.mjs +0 -2
  296. package/esm2022/lib/models/Role.mjs +0 -2
  297. package/esm2022/lib/models/RoleAction.mjs +0 -2
  298. package/esm2022/lib/models/RoleContext.mjs +0 -2
  299. package/esm2022/lib/models/SearchDynamicWrapper.mjs +0 -2
  300. package/esm2022/lib/models/SearchOperator.mjs +0 -6
  301. package/esm2022/lib/models/SearchPropertySign.mjs +0 -11
  302. package/esm2022/lib/models/SearchPropertyValue.mjs +0 -2
  303. package/esm2022/lib/models/SearchPropertyValueType.mjs +0 -11
  304. package/esm2022/lib/models/SortDirection.mjs +0 -7
  305. package/esm2022/lib/models/Tag.mjs +0 -2
  306. package/esm2022/lib/models/TenantConfig.mjs +0 -2
  307. package/esm2022/lib/models/UserRequest.mjs +0 -2
  308. package/esm2022/lib/models/auth-mechanism.mjs +0 -8
  309. package/esm2022/lib/models/base.mjs +0 -2
  310. package/esm2022/lib/models/conditions.mjs +0 -13
  311. package/esm2022/lib/models/log-in.mjs +0 -2
  312. package/esm2022/lib/models/mainUser.mjs +0 -2
  313. package/esm2022/lib/models/oauth-resp.mjs +0 -2
  314. package/esm2022/lib/models/oauth-response.mjs +0 -2
  315. package/esm2022/lib/models/object-state.mjs +0 -8
  316. package/esm2022/lib/models/otpValue.mjs +0 -2
  317. package/esm2022/lib/models/paged.mjs +0 -2
  318. package/esm2022/lib/models/query-params.mjs +0 -2
  319. package/esm2022/lib/models/request-status.mjs +0 -5
  320. package/esm2022/lib/models/resend-otp-data.mjs +0 -2
  321. package/esm2022/lib/models/sign-up.mjs +0 -2
  322. package/esm2022/lib/models/single-sign-on.mjs +0 -2
  323. package/esm2022/lib/models/status.mjs +0 -6
  324. package/esm2022/lib/models/user-access-request-status.mjs +0 -7
  325. package/esm2022/lib/models/user-access-request.mjs +0 -2
  326. package/esm2022/lib/models/user.mjs +0 -2
  327. package/esm2022/lib/pipes/async-label.pipe.mjs +0 -25
  328. package/esm2022/lib/services/authorization.service.mjs +0 -26
  329. package/esm2022/lib/services/encryption.service.mjs +0 -52
  330. package/esm2022/lib/services/environment.service.mjs +0 -26
  331. package/esm2022/lib/services/http-web-request.service.mjs +0 -85
  332. package/esm2022/lib/services/label.service.mjs +0 -134
  333. package/esm2022/lib/services/util.service.mjs +0 -55
  334. package/esm2022/lib/shared/shared.module.mjs +0 -84
  335. package/esm2022/public-api.mjs +0 -48
  336. package/esm2022/verben-authentication-ui.mjs +0 -5
  337. package/fesm2022/verben-authentication-ui.mjs +0 -6299
  338. package/fesm2022/verben-authentication-ui.mjs.map +0 -1
  339. package/index.d.ts +0 -5
  340. package/lib/components/auth-callback/auth-callback.component.d.ts +0 -17
  341. package/lib/components/auth-callback/auth-callback.module.d.ts +0 -8
  342. package/lib/components/button/button.component.d.ts +0 -17
  343. package/lib/components/button/button.module.d.ts +0 -10
  344. package/lib/components/forgot-password/forgot-password.component.d.ts +0 -29
  345. package/lib/components/forgot-password/forgot-password.module.d.ts +0 -10
  346. package/lib/components/mail/mail.component.d.ts +0 -32
  347. package/lib/components/mail/mail.module.d.ts +0 -11
  348. package/lib/components/mail-validation/mail-validation.component.d.ts +0 -42
  349. package/lib/components/mail-validation/mail-validation.module.d.ts +0 -10
  350. package/lib/components/o-auth/o-auth.component.d.ts +0 -30
  351. package/lib/components/o-auth/o-auth.module.d.ts +0 -9
  352. package/lib/components/otp-input/otp-input.component.d.ts +0 -21
  353. package/lib/components/otp-input/otp-input.module.d.ts +0 -13
  354. package/lib/components/reset-password/ResetPasswordData.d.ts +0 -5
  355. package/lib/components/reset-password/reset-password.component.d.ts +0 -30
  356. package/lib/components/reset-password/reset-password.module.d.ts +0 -10
  357. package/lib/components/role-control/ChildrenType.d.ts +0 -4
  358. package/lib/components/role-control/UIActions.d.ts +0 -5
  359. package/lib/components/role-control/UIs.d.ts +0 -38
  360. package/lib/components/role-control/base-table-style.d.ts +0 -1
  361. package/lib/components/role-control/role-control.component.d.ts +0 -121
  362. package/lib/components/role-control/role-control.module.d.ts +0 -8
  363. package/lib/components/role-control/role-control.service.d.ts +0 -9
  364. package/lib/components/sign-in/sign-in.component.d.ts +0 -95
  365. package/lib/components/sign-in/sign-in.module.d.ts +0 -13
  366. package/lib/components/sign-up/sign-up.component.d.ts +0 -68
  367. package/lib/components/sign-up/sign-up.module.d.ts +0 -13
  368. package/lib/components/sso/base-table-style.d.ts +0 -1
  369. package/lib/components/sso/helper.d.ts +0 -2
  370. package/lib/components/sso/sso-form/sso-form.component.d.ts +0 -21
  371. package/lib/components/sso/sso.columns.d.ts +0 -3
  372. package/lib/components/sso/sso.component.d.ts +0 -54
  373. package/lib/components/sso/sso.module.d.ts +0 -11
  374. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +0 -67
  375. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +0 -12
  376. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +0 -39
  377. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +0 -9
  378. package/lib/components/user-management/base-table-style.d.ts +0 -1
  379. package/lib/components/user-management/services/user-management.service.d.ts +0 -44
  380. package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +0 -22
  381. package/lib/components/user-management/user-management.columns.d.ts +0 -3
  382. package/lib/components/user-management/user-management.component.d.ts +0 -123
  383. package/lib/components/user-management/user-management.module.d.ts +0 -14
  384. package/lib/components/user-management/user-status-badge/user-status-badge.component.d.ts +0 -12
  385. package/lib/components/user-request/user-request.component.d.ts +0 -80
  386. package/lib/components/user-request/user-request.module.d.ts +0 -11
  387. package/lib/components/user-request-approval/access-request.columns.d.ts +0 -3
  388. package/lib/components/user-request-approval/base-table-style.d.ts +0 -1
  389. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +0 -39
  390. package/lib/components/user-request-approval/helper.d.ts +0 -7
  391. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +0 -65
  392. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +0 -35
  393. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +0 -12
  394. package/lib/components/user-request-approval/user-request-approval.component.d.ts +0 -69
  395. package/lib/components/user-request-approval/user-request-approval.module.d.ts +0 -12
  396. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +0 -25
  397. package/lib/models/ApplicationRoleAction.d.ts +0 -9
  398. package/lib/models/ErrorResponse.d.ts +0 -6
  399. package/lib/models/OAuthParam.d.ts +0 -9
  400. package/lib/models/OAuthType.d.ts +0 -7
  401. package/lib/models/PagedResult.d.ts +0 -9
  402. package/lib/models/PasswordRequestParam.d.ts +0 -5
  403. package/lib/models/ResponseKeyValue.d.ts +0 -5
  404. package/lib/models/RoleAction.d.ts +0 -10
  405. package/lib/models/RoleContext.d.ts +0 -10
  406. package/lib/models/SearchOperator.d.ts +0 -4
  407. package/lib/models/SearchPropertySign.d.ts +0 -9
  408. package/lib/models/SearchPropertyValueType.d.ts +0 -9
  409. package/lib/models/SortDirection.d.ts +0 -5
  410. package/lib/models/TenantConfig.d.ts +0 -18
  411. package/lib/models/UserRequest.d.ts +0 -32
  412. package/lib/models/auth-mechanism.d.ts +0 -14
  413. package/lib/models/base.d.ts +0 -12
  414. package/lib/models/conditions.d.ts +0 -11
  415. package/lib/models/log-in.d.ts +0 -8
  416. package/lib/models/oauth-resp.d.ts +0 -6
  417. package/lib/models/object-state.d.ts +0 -6
  418. package/lib/models/paged.d.ts +0 -9
  419. package/lib/models/query-params.d.ts +0 -8
  420. package/lib/models/request-status.d.ts +0 -3
  421. package/lib/models/resend-otp-data.d.ts +0 -8
  422. package/lib/models/sign-up.d.ts +0 -9
  423. package/lib/models/single-sign-on.d.ts +0 -7
  424. package/lib/models/status.d.ts +0 -4
  425. package/lib/models/user-access-request-status.d.ts +0 -5
  426. package/lib/models/user.d.ts +0 -18
  427. package/lib/pipes/async-label.pipe.d.ts +0 -11
  428. package/lib/services/authorization.service.d.ts +0 -14
  429. package/lib/services/encryption.service.d.ts +0 -13
  430. package/lib/services/environment.service.d.ts +0 -22
  431. package/lib/services/http-web-request.service.d.ts +0 -23
  432. package/lib/services/label.service.d.ts +0 -15
  433. package/lib/services/util.service.d.ts +0 -11
  434. package/lib/shared/shared.module.d.ts +0 -10
@@ -0,0 +1,604 @@
1
+ import { Component, Input, signal, ViewChild, WritableSignal } from '@angular/core';
2
+ import { columns } from './user-management.columns';
3
+
4
+ import { SearchPropertySign } from '../../models/SearchPropertySign';
5
+ import { UtilService } from '../../services/util.service';
6
+ import { PagedResult } from '../../models/PagedResult';
7
+ import { baseStyle } from './base-table-style';
8
+ import { HttpWebRequestService } from '../../services/http-web-request.service';
9
+
10
+
11
+ import {
12
+ CardData,
13
+ DataFilterType,
14
+ IDataFilter,
15
+ DropdownLoadEvent,
16
+ DropdownChangeEvent,
17
+ ColumnDefinition,
18
+ ConditionalOptions,
19
+ CardDataViewComponent,
20
+ DataViewComponent,
21
+ } from 'verben-ng-ui';
22
+ import { UserAccessRequestStatus } from '../../models/user-access-request-status';
23
+ import { ObjectState } from '../../models/object-state';
24
+ import { EnvironmentService } from '../../services/environment.service';
25
+ import { UserManagementService } from './services/user-management.service';
26
+ import { User } from '../../models/user';
27
+ import { ErrorResponse } from '../../models/ErrorResponse';
28
+ import { UserManagementFormComponent } from './user-management-form/use-management-form.component';
29
+ import { Subject, debounceTime, BehaviorSubject } from 'rxjs';
30
+ import { ConditionOptions } from '../../models/conditions';
31
+ import { ActivatedRoute } from '@angular/router';
32
+ import { UserAccessRequestService } from '../user-request-approval/services/user-access-request.service';
33
+ import { Role } from '../../models/Role';
34
+ import { Tag } from '../../models/Tag';
35
+
36
+
37
+ enum DateFilterTypes {
38
+ Before = SearchPropertySign.LT,
39
+ On = SearchPropertySign.EQ,
40
+ After = SearchPropertySign.GT,
41
+ }
42
+
43
+
44
+ interface TestParentObject {
45
+ Id: string;
46
+ Name: string;
47
+ }
48
+
49
+
50
+ @Component({
51
+ selector: 'lib-user-management',
52
+ templateUrl: './user-management.component.html',
53
+ styleUrl: './user-management.component.css',
54
+ })
55
+ export class UserManagementComponent {
56
+ @ViewChild('vdcv') cardDataView!: CardDataViewComponent;
57
+ @ViewChild('vdv') dataView!: DataViewComponent;
58
+ @ViewChild(UserManagementFormComponent) childComponent!: UserManagementFormComponent;
59
+ private currentSearchTerm: string = '';
60
+
61
+
62
+ filteredColumns: ColumnDefinition<User>[] =columns
63
+ skip: number = 0;
64
+ users:User[]=[]
65
+ searchTerm$ = new Subject<string>();
66
+ @Input() searchDebounceTime: number = 500;
67
+ @Input() pageSize: number = 1;
68
+ pageState: PagedResult<User> | null = null;
69
+ errorMessage: string = '';
70
+ appliedFilters: boolean = false;
71
+ isLoading: boolean = false;
72
+ hasMore: boolean = true;
73
+ limit: number = 20;
74
+ sortParam: string = 'name';
75
+ sortOrder: string = 'asc';
76
+ Roles:Role[]=[]
77
+ Tags: WritableSignal<Tag[]> = signal([]);
78
+ dataFit: PagedResult<User> = {
79
+ PageSize: 1,
80
+ Skip: 0,
81
+ Total: 0,
82
+ Result: [],
83
+ LastItem: [''],
84
+ IsLoadingResults: false
85
+ };
86
+
87
+
88
+
89
+ currentFilters: IDataFilter[] = [];
90
+ currentSorts: IDataFilter[] = [];
91
+
92
+
93
+
94
+ role: string = '';
95
+
96
+ cardContextHistory: CardData[] = [];
97
+ param: string | null | undefined;
98
+
99
+ constructor(
100
+ private route: ActivatedRoute,
101
+ private userManagementService: UserManagementService,
102
+ private userRole: UserAccessRequestService,
103
+ private server: HttpWebRequestService,
104
+ private utilService: UtilService,
105
+ private envSvc: EnvironmentService
106
+ ) {}
107
+
108
+ async ngOnInit(): Promise<void> {
109
+
110
+ this.getRoles()
111
+ this.getTags();
112
+ this.route.paramMap.subscribe(params => {
113
+ this.role = params.get('role') || ''; // Default to an empty string if no role
114
+ this.fetchUsers();
115
+ });
116
+
117
+
118
+
119
+ }
120
+
121
+
122
+ cardData: CardData[] = [];
123
+
124
+ data: any[] = [];
125
+
126
+
127
+
128
+
129
+
130
+
131
+ async fetchUsers(sortValue: string = 'CreatedAt', order: string = 'asc') {
132
+ this.isLoading = true;
133
+ this.utilService.sendBI(true);
134
+
135
+ try {
136
+ const res = await this.userManagementService.getRealUsers(this.role, this.skip,this.limit, this.sortParam, this.sortOrder)
137
+ this.utilService.sendBI(false);
138
+
139
+ if (res instanceof ErrorResponse) {
140
+ // Handle error response
141
+ console.error('Error fetching logs:', res);
142
+ } else {
143
+ const response = res as PagedResult<User>;
144
+ this.dataFit = response;
145
+ this.users = [...this.users, ...response.Result];
146
+ this.cardData = this.formatCardData(this.users);
147
+ this.skip += this.pageSize;
148
+ this.hasMore = this.skip < response.Total;
149
+ }
150
+ } catch (error) {
151
+ console.error('Error:', error);
152
+ } finally {
153
+ this.isLoading = false;
154
+ }
155
+ }
156
+
157
+
158
+ async getRoles() {
159
+ this.utilService.sendBI(true);
160
+
161
+ try {
162
+ const res = await this.userRole.getRoles();
163
+ this.utilService.sendBI(false);
164
+
165
+ if (res instanceof ErrorResponse) {
166
+ console.error('Error fetching roles:', res);
167
+ return undefined;
168
+ }
169
+
170
+ const response = res as PagedResult<Role>;
171
+ this.Roles = response.Result;
172
+
173
+ } catch (error) {
174
+ console.error('Error fetching roles:', error);
175
+ return undefined;
176
+ }
177
+ }
178
+
179
+ async getTags() {
180
+ this.utilService.sendBI(true);
181
+
182
+ try {
183
+ const res = await this.userRole.getTags();
184
+ this.utilService.sendBI(false);
185
+
186
+ if (res instanceof ErrorResponse) {
187
+ console.error('Error fetching roles:', res);
188
+ return undefined;
189
+ }
190
+ const response = res as PagedResult<Tag>;
191
+ this.Tags.set(response.Result);
192
+ } catch (error) {
193
+ console.error('Error fetching roles:', error);
194
+ return undefined;
195
+ }
196
+ }
197
+
198
+ handleRoleId(value:string){
199
+ const matchedRole = this.Roles.filter((role) => role.Name === value);
200
+ return matchedRole[0]?.Code;
201
+ }
202
+ /**
203
+ * Format users into CardData for the UI library
204
+ * @param users Array of users to format
205
+ * @returns Array of CardData
206
+ */
207
+ private formatCardData(users: User[]): CardData[] {
208
+ return users.map(user => ({
209
+ selected: false, // Default selection state
210
+ title: `${user.FirstName} ${user.LastName}`, // Display user's name as title
211
+ data: { ...user }, // Pass the entire user object
212
+ body: [
213
+ { title: 'Name', value: `${user.FirstName} ${user.LastName}` },
214
+ { title: 'E-Mail Address', value: user.MailAddress },
215
+ { title: 'Phone Number', value: user.PhoneNumber || 'N/A' },
216
+ ],
217
+ children: [], // Add child data if necessary
218
+ }));
219
+ }
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+ columns = columns;
237
+ styles = baseStyle;
238
+
239
+ selectedParent?: string;
240
+ basicOption?: string;
241
+ selectedOption: string[] = [];
242
+ selectedOptionTwo: string[] = [];
243
+ selectedOptionThree?: string;
244
+ missingObject: any;
245
+
246
+
247
+
248
+ // clearLogs(sortValue: string = 'CreatedAt', order: string = 'asc') {
249
+ // this.User = []; // Clear the logs array
250
+ // this.skip = 0; // Reset the skip value
251
+ // this.hasMore = true; // Reset the flag to allow fetching more logs
252
+ // this.appliedFilters = false;
253
+ // this.fetchUsers();
254
+ // }
255
+
256
+
257
+
258
+
259
+ // Grid view properties
260
+ isGridView: boolean = true;
261
+ currentData!: CardData;
262
+ selectedColumnCount: number = 0;
263
+ selectedFilterTableCount: number = 0;
264
+ isOPen: boolean = true;
265
+ selectedSortCount: number = 0;
266
+ showFilter: boolean = false;
267
+ searchTerm: string = '';
268
+ showColumn: boolean = false;
269
+ showSort: boolean = false;
270
+ selectedAll: boolean = false;
271
+ visibleColumns: IDataFilter[] = columns.map((col) => ({
272
+ checked: false,
273
+ name: typeof col.header === 'string' ? col.header : col.id,
274
+ type: DataFilterType.Bool,
275
+ }));
276
+
277
+ filterArray: IDataFilter[] = [
278
+ { name: 'FirstName', type: DataFilterType.String, checked: false },
279
+ { name: 'LastName', type: DataFilterType.String, checked: false },
280
+ { name: 'MailAddress', type: DataFilterType.String, checked: false },
281
+ { name: 'Status', type: DataFilterType.String, checked: false },
282
+ { name: 'PhoneNumber', type: DataFilterType.String, checked: false },
283
+ { name: 'CreatedAt', type: DataFilterType.Date, checked: false },
284
+ { name: 'Role', type: DataFilterType.String, checked: false },
285
+ ];
286
+
287
+
288
+
289
+ sortOptions: IDataFilter[] = [
290
+ { name: 'Name', type: DataFilterType.String, checked: false },
291
+ { name: 'MailAddress', type: DataFilterType.String, checked: false },
292
+ { name: 'PhoneNumber', type: DataFilterType.String, checked: false },
293
+ { name: 'CreatedAt', type: DataFilterType.Date, checked: false },
294
+ ];
295
+
296
+ testParents: TestParentObject[] = [
297
+ { Id: '1', Name: 'Manager' },
298
+ { Id: '2', Name: 'Administrator' },
299
+ { Id: '3', Name: 'Jelom' },
300
+ ];
301
+
302
+ getParentLabel(context: any): string {
303
+ console.log({ MissingObj: this.missingObject });
304
+ return this.missingObject.Name;
305
+ }
306
+
307
+ onSave(): void {
308
+ if (this.childComponent.form.valid) {
309
+ // const userData: User = this.childComponent.form.value;
310
+ // console.log('Payload:', [userData]); // Log the payload to check its structure
311
+
312
+ this.utilService.sendBI(true);
313
+ this.userManagementService.saveUsers([{
314
+ ...this.currentData?.data,
315
+ ...this.childComponent.form.value,
316
+ DataState: this.currentData?.data.DataState === ObjectState.Unchanged ? ObjectState.Changed : this.currentData?.data.DataState,
317
+ }]).then(
318
+ (result) => {
319
+ if (result instanceof ErrorResponse) {
320
+ } else {
321
+ this.utilService.showSuccess("User saved successfully");
322
+ }
323
+ },
324
+ (error) => {
325
+ console.error('Unexpected error saving user:', error);
326
+ }
327
+ ).finally(() => {
328
+ this.utilService.sendBI(false);
329
+ });
330
+ console.log(this.childComponent.form.value);
331
+
332
+ } else {
333
+ console.error('Form is invalid');
334
+ }
335
+ }
336
+
337
+ onDelete(): void {
338
+ console.log('Child form delete triggered');
339
+ // Perform delete logic here
340
+ }
341
+ onDropdownChange(event: DropdownChangeEvent): void {
342
+ // console.log({
343
+ // 'Test Parent Value': this.selectedParent,
344
+ // ...
345
+ // });
346
+ }
347
+
348
+ onSelectionChange(selectedRows: User[]) {
349
+ console.log('Selection changed:', selectedRows);
350
+ // Handle the selection change
351
+ }
352
+
353
+ handleExport(exportedData: Partial<any>[]) {
354
+ console.log('Exported data:', exportedData);
355
+ this.downloadCSV(exportedData);
356
+ }
357
+
358
+ private downloadCSV(data: Partial<any>[]) {
359
+ const headers = Object.keys(data[0]);
360
+ const csvContent = [
361
+ headers.join(','),
362
+ ...data.map((row) => headers.map((header) => row[header]).join(',')),
363
+ ].join('\n');
364
+
365
+ const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
366
+ const link = document.createElement('a');
367
+ if (link.download !== undefined) {
368
+ const url = URL.createObjectURL(blob);
369
+ link.setAttribute('href', url);
370
+ link.setAttribute('download', 'export.csv');
371
+ link.style.visibility = 'hidden';
372
+ document.body.appendChild(link);
373
+ link.click();
374
+ document.body.removeChild(link);
375
+ }
376
+ }
377
+
378
+
379
+ getCardDataByMailAddress(mailAddress: string): CardData | undefined {
380
+ console.log('cardData array:', this.cardData);
381
+ console.log(mailAddress);
382
+
383
+ return this.cardData.find(({ data }) => data?.MailAddress === mailAddress);
384
+ }
385
+
386
+ openDetailView(mailAddress: string) {
387
+ const cardItem = this.getCardDataByMailAddress(mailAddress);
388
+ console.log(cardItem);
389
+
390
+ if (cardItem && this.cardDataView) {
391
+ this.dataView.toggleView();
392
+ // First reset all selections
393
+ this.cardData.forEach((item) => {
394
+ item.selected = false;
395
+ if (item.children) {
396
+ item.children.forEach((child) => (child.selected = false));
397
+ }
398
+ });
399
+
400
+ // Set the selected item
401
+ cardItem.selected = true;
402
+ this.currentData = this.cardDataView.onItemClick(cardItem);
403
+
404
+ // Force change detection if needed
405
+ // this.changeDetectorRef.detectChanges();
406
+ }
407
+ }
408
+
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+ reset() {
417
+ this.skip = 0;
418
+ this.pageSize = 20;
419
+ }
420
+
421
+
422
+ clearData() {
423
+ this.currentData = {} as CardData;
424
+ }
425
+
426
+
427
+ loadMore() {
428
+ if (this.hasMore) {
429
+ this.fetchUsers();
430
+ }
431
+ }
432
+
433
+ onColumnChange(event: boolean) {
434
+ this.showColumn = event;
435
+ }
436
+
437
+ onSortChange(event: boolean) {
438
+ this.showSort = event;
439
+ console.log(event);
440
+ }
441
+
442
+ onColumnsUpdated(updatedColumns: IDataFilter[]) {
443
+ this.onColumnChange(false);
444
+ this.selectedColumnCount = updatedColumns.length;
445
+
446
+ if (updatedColumns) {
447
+ // Filter columns to include only visible ones
448
+ this.filteredColumns = this.columns.filter((col) =>
449
+ this.visibleColumns.find(
450
+ (filter) => filter.name === col.header && filter.checked
451
+ )
452
+ );
453
+
454
+ // Reorder columns based on the order in visibleColumns
455
+ const visibleColumnOrder = this.visibleColumns
456
+ .filter((filter) => filter.checked)
457
+ .map((filter) => filter.name);
458
+
459
+ this.columns.sort((a, b) => {
460
+ const indexA = visibleColumnOrder.indexOf(a.header as string);
461
+ const indexB = visibleColumnOrder.indexOf(b.header as string);
462
+ return indexA - indexB;
463
+ });
464
+ }
465
+ }
466
+
467
+ async postSearch(payload: any) {
468
+ this.utilService.sendBI(true);
469
+ const res = await this.server.post(
470
+ `User/SearchUsers/0/10/CreatedAt/asc`,
471
+ payload
472
+ );
473
+
474
+ this.utilService.sendBI(false);
475
+ if (res instanceof ErrorResponse) {
476
+ this.appliedFilters = false;
477
+ return;
478
+ } else {
479
+ this.appliedFilters = true;
480
+ const response = res as PagedResult<User>;
481
+ this.dataFit = response;
482
+ this.users = response.Result;
483
+ this.cardData = this.formatCardData(this.users) ;
484
+ }
485
+ }
486
+
487
+
488
+
489
+ onFilterApplied(appliedFilter: IDataFilter[]) {
490
+ this.showFilter = false;
491
+ if (Array.isArray(appliedFilter)) {
492
+ this.selectedFilterTableCount = appliedFilter.length;
493
+ console.log(appliedFilter);
494
+
495
+ const queryParams = appliedFilter
496
+ .filter((filter) => filter.checked)
497
+ .map((filter) => ({
498
+ PropertyName: filter.name,
499
+ EntityValue: filter.name==='Role'?this.handleRoleId(filter.value):filter.value,
500
+ Type: filter.type,
501
+ Operator: 'And',
502
+ Sign: this.getCondition(filter.condition),
503
+ }));
504
+
505
+ this.postSearch(queryParams);
506
+ }
507
+ }
508
+
509
+ getCondition(value: any): ConditionOptions | undefined {
510
+ switch (value) {
511
+ case ConditionalOptions.On:
512
+ return ConditionOptions.On;
513
+ case ConditionalOptions.After:
514
+ return ConditionOptions.After;
515
+ case ConditionalOptions.Before:
516
+ return ConditionOptions.Before;
517
+ case ConditionalOptions.NotEqual:
518
+ return ConditionOptions.NotEqual;
519
+ default:
520
+ return undefined; // Explicitly return undefined for invalid cases
521
+ }
522
+ }
523
+
524
+ onSortUpdated(updatedSorts: IDataFilter[]): void {
525
+ this.currentSorts = updatedSorts;
526
+
527
+ }
528
+
529
+ async onSearch(event: { key: string; value: string }) {
530
+ this.searchTerm = event.value;
531
+ this.reset();
532
+ if (!this.searchTerm) {
533
+ this.clearLogs('CreatedAt', 'asc');
534
+ return;
535
+ }
536
+
537
+ this.isLoading = true;
538
+ this.utilService.sendBI(true);
539
+
540
+ try {
541
+ const res = await this.server.get(
542
+ `User/GetUserWithParam/${this.searchTerm}/${this.skip}/${this.pageSize}/CreatedAt/asc`
543
+ );
544
+
545
+ this.utilService.sendBI(false);
546
+
547
+ if (res instanceof ErrorResponse) {
548
+ console.error('Error during search:', res);
549
+ this.appliedFilters = false;
550
+ } else {
551
+ const response = res as PagedResult<User>;
552
+ this.dataFit = response;
553
+ this.users = response.Result;
554
+ this.cardData = this.formatCardData(this.users);
555
+
556
+ }
557
+ } catch (error) {
558
+ console.error('Search error:', error);
559
+ this.appliedFilters = false;
560
+ } finally {
561
+ this.isLoading = false;
562
+ }
563
+ }
564
+
565
+ clearLogs(sortValue: string = 'CreatedAt', order: string = 'asc') {
566
+ this.users= []; // Clear the logs array
567
+ this.skip = 0; // Reset the skip value
568
+ this.hasMore = true; // Reset the flag to allow fetching more logs
569
+ this.appliedFilters = false;
570
+ this.fetchUsers(sortValue, order);
571
+ }
572
+
573
+
574
+
575
+
576
+ onViewChange(isGridView: boolean): void {}
577
+
578
+ onStateChange(event: { key: string; value: boolean }): void {
579
+ console.log(`State changed for ${event.key}:`, event.value);
580
+ if (event.key === 'create') {
581
+ console.log('peace is a boy');
582
+
583
+
584
+
585
+ // const newUser = this.newItem()
586
+
587
+ // if ( newUser && this.cardDataView) {
588
+ // this.dataView.toggleView();
589
+ // // First reset all selections
590
+ // this.cardData.forEach((item) => {
591
+ // item.selected = false;
592
+ // if (item.children) {
593
+ // item.children.forEach((child) => (child.selected = false));
594
+ // }
595
+ // });
596
+
597
+ // this.currentData = this.cardDataView.onItemClick(newUser);
598
+
599
+ // // Force change detection if needed
600
+ // // this.changeDetectorRef.detectChanges();
601
+ // }
602
+ }
603
+ }
604
+ }
@@ -0,0 +1,56 @@
1
+
2
+ import { NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { UserManagementComponent } from './user-management.component';
5
+ import { HttpClientModule } from '@angular/common/http';
6
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+
8
+ import {
9
+ CardDataViewModule,
10
+ CardModule,
11
+ DataExportModule,
12
+ DataTableModule,
13
+ DataViewModule,
14
+ SortTableModule,
15
+ SvgModule,
16
+ TableFilterModule,
17
+ VerbenaButtonModule,
18
+ VerbenaInputModule,
19
+ VisibleColumnModule,
20
+ DropDownModule,
21
+
22
+ VerbenaBadgeModule
23
+ } from 'verben-ng-ui';
24
+ import { UserManagementFormComponent } from './user-management-form/use-management-form.component';
25
+ import { UserManagementService } from './services/user-management.service';
26
+ import { LibUserRequestApprovalModule } from '../user-request-approval/user-request-approval.module';
27
+ import { UserStatusBadgeComponent } from './user-status-badge/user-status-badge.component';
28
+
29
+ @NgModule({
30
+ declarations: [UserManagementComponent, UserManagementFormComponent, UserStatusBadgeComponent],
31
+ imports: [
32
+ HttpClientModule,
33
+ CommonModule,
34
+
35
+ DataTableModule,
36
+ CardModule,
37
+ SvgModule,
38
+ DataViewModule,
39
+ CardDataViewModule,
40
+ SortTableModule,
41
+ VisibleColumnModule,
42
+ TableFilterModule,
43
+ DataExportModule,
44
+ FormsModule,
45
+ ReactiveFormsModule,
46
+ VerbenaInputModule,
47
+ VerbenaButtonModule,
48
+ VerbenaBadgeModule,
49
+ DropDownModule,
50
+
51
+ LibUserRequestApprovalModule
52
+ ],
53
+ providers: [UserManagementService],
54
+ exports: [UserManagementComponent],
55
+ })
56
+ export class LibUserManagementModule {}
@@ -0,0 +1,8 @@
1
+ <verbena-badge
2
+ borderRadius="9px"
3
+ [bgColor]="badgeConfig().bgColor"
4
+ [textColor]="badgeConfig().textColor"
5
+ fontSize="12px"
6
+ [text]="badgeConfig().label"
7
+ [pd]="'2px 6px'"
8
+ ></verbena-badge>
@@ -0,0 +1,22 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { UserStatusBadgeComponent } from './user-status-badge.component';
4
+
5
+ describe('UserStatusBadgeComponent', () => {
6
+ let component: UserStatusBadgeComponent;
7
+ let fixture: ComponentFixture<UserStatusBadgeComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [UserStatusBadgeComponent],
12
+ }).compileComponents();
13
+
14
+ fixture = TestBed.createComponent(UserStatusBadgeComponent);
15
+ component = fixture.componentInstance;
16
+ fixture.detectChanges();
17
+ });
18
+
19
+ it('should create', () => {
20
+ expect(component).toBeTruthy();
21
+ });
22
+ });