verben-authentication-ui 0.3.3 → 0.3.5

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 (292) hide show
  1. package/esm2022/lib/components/button/button.component.mjs +46 -0
  2. package/esm2022/lib/components/button/button.module.mjs +20 -0
  3. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +2 -0
  4. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +89 -0
  5. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +34 -0
  6. package/esm2022/lib/components/mail/mail.component.mjs +69 -0
  7. package/esm2022/lib/components/mail/mail.module.mjs +21 -0
  8. package/esm2022/lib/components/mail-validation/mail-validation.component.mjs +108 -0
  9. package/esm2022/lib/components/mail-validation/mail-validation.module.mjs +34 -0
  10. package/esm2022/lib/components/o-auth/o-auth.component.mjs +123 -0
  11. package/esm2022/lib/components/o-auth/o-auth.module.mjs +19 -0
  12. package/esm2022/lib/components/otp-input/otp-input.component.mjs +75 -0
  13. package/esm2022/lib/components/otp-input/otp-input.module.mjs +23 -0
  14. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +2 -0
  15. package/esm2022/lib/components/reset-password/reset-password.component.mjs +107 -0
  16. package/esm2022/lib/components/reset-password/reset-password.module.mjs +34 -0
  17. package/esm2022/lib/components/sign-in/sign-in.component.mjs +240 -0
  18. package/esm2022/lib/components/sign-in/sign-in.module.mjs +24 -0
  19. package/esm2022/lib/components/sign-up/sign-up.component.mjs +223 -0
  20. package/esm2022/lib/components/sign-up/sign-up.module.mjs +24 -0
  21. package/esm2022/lib/components/sso/base-table-style.mjs +53 -0
  22. package/esm2022/lib/components/sso/helper.mjs +14 -0
  23. package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +74 -0
  24. package/esm2022/lib/components/sso/sso.columns.mjs +29 -0
  25. package/esm2022/lib/components/sso/sso.component.mjs +236 -0
  26. package/esm2022/lib/components/sso/sso.module.mjs +63 -0
  27. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +228 -0
  28. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +22 -0
  29. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +90 -0
  30. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +19 -0
  31. package/esm2022/lib/components/user-management/base-table-style.mjs +53 -0
  32. package/esm2022/lib/components/user-management/helper.mjs +26 -0
  33. package/esm2022/lib/components/user-management/useer-management.module.mjs +68 -0
  34. package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +57 -0
  35. package/esm2022/lib/components/user-management/user-management.columns.mjs +43 -0
  36. package/esm2022/lib/components/user-management/user-management.component.mjs +323 -0
  37. package/esm2022/lib/components/user-request/user-request.component.mjs +206 -0
  38. package/esm2022/lib/components/user-request/user-request.module.mjs +34 -0
  39. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +24 -0
  40. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +53 -0
  41. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +128 -0
  42. package/esm2022/lib/components/user-request-approval/helper.mjs +35 -0
  43. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +72 -0
  44. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +59 -0
  45. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +26 -0
  46. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +251 -0
  47. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +77 -0
  48. package/esm2022/lib/components/user-request-approval/user-request-approval.service.mjs +32 -0
  49. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +64 -0
  50. package/esm2022/lib/models/ErrorResponse.mjs +11 -0
  51. package/esm2022/lib/models/PasswordRequestParam.mjs +2 -0
  52. package/esm2022/lib/models/ResponseKeyValue.mjs +2 -0
  53. package/esm2022/lib/models/UserRequest.mjs +2 -0
  54. package/esm2022/lib/models/auth-mechanism.mjs +8 -0
  55. package/esm2022/lib/models/base.mjs +2 -0
  56. package/esm2022/lib/models/log-in.mjs +2 -0
  57. package/esm2022/lib/models/mainUser.mjs +2 -0
  58. package/esm2022/lib/models/object-state.mjs +8 -0
  59. package/esm2022/lib/models/otpValue.mjs +2 -0
  60. package/esm2022/lib/models/paged.mjs +2 -0
  61. package/esm2022/lib/models/query-params.mjs +2 -0
  62. package/esm2022/lib/models/request-status.mjs +5 -0
  63. package/esm2022/lib/models/resend-otp-data.mjs +2 -0
  64. package/esm2022/lib/models/sign-up.mjs +2 -0
  65. package/esm2022/lib/models/single-sign-on.mjs +2 -0
  66. package/esm2022/lib/models/status.mjs +6 -0
  67. package/esm2022/lib/models/user-access-request-status.mjs +7 -0
  68. package/esm2022/lib/models/user-access-request.mjs +2 -0
  69. package/esm2022/lib/models/user.mjs +2 -0
  70. package/esm2022/lib/services/environment.service.mjs +26 -0
  71. package/esm2022/lib/services/http-web-request.service.mjs +82 -0
  72. package/esm2022/lib/services/util.service.mjs +32 -0
  73. package/esm2022/public-api.mjs +43 -0
  74. package/esm2022/verben-authentication-ui.mjs +5 -0
  75. package/fesm2022/verben-authentication-ui.mjs +3702 -0
  76. package/fesm2022/verben-authentication-ui.mjs.map +1 -0
  77. package/index.d.ts +5 -0
  78. package/lib/components/button/button.component.d.ts +17 -0
  79. package/lib/components/button/button.module.d.ts +10 -0
  80. package/{src/lib/components/forgot-password/ForgotPasswordData.ts → lib/components/forgot-password/ForgotPasswordData.d.ts} +1 -1
  81. package/lib/components/forgot-password/forgot-password.component.d.ts +29 -0
  82. package/lib/components/forgot-password/forgot-password.module.d.ts +10 -0
  83. package/lib/components/mail/mail.component.d.ts +32 -0
  84. package/lib/components/mail/mail.module.d.ts +11 -0
  85. package/lib/components/mail-validation/mail-validation.component.d.ts +42 -0
  86. package/lib/components/mail-validation/mail-validation.module.d.ts +10 -0
  87. package/lib/components/o-auth/o-auth.component.d.ts +27 -0
  88. package/lib/components/o-auth/o-auth.module.d.ts +9 -0
  89. package/lib/components/otp-input/otp-input.component.d.ts +20 -0
  90. package/lib/components/otp-input/otp-input.module.d.ts +13 -0
  91. package/lib/components/reset-password/ResetPasswordData.d.ts +5 -0
  92. package/lib/components/reset-password/reset-password.component.d.ts +30 -0
  93. package/lib/components/reset-password/reset-password.module.d.ts +10 -0
  94. package/lib/components/sign-in/sign-in.component.d.ts +81 -0
  95. package/lib/components/sign-in/sign-in.module.d.ts +13 -0
  96. package/lib/components/sign-up/sign-up.component.d.ts +66 -0
  97. package/lib/components/sign-up/sign-up.module.d.ts +13 -0
  98. package/lib/components/sso/base-table-style.d.ts +1 -0
  99. package/lib/components/sso/helper.d.ts +2 -0
  100. package/lib/components/sso/sso-form/sso-form.component.d.ts +21 -0
  101. package/lib/components/sso/sso.columns.d.ts +3 -0
  102. package/lib/components/sso/sso.component.d.ts +54 -0
  103. package/lib/components/sso/sso.module.d.ts +11 -0
  104. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +67 -0
  105. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +12 -0
  106. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +39 -0
  107. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +9 -0
  108. package/lib/components/user-management/base-table-style.d.ts +1 -0
  109. package/lib/components/user-management/helper.d.ts +2 -0
  110. package/lib/components/user-management/useer-management.module.d.ts +11 -0
  111. package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +20 -0
  112. package/lib/components/user-management/user-management.columns.d.ts +3 -0
  113. package/lib/components/user-management/user-management.component.d.ts +60 -0
  114. package/lib/components/user-request/user-request.component.d.ts +60 -0
  115. package/lib/components/user-request/user-request.module.d.ts +10 -0
  116. package/lib/components/user-request-approval/access-request.columns.d.ts +3 -0
  117. package/lib/components/user-request-approval/base-table-style.d.ts +1 -0
  118. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +23 -0
  119. package/lib/components/user-request-approval/helper.d.ts +6 -0
  120. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +50 -0
  121. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +21 -0
  122. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +12 -0
  123. package/lib/components/user-request-approval/user-request-approval.component.d.ts +59 -0
  124. package/lib/components/user-request-approval/user-request-approval.module.d.ts +12 -0
  125. package/lib/components/user-request-approval/user-request-approval.service.d.ts +18 -0
  126. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +21 -0
  127. package/lib/models/ErrorResponse.d.ts +6 -0
  128. package/lib/models/PasswordRequestParam.d.ts +5 -0
  129. package/lib/models/ResponseKeyValue.d.ts +5 -0
  130. package/lib/models/UserRequest.d.ts +24 -0
  131. package/lib/models/auth-mechanism.d.ts +13 -0
  132. package/lib/models/base.d.ts +10 -0
  133. package/lib/models/log-in.d.ts +7 -0
  134. package/{src/lib/models/mainUser.ts → lib/models/mainUser.d.ts} +2 -3
  135. package/lib/models/object-state.d.ts +6 -0
  136. package/{src/lib/models/otpValue.ts → lib/models/otpValue.d.ts} +1 -3
  137. package/lib/models/paged.d.ts +9 -0
  138. package/lib/models/query-params.d.ts +7 -0
  139. package/lib/models/request-status.d.ts +3 -0
  140. package/lib/models/resend-otp-data.d.ts +8 -0
  141. package/lib/models/sign-up.d.ts +9 -0
  142. package/lib/models/single-sign-on.d.ts +7 -0
  143. package/lib/models/status.d.ts +4 -0
  144. package/lib/models/user-access-request-status.d.ts +5 -0
  145. package/{src/lib/models/user-access-request.ts → lib/models/user-access-request.d.ts} +3 -4
  146. package/lib/models/user.d.ts +23 -0
  147. package/lib/services/environment.service.d.ts +16 -0
  148. package/lib/services/http-web-request.service.d.ts +23 -0
  149. package/lib/services/util.service.d.ts +8 -0
  150. package/package.json +14 -8
  151. package/{src/public-api.ts → public-api.d.ts} +0 -21
  152. package/ng-package.json +0 -8
  153. package/src/lib/components/button/button.component.css +0 -3
  154. package/src/lib/components/button/button.component.html +0 -13
  155. package/src/lib/components/button/button.component.spec.ts +0 -23
  156. package/src/lib/components/button/button.component.ts +0 -24
  157. package/src/lib/components/button/button.module.ts +0 -11
  158. package/src/lib/components/forgot-password/forgot-password.component.css +0 -29
  159. package/src/lib/components/forgot-password/forgot-password.component.html +0 -13
  160. package/src/lib/components/forgot-password/forgot-password.component.spec.ts +0 -23
  161. package/src/lib/components/forgot-password/forgot-password.component.ts +0 -86
  162. package/src/lib/components/forgot-password/forgot-password.module.ts +0 -18
  163. package/src/lib/components/mail/mail.component.css +0 -0
  164. package/src/lib/components/mail/mail.component.html +0 -11
  165. package/src/lib/components/mail/mail.component.spec.ts +0 -23
  166. package/src/lib/components/mail/mail.component.ts +0 -47
  167. package/src/lib/components/mail/mail.module.ts +0 -13
  168. package/src/lib/components/mail-validation/mail-validation.component.css +0 -59
  169. package/src/lib/components/mail-validation/mail-validation.component.html +0 -37
  170. package/src/lib/components/mail-validation/mail-validation.component.spec.ts +0 -23
  171. package/src/lib/components/mail-validation/mail-validation.component.ts +0 -66
  172. package/src/lib/components/mail-validation/mail-validation.module.ts +0 -18
  173. package/src/lib/components/o-auth/o-auth.component.css +0 -21
  174. package/src/lib/components/o-auth/o-auth.component.html +0 -60
  175. package/src/lib/components/o-auth/o-auth.component.spec.ts +0 -23
  176. package/src/lib/components/o-auth/o-auth.component.ts +0 -43
  177. package/src/lib/components/o-auth/o-auth.module.ts +0 -11
  178. package/src/lib/components/otp-input/otp-input.component.css +0 -19
  179. package/src/lib/components/otp-input/otp-input.component.html +0 -14
  180. package/src/lib/components/otp-input/otp-input.component.spec.ts +0 -23
  181. package/src/lib/components/otp-input/otp-input.component.ts +0 -73
  182. package/src/lib/components/otp-input/otp-input.module.ts +0 -15
  183. package/src/lib/components/reset-password/ResetPasswordData.ts +0 -5
  184. package/src/lib/components/reset-password/reset-password.component.css +0 -29
  185. package/src/lib/components/reset-password/reset-password.component.html +0 -22
  186. package/src/lib/components/reset-password/reset-password.component.spec.ts +0 -23
  187. package/src/lib/components/reset-password/reset-password.component.ts +0 -108
  188. package/src/lib/components/reset-password/reset-password.module.ts +0 -18
  189. package/src/lib/components/sign-in/sign-in.component.css +0 -21
  190. package/src/lib/components/sign-in/sign-in.component.html +0 -84
  191. package/src/lib/components/sign-in/sign-in.component.spec.ts +0 -23
  192. package/src/lib/components/sign-in/sign-in.component.ts +0 -184
  193. package/src/lib/components/sign-in/sign-in.module.ts +0 -17
  194. package/src/lib/components/sign-up/sign-up.component.css +0 -36
  195. package/src/lib/components/sign-up/sign-up.component.html +0 -132
  196. package/src/lib/components/sign-up/sign-up.component.spec.ts +0 -23
  197. package/src/lib/components/sign-up/sign-up.component.ts +0 -176
  198. package/src/lib/components/sign-up/sign-up.module.ts +0 -15
  199. package/src/lib/components/sso/base-table-style.ts +0 -52
  200. package/src/lib/components/sso/helper.ts +0 -15
  201. package/src/lib/components/sso/sso-form/sso-form.component.css +0 -13
  202. package/src/lib/components/sso/sso-form/sso-form.component.html +0 -109
  203. package/src/lib/components/sso/sso-form/sso-form.component.spec.ts +0 -23
  204. package/src/lib/components/sso/sso-form/sso-form.component.ts +0 -70
  205. package/src/lib/components/sso/sso.columns.ts +0 -32
  206. package/src/lib/components/sso/sso.component.css +0 -47
  207. package/src/lib/components/sso/sso.component.html +0 -208
  208. package/src/lib/components/sso/sso.component.spec.ts +0 -23
  209. package/src/lib/components/sso/sso.component.ts +0 -261
  210. package/src/lib/components/sso/sso.module.ts +0 -40
  211. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.css +0 -8
  212. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html +0 -30
  213. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.spec.ts +0 -23
  214. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts +0 -183
  215. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts +0 -15
  216. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.css +0 -17
  217. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html +0 -45
  218. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.spec.ts +0 -23
  219. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts +0 -57
  220. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts +0 -11
  221. package/src/lib/components/user-management/base-table-style.ts +0 -52
  222. package/src/lib/components/user-management/helper.ts +0 -29
  223. package/src/lib/components/user-management/index.ts +0 -4
  224. package/src/lib/components/user-management/useer-management.module.ts +0 -48
  225. package/src/lib/components/user-management/user-management-form/use-management-form.component.ts +0 -61
  226. package/src/lib/components/user-management/user-management-form/user-management-form.component.css +0 -0
  227. package/src/lib/components/user-management/user-management-form/user-management-form.component.html +0 -91
  228. package/src/lib/components/user-management/user-management-form/user-management-form.component.spec.ts +0 -23
  229. package/src/lib/components/user-management/user-management.columns.ts +0 -45
  230. package/src/lib/components/user-management/user-management.component.css +0 -26
  231. package/src/lib/components/user-management/user-management.component.html +0 -275
  232. package/src/lib/components/user-management/user-management.component.spec.ts +0 -23
  233. package/src/lib/components/user-management/user-management.component.ts +0 -380
  234. package/src/lib/components/user-management/user-management.service.ts +0 -42
  235. package/src/lib/components/user-request/user-request.component.css +0 -91
  236. package/src/lib/components/user-request/user-request.component.html +0 -165
  237. package/src/lib/components/user-request/user-request.component.spec.ts +0 -23
  238. package/src/lib/components/user-request/user-request.component.ts +0 -167
  239. package/src/lib/components/user-request/user-request.module.ts +0 -18
  240. package/src/lib/components/user-request-approval/access-request.columns.ts +0 -26
  241. package/src/lib/components/user-request-approval/base-table-style.ts +0 -52
  242. package/src/lib/components/user-request-approval/facades/user-access-request.facade.ts +0 -152
  243. package/src/lib/components/user-request-approval/helper.ts +0 -39
  244. package/src/lib/components/user-request-approval/services/user-access-request.service.spec.ts +0 -16
  245. package/src/lib/components/user-request-approval/services/user-access-request.service.ts +0 -87
  246. package/src/lib/components/user-request-approval/states/user-access-request.state.ts +0 -65
  247. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.css +0 -0
  248. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html +0 -7
  249. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.spec.ts +0 -23
  250. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts +0 -22
  251. package/src/lib/components/user-request-approval/user-request-approval.component.css +0 -1
  252. package/src/lib/components/user-request-approval/user-request-approval.component.html +0 -218
  253. package/src/lib/components/user-request-approval/user-request-approval.component.spec.ts +0 -23
  254. package/src/lib/components/user-request-approval/user-request-approval.component.ts +0 -301
  255. package/src/lib/components/user-request-approval/user-request-approval.module.ts +0 -52
  256. package/src/lib/components/user-request-approval/user-request-approval.service.spec.ts +0 -16
  257. package/src/lib/components/user-request-approval/user-request-approval.service.ts +0 -58
  258. package/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts +0 -66
  259. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.css +0 -0
  260. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html +0 -97
  261. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.spec.ts +0 -23
  262. package/src/lib/models/ErrorResponse.ts +0 -7
  263. package/src/lib/models/PasswordRequestParam.ts +0 -5
  264. package/src/lib/models/ResponseKeyValue.ts +0 -5
  265. package/src/lib/models/UserRequest.ts +0 -28
  266. package/src/lib/models/auth-mechanism.ts +0 -14
  267. package/src/lib/models/base.ts +0 -11
  268. package/src/lib/models/log-in.ts +0 -7
  269. package/src/lib/models/object-state.ts +0 -6
  270. package/src/lib/models/paged.ts +0 -9
  271. package/src/lib/models/query-params.ts +0 -7
  272. package/src/lib/models/request-status.ts +0 -4
  273. package/src/lib/models/resend-otp-data.ts +0 -8
  274. package/src/lib/models/resource.ts +0 -27
  275. package/src/lib/models/sign-up.ts +0 -11
  276. package/src/lib/models/single-sign-on.ts +0 -9
  277. package/src/lib/models/status.ts +0 -5
  278. package/src/lib/models/user-access-request-status.ts +0 -5
  279. package/src/lib/models/user.ts +0 -24
  280. package/src/lib/services/environment.service.spec.ts +0 -16
  281. package/src/lib/services/environment.service.ts +0 -23
  282. package/src/lib/services/http-web-request.service.spec.ts +0 -16
  283. package/src/lib/services/http-web-request.service.ts +0 -101
  284. package/src/lib/services/util.service.spec.ts +0 -16
  285. package/src/lib/services/util.service.ts +0 -28
  286. package/src/styles.css +0 -96
  287. package/src/theme/tailwind-setup.css +0 -3
  288. package/src/theme/tailwind.css +0 -980
  289. package/tailwind.config.js +0 -20
  290. package/tsconfig.lib.json +0 -15
  291. package/tsconfig.lib.prod.json +0 -11
  292. package/tsconfig.spec.json +0 -15
@@ -1,218 +0,0 @@
1
- <div class="space-y-8">
2
- <verben-data-view
3
- #vdv
4
- [viewState]="{
5
- isSearch: true,
6
- isColumn: true,
7
- isFilter: true,
8
- isSort: true,
9
- isExport: true,
10
- isSelect: true,
11
- isCreate: false,
12
- isToggle: true,
13
- }"
14
- [buttonClass]="'my-custom-button-class'"
15
- [iconClass]="'my-icon-class'"
16
- [activeIconClass]="'my-active-icon-class'"
17
- [selectedColumnCount]="0"
18
- [selectedSortCount]="0"
19
- [selectedFilterTableCount]="0"
20
- (viewChange)="onViewChange($event)"
21
- (stateChange)="onStateChange($event)"
22
- >
23
- <div table-content>
24
- <lib-data-table
25
- [data]="data()"
26
- [columns]="visibleColumnDef"
27
- [styleConfig]="styles"
28
- (selectionChange)="onSelectionChange($event)"
29
- >
30
- <ng-container libColumn="createdAt">
31
- <ng-template #cell let-value>
32
- {{ value | date }}
33
- </ng-template>
34
- </ng-container>
35
- <ng-container libColumn="actions">
36
- <ng-template #cell let-value let-deleteRow>
37
- <div class="flex gap-6">
38
- <verben-svg
39
- (click)="openDetailView(value)"
40
- icon="edit"
41
- [width]="15"
42
- [height]="15"
43
- class="cursor-pointer"
44
- ></verben-svg>
45
- <!-- <button (click)="openDetailView(value)">Open</button>
46
- <button (click)="selected = cardData[rowIndex]; vdv.toggleView()">
47
- Switch
48
- </button> -->
49
- <verben-svg
50
- icon="delete"
51
- [width]="15"
52
- [height]="15"
53
- (click)="deleteRow()"
54
- class="cursor-pointer"
55
- ></verben-svg>
56
- </div>
57
- </ng-template>
58
- <ng-template #header>
59
- <strong>Actions</strong>
60
- </ng-template>
61
- </ng-container>
62
- </lib-data-table>
63
- </div>
64
- <div card-content>
65
- <verben-card-data-view
66
- borderRadius="12px"
67
- (loadMoreClick)="loadMore()"
68
- #vdcv
69
- dataId="MailAddress"
70
- border="5px"
71
- [cardDataList]="cardData()"
72
- rbgColor="#f5f6f9"
73
- mg="20px"
74
- >
75
- <verben-left-card-data-view class="space-y-7">
76
- <verben-left-card-data
77
- #vlcd
78
- [parent]="vdcv"
79
- dataId="MailAddress"
80
- class="bg-secondary-100 rounded-xl border-primary border-[1px]"
81
- [cardDataList]="cardData()"
82
- >
83
- <ng-template #card let-item>
84
- <div (click)="currentData = vdcv.onItemClick(item)" class="flex">
85
- <div
86
- (click)="currentData = vdcv.onItemClick(item)"
87
- class="flex cursor-pointer w-full bg-secondary rounded-xl"
88
- >
89
- <div
90
- class="w-3 rounded-xl rounded-tr-none rounded-br-none"
91
- [ngClass]="
92
- item.selected ? 'bg-primary' : 'bg-secondary-200'
93
- "
94
- ></div>
95
- <div class="flex flex-col py-2 px-4 w-full">
96
- <div class="flex items-center gap-4 justify-between">
97
- <div class="grid gap-y-2">
98
- <span class="font-semibold text-[#404040]">{{
99
- item.title
100
- }}</span>
101
- <p class="flex items-center">
102
- <label for="phone" class="text-[10px] font-light"
103
- >Phone Number:</label
104
- >
105
- <span id="phone" class="text-sm">{{
106
- item.data.PhoneNumber
107
- }}</span>
108
- </p>
109
- </div>
110
-
111
- <div class="grid gap-y-2">
112
- <p class="grid">
113
- <label for="role" class="text-[10px] font-light"
114
- >Role</label
115
- >
116
- <span id="role" class="text-sm">Manager</span>
117
- </p>
118
-
119
- <lib-user-access-request-status-badge
120
- [status]="item.data.RequestStatus"
121
- ></lib-user-access-request-status-badge>
122
- </div>
123
- </div>
124
-
125
- <!-- <div class="flex">
126
- <span class="font-normal text-sm">{{ item.title }}</span>
127
- </div>
128
- @for (ciItem of item.body; track ciItem.value) {
129
- <div class="">
130
- <span class="text-muted font-light text-xs"
131
- >{{ ciItem.title }}:</span
132
- >
133
- <span class="text-black">{{ ciItem.value }}</span>
134
- </div>
135
- } -->
136
- </div>
137
- </div>
138
- </div>
139
- </ng-template>
140
- </verben-left-card-data>
141
- </verben-left-card-data-view>
142
-
143
- <verben-right-card-data-view>
144
- <ng-template #parent>
145
- <lib-user-request-form
146
- [currentData]="currentData"
147
- (switchView)="vdv.toggleView()"
148
- (onApproval)="onApprove($event)"
149
- ></lib-user-request-form>
150
- </ng-template>
151
- </verben-right-card-data-view>
152
-
153
- <verben-card-data-view-footer class="float-right">
154
- <div class="flex gap-2">
155
- <!-- <span class="paginator-text"
156
- >{{ data().length }} records loaded</span
157
- > -->
158
- <span></span>
159
- <button (click)="loadMore()" class="load-more">Load more</button>
160
- </div>
161
- </verben-card-data-view-footer>
162
- </verben-card-data-view>
163
- </div>
164
- <div column-content>
165
- <verben-visible-column
166
- (columnsUpdated)="onColumnsUpdated($event)"
167
- [border]="'1px solid rgba(212, 160, 7, 1)'"
168
- borderRadius="10px"
169
- boxShadow="2px 2px 2px 0px silver"
170
- bgColor="white"
171
- width="400px"
172
- textColor="black"
173
- pd="1rem"
174
- primaryColor="#FFE681"
175
- secondaryColor="#3479E9"
176
- [columns]="visibleColumns"
177
- [displayedColumns]="5"
178
- ></verben-visible-column>
179
- </div>
180
- <div filter-content>
181
- <verben-table-filter
182
- [border]="'1px solid rgba(212, 160, 7, 1)'"
183
- borderRadius="10px"
184
- boxShadow="2px 2px 2px 0px silver"
185
- bgColor="white"
186
- width="420px"
187
- textColor="black"
188
- pd="1rem"
189
- primaryColor="#FFE681"
190
- secondaryColor="#3479E9"
191
- tertiaryColor="#404040"
192
- [filterOptions]="filterArray"
193
- [maxFilterLength]="3"
194
- ></verben-table-filter>
195
- </div>
196
- <div sort-content>
197
- <verben-sort-table
198
- (selectedOptions)="onSortUpdated($event)"
199
- [border]="'1px solid rgba(212, 160, 7, 1)'"
200
- borderRadius="10px"
201
- boxShadow="2px 2px 2px 0px silver"
202
- bgColor="white"
203
- width="400px"
204
- textColor="black"
205
- pd="1rem"
206
- primaryColor="#FFE681"
207
- secondaryColor="#3479E9"
208
- tertiaryColor="#404040"
209
- [enableDragAndDrop]="true"
210
- [sortOptions]="sortOptions"
211
- ></verben-sort-table>
212
- </div>
213
- <div export-content>
214
- <lib-data-export [data]="data()" (exportDataEvent)="handleExport($event)">
215
- </lib-data-export>
216
- </div>
217
- </verben-data-view>
218
- </div>
@@ -1,23 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { UserRequestApprovalComponent } from './user-request-approval.component';
4
-
5
- describe('UserRequestApprovalComponent', () => {
6
- let component: UserRequestApprovalComponent;
7
- let fixture: ComponentFixture<UserRequestApprovalComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [UserRequestApprovalComponent]
12
- })
13
- .compileComponents();
14
-
15
- fixture = TestBed.createComponent(UserRequestApprovalComponent);
16
- component = fixture.componentInstance;
17
- fixture.detectChanges();
18
- });
19
-
20
- it('should create', () => {
21
- expect(component).toBeTruthy();
22
- });
23
- });
@@ -1,301 +0,0 @@
1
- import {
2
- ChangeDetectionStrategy,
3
- ChangeDetectorRef,
4
- Component,
5
- computed,
6
- OnInit,
7
- Signal,
8
- signal,
9
- ViewChild,
10
- WritableSignal,
11
- } from '@angular/core';
12
- import { columns } from './access-request.columns';
13
- import { mockData } from './helper';
14
- import { baseStyle } from './base-table-style';
15
- import { UserAccessRequest } from '../../models/user-access-request';
16
- import {
17
- CardData,
18
- CardDataViewComponent,
19
- ColumnDefinition,
20
- DataFilterType,
21
- DataViewComponent,
22
- IDataFilter,
23
- } from 'verben-ng-ui';
24
- import { UserRequestApprovalService } from './user-request-approval.service';
25
- import { UserAccessRequestFacade } from './facades/user-access-request.facade';
26
-
27
- interface UserFormData {
28
- MailAddress: string;
29
- Name: string;
30
- PhoneNumber: string;
31
- }
32
-
33
- @Component({
34
- selector: 'lib-user-request-approval',
35
- templateUrl: './user-request-approval.component.html',
36
- styleUrl: './user-request-approval.component.css',
37
- // changeDetection: ChangeDetectionStrategy.OnPush,
38
- })
39
- export class UserRequestApprovalComponent implements OnInit {
40
- @ViewChild('vdcv') cardDataView!: CardDataViewComponent;
41
- @ViewChild('vdv') dataView!: DataViewComponent;
42
-
43
- columns: ColumnDefinition<UserAccessRequest>[] = columns;
44
- // visibleColumnDef: WritableSignal<ColumnDefinition<UserAccessRequest>[]> =
45
- // signal(columns);
46
- visibleColumnDef = this.columns;
47
- data: WritableSignal<UserAccessRequest[]> = signal([]);
48
- styles = baseStyle;
49
- currentData: CardData | null = null;
50
- isGridView = true;
51
- selected: CardData | null = null;
52
-
53
- cardData: Signal<CardData[]> = computed(() =>
54
- this.data()?.map(
55
- ({
56
- FirstName,
57
- LastName,
58
- MailAddress,
59
- PhoneNumber,
60
- RoleID,
61
- RequestStatus,
62
- }) => ({
63
- selected: false,
64
- title: `${FirstName} ${LastName}`,
65
- data: {
66
- FirstName,
67
- LastName,
68
- MailAddress,
69
- PhoneNumber,
70
- RoleID,
71
- RequestStatus,
72
- } as Partial<UserAccessRequest>,
73
- body: [
74
- { title: 'Name', value: `${FirstName} ${LastName}` },
75
- { title: 'E-Mail Address', value: MailAddress },
76
- { title: 'Phone Number', value: PhoneNumber ?? '' },
77
- ],
78
- children: [],
79
- })
80
- )
81
- );
82
-
83
- constructor(
84
- private cdr: ChangeDetectorRef,
85
- // private service: UserRequestApprovalService,
86
- private userAccessRequestFacade: UserAccessRequestFacade
87
- ) {}
88
-
89
- async ngOnInit() {
90
- // this.data = this.service.getMockUserRequests();
91
- this.userAccessRequestFacade.getRequests$().subscribe((data) => {
92
- this.data.set(data);
93
- });
94
-
95
- try {
96
- await this.userAccessRequestFacade.loadRequests();
97
- } catch (error) {
98
- // Handle error
99
- }
100
- }
101
-
102
- // To search with parameter:
103
- async searchRequests(param: string) {
104
- try {
105
- await this.userAccessRequestFacade.loadRequestsWithParam(param);
106
- } catch (error) {
107
- // Handle error
108
- }
109
- }
110
-
111
- async onApprove(mailAddress: string) {
112
- const data = this.data().find(
113
- ({ MailAddress }) => MailAddress === mailAddress
114
- );
115
-
116
- if (data) {
117
- await this.userAccessRequestFacade.approveRequest(data);
118
- }
119
- }
120
-
121
- openDetailView(mailAddress: string) {
122
- const cardItem = this.getCardDataByMailAddress(mailAddress);
123
- if (cardItem && this.cardDataView) {
124
- this.dataView.toggleView();
125
- // First reset all selections
126
- this.cardData().forEach((item) => {
127
- item.selected = false;
128
- if (item.children) {
129
- item.children.forEach((child) => (child.selected = false));
130
- }
131
- });
132
-
133
- // Set the selected item
134
- cardItem.selected = true;
135
- this.currentData = this.cardDataView.onItemClick(cardItem);
136
-
137
- // Force change detection if needed
138
- // this.changeDetectorRef.detectChanges();
139
- }
140
- }
141
-
142
- getCardDataByMailAddress(mailAddress: string): CardData | undefined {
143
- return this.cardData().find(({ data }) => data.MailAddress === mailAddress);
144
- }
145
-
146
- onViewChange(isGridView: boolean): void {
147
- this.isGridView = isGridView;
148
- // Reset selection when switching views
149
- if (this.currentData) {
150
- this.cardDataView?.clearData();
151
- this.currentData = null;
152
- }
153
-
154
- console.log('SELECTED', this.selected);
155
-
156
- if (this.selected) {
157
- this.cardDataView.onItemClick(this.selected);
158
- }
159
- }
160
-
161
- openFormView(index: number) {
162
- const item = this.cardData()[index];
163
- console.log('ITEM = ', item);
164
- }
165
-
166
- handleExport(exportedData: Partial<any>[]) {
167
- console.log('Exported data:', exportedData);
168
- this.downloadCSV(exportedData);
169
- }
170
-
171
- /**
172
- *
173
- * @param data Simple csv export for testing
174
- */
175
- private downloadCSV(data: Partial<any>[]) {
176
- const headers = Object.keys(data[0]);
177
- const csvContent = [
178
- headers.join(','),
179
- ...data.map((row) => headers.map((header) => row[header]).join(',')),
180
- ].join('\n');
181
-
182
- const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
183
- const link = document.createElement('a');
184
- if (link.download !== undefined) {
185
- const url = URL.createObjectURL(blob);
186
- link.setAttribute('href', url);
187
- link.setAttribute('download', 'export.csv');
188
- link.style.visibility = 'hidden';
189
- document.body.appendChild(link);
190
- link.click();
191
- document.body.removeChild(link);
192
- }
193
- }
194
-
195
- onSelectionChange(selectedRows: UserAccessRequest[]) {
196
- console.log('Selection changed:', selectedRows);
197
- // Handle the selection change
198
- }
199
-
200
- /**
201
- * Copied over from card view doc until I understand usage
202
- */
203
- selectedColumnCount: number = 0;
204
- selectedFilterTableCount: number = 0;
205
- isOPen: boolean = true;
206
- selectedSortCount: number = 0;
207
- showColumn: boolean = false;
208
- showSort: boolean = false;
209
- selectedAll: boolean = false;
210
- visibleColumns: IDataFilter[] = columns.map((col) => ({
211
- checked: true,
212
- name: typeof col.header === 'string' ? col.header : col.id,
213
- type: DataFilterType.Bool,
214
- }));
215
- filterArray: IDataFilter[] = [
216
- {
217
- name: 'Name',
218
- type: DataFilterType.String,
219
- checked: false,
220
- },
221
- {
222
- name: 'MailAddress',
223
- type: DataFilterType.String,
224
- checked: false,
225
- },
226
- {
227
- name: 'PhoneNumber',
228
- type: DataFilterType.String,
229
- checked: false,
230
- },
231
- {
232
- name: 'CreatedAt',
233
- type: DataFilterType.Date,
234
- checked: false,
235
- },
236
- ];
237
-
238
- sortOptions: IDataFilter[] = [
239
- {
240
- name: 'Name',
241
- type: DataFilterType.String,
242
- checked: false,
243
- },
244
- {
245
- name: 'MailAddress',
246
- type: DataFilterType.String,
247
- checked: false,
248
- },
249
- {
250
- name: 'PhoneNumber',
251
- type: DataFilterType.String,
252
- checked: false,
253
- },
254
- {
255
- name: 'CreatedAt',
256
- type: DataFilterType.Date,
257
- checked: false,
258
- },
259
- ];
260
- clearData() {
261
- this.currentData = {} as CardData;
262
- }
263
- loadMore() {
264
- // this.cardData = this.cardData.concat(this.cardData);
265
- }
266
- onColumnChange(event: boolean) {
267
- this.showColumn = event;
268
- }
269
- onSortChange(event: boolean) {
270
- this.showSort = event;
271
- console.log(event);
272
- }
273
- onColumnsUpdated(updatedColumns: IDataFilter[]) {
274
- console.log(updatedColumns);
275
- const updatedColumnDef: ColumnDefinition<UserAccessRequest>[] = [];
276
- updatedColumns.forEach((col) => {
277
- const matchingCol = this.columns.find(
278
- (column) => column.header === col.name || column.id === col.name
279
- );
280
- if (matchingCol) {
281
- updatedColumnDef.push(matchingCol);
282
- }
283
- });
284
-
285
- console.log(updatedColumnDef);
286
- this.visibleColumnDef = [...updatedColumnDef];
287
- this.cdr.markForCheck();
288
-
289
- this.onColumnChange(false);
290
- this.selectedColumnCount = updatedColumns.length;
291
- }
292
- onSortUpdated(updatedSorts: IDataFilter[]) {
293
- this.onSortChange(false);
294
- this.selectedSortCount = updatedSorts.length;
295
- console.log(updatedSorts);
296
- }
297
-
298
- onStateChange(event: { key: string; value: boolean }): void {
299
- console.log(`State changed for ${event.key}:`, event.value);
300
- }
301
- }
@@ -1,52 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { UserRequestApprovalComponent } from './user-request-approval.component';
4
- import {
5
- CardDataViewModule,
6
- CardModule,
7
- DataExportModule,
8
- DataTableModule,
9
- DataViewModule,
10
- DropDownModule,
11
- SortTableModule,
12
- SvgModule,
13
- TableFilterModule,
14
- VerbenaBadgeModule,
15
- VerbenaButtonModule,
16
- VerbenaInputModule,
17
- VisibleColumnModule,
18
- } from 'verben-ng-ui';
19
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
20
- import { UserRequestFormComponent } from './user-request-form/use-request-form.component';
21
- import { UserAccessRequestStatusBadgeComponent } from './user-access-request-status-badge/user-access-request-status-badge.component';
22
- import { UserRequestApprovalService } from './user-request-approval.service';
23
-
24
- @NgModule({
25
- declarations: [
26
- UserRequestApprovalComponent,
27
- UserRequestFormComponent,
28
- UserAccessRequestStatusBadgeComponent,
29
- ],
30
- imports: [
31
- CommonModule,
32
-
33
- DataTableModule,
34
- CardModule,
35
- SvgModule,
36
- DataViewModule,
37
- CardDataViewModule,
38
- SortTableModule,
39
- VisibleColumnModule,
40
- TableFilterModule,
41
- DataExportModule,
42
- FormsModule,
43
- ReactiveFormsModule,
44
- VerbenaInputModule,
45
- VerbenaButtonModule,
46
- VerbenaBadgeModule,
47
- DropDownModule,
48
- ],
49
- providers: [UserRequestApprovalService],
50
- exports: [UserRequestApprovalComponent],
51
- })
52
- export class LibUserRequestApprovalModule {}
@@ -1,16 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
-
3
- import { UserRequestApprovalService } from './user-request-approval.service';
4
-
5
- describe('UserRequestApprovalService', () => {
6
- let service: UserRequestApprovalService;
7
-
8
- beforeEach(() => {
9
- TestBed.configureTestingModule({});
10
- service = TestBed.inject(UserRequestApprovalService);
11
- });
12
-
13
- it('should be created', () => {
14
- expect(service).toBeTruthy();
15
- });
16
- });
@@ -1,58 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Inject, Injectable, InjectionToken } from '@angular/core';
3
- import { UserAccessRequest } from '../../models/user-access-request';
4
- import { UserAccessRequestStatus } from '../../models/user-access-request-status';
5
- import { ObjectState } from '../../models/object-state';
6
- import { mockData } from './helper';
7
-
8
- export interface ServiceConfig {
9
- resourceEndpoint: string;
10
- }
11
-
12
- export const SERVICE_CONFIG = new InjectionToken<ServiceConfig>(
13
- 'ServiceConfig'
14
- );
15
-
16
- @Injectable()
17
- export class UserRequestApprovalService {
18
- // protected readonly baseUrl: string;
19
- protected readonly resourceEndpoint: string;
20
- roles: { id: string; name: string }[] = [
21
- { id: 'admin', name: 'Admin' },
22
- { id: 'manager', name: 'Manager' },
23
- { id: 'staff', name: 'Staff' },
24
- ];
25
-
26
- constructor() { // @Inject(SERVICE_CONFIG) config: ServiceConfig // protected httpClient: HttpClient,
27
- // this.baseUrl = environment.serviceUrl;
28
- // this.resourceEndpoint = config.resourceEndpoint;
29
- this.resourceEndpoint = '';
30
- }
31
-
32
- getMockUserRequests(): UserAccessRequest[] {
33
- return mockData;
34
- }
35
-
36
- // getUserRequests() {
37
- // return this.httpClient.get<UserAccessRequest[]>(`${this.resourceEndpoint}`);
38
- // }
39
-
40
- // getUserRequestById(id: number) {
41
- // return this.httpClient.get<UserAccessRequest>(
42
- // `${this.resourceEndpoint}/${id}`
43
- // );
44
- // }
45
-
46
- // processUserReuqests(ids: string[], approval: boolean = true) {
47
- // return this.httpClient.post<UserAccessRequest[]>(
48
- // `${this.resourceEndpoint}`,
49
- // ids
50
- // );
51
- // }
52
- }
53
-
54
- function randomEnum<T extends object>(anEnum: T): T[keyof T] {
55
- const enumValues = Object.values(anEnum) as unknown as T[keyof T][];
56
- const randomIndex = Math.floor(Math.random() * enumValues.length);
57
- return enumValues[randomIndex];
58
- }