verben-authentication-ui 1.0.31 → 1.0.33

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.
@@ -3,7 +3,6 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "verben-authentication-ui/src/lib/services";
4
4
  export class UserAccessRequestService {
5
5
  httpService;
6
- BASE_URL = 'User';
7
6
  constructor(httpService) {
8
7
  this.httpService = httpService;
9
8
  }
@@ -37,7 +36,7 @@ export class UserAccessRequestService {
37
36
  * @returns Promise containing the filtered user access requests
38
37
  */
39
38
  getUserAccessRequestWithParam(param, skip, limit, sortParam, sortOrder) {
40
- const url = `${this.BASE_URL}/GetUserAccessRequestWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;
39
+ const url = `GetUserAccessRequestWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;
41
40
  return this.httpService.get(url);
42
41
  }
43
42
  /**
@@ -50,7 +49,7 @@ export class UserAccessRequestService {
50
49
  * @returns Promise containing the filtered user access requests
51
50
  */
52
51
  getUserAccessRequestByFilterParams(params, skip, limit, sortParam, sortOrder) {
53
- const url = `${this.BASE_URL}/SearchUserAccessRequest/${skip}/${limit}/${sortParam}/${sortOrder}`;
52
+ const url = `SearchUserAccessRequest/${skip}/${limit}/${sortParam}/${sortOrder}`;
54
53
  return this.httpService.post(url, params);
55
54
  }
56
55
  /**
@@ -59,7 +58,7 @@ export class UserAccessRequestService {
59
58
  * @returns Promise containing the save operation result
60
59
  */
61
60
  saveUserAccessRequests(requests) {
62
- const url = `${this.BASE_URL}/SaveUserAccessRequests`;
61
+ const url = `SaveUserAccessRequests`;
63
62
  return this.httpService.post(url, requests);
64
63
  }
65
64
  /**
@@ -69,7 +68,7 @@ export class UserAccessRequestService {
69
68
  * @returns Promise containing the save operation result
70
69
  */
71
70
  processUserAccessRequests(requests, isApproval) {
72
- const url = `${this.BASE_URL}/UserAccessRequestAction/${isApproval}`;
71
+ const url = `UserAccessRequestAction/${isApproval}`;
73
72
  return this.httpService.post(url, requests);
74
73
  }
75
74
  /**
@@ -78,7 +77,7 @@ export class UserAccessRequestService {
78
77
  * @returns Observable containing the delete operation result
79
78
  */
80
79
  deleteUserAccessRequests(requestIds) {
81
- const url = `${this.BASE_URL}/DeleteUserAccessRequests`;
80
+ const url = `DeleteUserAccessRequests`;
82
81
  return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);
83
82
  }
84
83
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAccessRequestService, deps: [{ token: i1.HttpWebRequestService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -90,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
90
89
  providedIn: 'root',
91
90
  }]
92
91
  }], ctorParameters: () => [{ type: i1.HttpWebRequestService }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXJlcXVlc3QtYXBwcm92YWwvc2VydmljZXMvdXNlci1hY2Nlc3MtcmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWEzQyxNQUFNLE9BQU8sd0JBQXdCO0lBR2Y7SUFGSCxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBRW5DLFlBQW9CLFdBQWtDO1FBQWxDLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtJQUFHLENBQUM7SUFFMUQ7Ozs7Ozs7T0FPRztJQUNILHFCQUFxQixDQUNuQixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLHlCQUF5QixJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUMvRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBc0MsQ0FBQztJQUN4RSxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBeUIsQ0FBQztJQUMzRCxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBd0IsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCw2QkFBNkIsQ0FDM0IsS0FBYSxFQUNiLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxrQ0FBa0MsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2pILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFzQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGtDQUFrQyxDQUNoQyxNQUE2QixFQUM3QixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsNEJBQTRCLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2xHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FFdkMsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsc0JBQXNCLENBQUMsUUFBNkI7UUFDbEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSx5QkFBeUIsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCx5QkFBeUIsQ0FDdkIsUUFBNkIsRUFDN0IsVUFBbUI7UUFFbkIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSw0QkFBNEIsVUFBVSxFQUFFLENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx3QkFBd0IsQ0FBQyxVQUFvQjtRQUMzQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLDJCQUEyQixDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFNBQVMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0EzR1Usd0JBQXdCOzRHQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgVXNlckFjY2Vzc1JlcXVlc3QgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgUGFnZWQgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgU2VhcmNoUHJvcGVydHlWYWx1ZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyQWNjZXNzUmVxdWVzdFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IEJBU0VfVVJMID0gJ1VzZXInO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBXZWJSZXF1ZXN0U2VydmljZSkge31cblxuICAvKipcbiAgICogR2V0IHVzZXIgYWNjZXNzIHJlcXVlc3RzIHdpdGggcGFnaW5hdGlvbiBhbmQgc29ydGluZ1xuICAgKiBAcGFyYW0gc2tpcCBOdW1iZXIgb2YgcmVjb3JkcyB0byBza2lwXG4gICAqIEBwYXJhbSBsaW1pdCBOdW1iZXIgb2YgcmVjb3JkcyB0byB0YWtlXG4gICAqIEBwYXJhbSBzb3J0UGFyYW0gU29ydCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNvcnRPcmRlciBTb3J0IG9yZGVyICgnYXNjJyBvciAnZGVzYycpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgdXNlciBhY2Nlc3MgcmVxdWVzdHNcbiAgICovXG4gIGdldFVzZXJBY2Nlc3NSZXF1ZXN0cyhcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxQYWdlZDxVc2VyQWNjZXNzUmVxdWVzdD4+IHtcbiAgICBjb25zdCB1cmwgPSBgR2V0VXNlckFjY2Vzc1JlcXVlc3RzLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxVc2VyQWNjZXNzUmVxdWVzdD4+O1xuICB9XG5cbiAgZ2V0Um9sZXMoKTogUHJvbWlzZTxQYWdlZDxSb2xlPj4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRSb2xlcy8wLzBgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8Um9sZT4+O1xuICB9XG5cbiAgZ2V0VGFncygpOiBQcm9taXNlPFBhZ2VkPFRhZz4+IHtcbiAgICBjb25zdCB1cmwgPSBgR2V0VGFncy8wLzBgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFnPj47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHVzZXIgYWNjZXNzIHJlcXVlc3RzIHdpdGggYWRkaXRpb25hbCBwYXJhbWV0ZXIsIHBhZ2luYXRpb24gYW5kIHNvcnRpbmdcbiAgICogQHBhcmFtIHBhcmFtIFNlYXJjaCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGZpbHRlcmVkIHVzZXIgYWNjZXNzIHJlcXVlc3RzXG4gICAqL1xuICBnZXRVc2VyQWNjZXNzUmVxdWVzdFdpdGhQYXJhbShcbiAgICBwYXJhbTogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nLFxuICApOiBQcm9taXNlPFBhZ2VkPFVzZXJBY2Nlc3NSZXF1ZXN0Pj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFVzZXJBY2Nlc3NSZXF1ZXN0V2l0aFBhcmFtLyR7cGFyYW19LyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxVc2VyQWNjZXNzUmVxdWVzdD4+O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyIGFjY2VzcyByZXF1ZXN0cyB3aXRoIGFkZGl0aW9uYWwgcGFyYW1ldGVyLCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBwYXJhbXMgRmlsdGVyIHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGZpbHRlcmVkIHVzZXIgYWNjZXNzIHJlcXVlc3RzXG4gICAqL1xuICBnZXRVc2VyQWNjZXNzUmVxdWVzdEJ5RmlsdGVyUGFyYW1zKFxuICAgIHBhcmFtczogU2VhcmNoUHJvcGVydHlWYWx1ZVtdLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nLFxuICApOiBQcm9taXNlPFBhZ2VkPFVzZXJBY2Nlc3NSZXF1ZXN0Pj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1NlYXJjaFVzZXJBY2Nlc3NSZXF1ZXN0LyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHBhcmFtcykgYXMgUHJvbWlzZTxcbiAgICAgIFBhZ2VkPFVzZXJBY2Nlc3NSZXF1ZXN0PlxuICAgID47XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSBtdWx0aXBsZSB1c2VyIGFjY2VzcyByZXF1ZXN0c1xuICAgKiBAcGFyYW0gcmVxdWVzdHMgQXJyYXkgb2YgdXNlciBhY2Nlc3MgcmVxdWVzdHMgdG8gc2F2ZVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHNhdmUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgc2F2ZVVzZXJBY2Nlc3NSZXF1ZXN0cyhyZXF1ZXN0czogVXNlckFjY2Vzc1JlcXVlc3RbXSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vU2F2ZVVzZXJBY2Nlc3NSZXF1ZXN0c2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHJlcXVlc3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHByb3ZlIG9yIHJlamVjdCBtdWx0aXBsZSB1c2VyIGFjY2VzcyByZXF1ZXN0c1xuICAgKiBAcGFyYW0gcmVxdWVzdHMgQXJyYXkgb2YgdXNlciBhY2Nlc3MgcmVxdWVzdHMgdG8gc2F2ZVxuICAgKiBAcGFyYW0gaXNBcHByb3ZhbCBUcnVlIGZvciBhcHByb3ZhbCwgZmFsc2UgZm9yIGRlY2xpbmVcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBzYXZlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIHByb2Nlc3NVc2VyQWNjZXNzUmVxdWVzdHMoXG4gICAgcmVxdWVzdHM6IFVzZXJBY2Nlc3NSZXF1ZXN0W10sXG4gICAgaXNBcHByb3ZhbDogYm9vbGVhbixcbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9Vc2VyQWNjZXNzUmVxdWVzdEFjdGlvbi8ke2lzQXBwcm92YWx9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgcmVxdWVzdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBtdWx0aXBsZSB1c2VyIGFjY2VzcyByZXF1ZXN0c1xuICAgKiBAcGFyYW0gcmVxdWVzdElkcyBBcnJheSBvZiByZXF1ZXN0IElEcyB0byBkZWxldGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBkZWxldGUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgZGVsZXRlVXNlckFjY2Vzc1JlcXVlc3RzKHJlcXVlc3RJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9EZWxldGVVc2VyQWNjZXNzUmVxdWVzdHNgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmRlbGV0ZShgJHt1cmx9P2RhdGE9JHtyZXF1ZXN0SWRzLmpvaW4oJywnKX1gKTtcbiAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXJlcXVlc3QtYXBwcm92YWwvc2VydmljZXMvdXNlci1hY2Nlc3MtcmVxdWVzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWEzQyxNQUFNLE9BQU8sd0JBQXdCO0lBQ2Y7SUFBcEIsWUFBb0IsV0FBa0M7UUFBbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBQUcsQ0FBQztJQUUxRDs7Ozs7OztPQU9HO0lBQ0gscUJBQXFCLENBQ25CLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcseUJBQXlCLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFzQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QixDQUFDO0lBQzNELENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF3QixDQUFDO0lBQzFELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILDZCQUE2QixDQUMzQixLQUFhLEVBQ2IsSUFBWSxFQUNaLEtBQWEsRUFDYixTQUFpQixFQUNqQixTQUFpQjtRQUVqQixNQUFNLEdBQUcsR0FBRyxpQ0FBaUMsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2hHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFzQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGtDQUFrQyxDQUNoQyxNQUE2QixFQUM3QixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLDJCQUEyQixJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNqRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBRXZDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHNCQUFzQixDQUFDLFFBQTZCO1FBQ2xELE1BQU0sR0FBRyxHQUFHLHdCQUF3QixDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHlCQUF5QixDQUN2QixRQUE2QixFQUM3QixVQUFtQjtRQUVuQixNQUFNLEdBQUcsR0FBRywyQkFBMkIsVUFBVSxFQUFFLENBQUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx3QkFBd0IsQ0FBQyxVQUFvQjtRQUMzQyxNQUFNLEdBQUcsR0FBRywwQkFBMEIsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxTQUFTLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7d0dBekdVLHdCQUF3Qjs0R0FBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzRGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBXZWJSZXF1ZXN0U2VydmljZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL3NlcnZpY2VzJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0IH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFBhZ2VkIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFJvbGUgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFNlYXJjaFByb3BlcnR5VmFsdWUgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlckFjY2Vzc1JlcXVlc3RTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFdlYlJlcXVlc3RTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBHZXQgdXNlciBhY2Nlc3MgcmVxdWVzdHMgd2l0aCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBza2lwIE51bWJlciBvZiByZWNvcmRzIHRvIHNraXBcbiAgICogQHBhcmFtIGxpbWl0IE51bWJlciBvZiByZWNvcmRzIHRvIHRha2VcbiAgICogQHBhcmFtIHNvcnRQYXJhbSBTb3J0IHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc29ydE9yZGVyIFNvcnQgb3JkZXIgKCdhc2MnIG9yICdkZXNjJylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSB1c2VyIGFjY2VzcyByZXF1ZXN0c1xuICAgKi9cbiAgZ2V0VXNlckFjY2Vzc1JlcXVlc3RzKFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nLFxuICApOiBQcm9taXNlPFBhZ2VkPFVzZXJBY2Nlc3NSZXF1ZXN0Pj4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRVc2VyQWNjZXNzUmVxdWVzdHMvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFVzZXJBY2Nlc3NSZXF1ZXN0Pj47XG4gIH1cblxuICBnZXRSb2xlcygpOiBQcm9taXNlPFBhZ2VkPFJvbGU+PiB7XG4gICAgY29uc3QgdXJsID0gYEdldFJvbGVzLzAvMGA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxSb2xlPj47XG4gIH1cblxuICBnZXRUYWdzKCk6IFByb21pc2U8UGFnZWQ8VGFnPj4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRUYWdzLzAvMGA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYWc+PjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdXNlciBhY2Nlc3MgcmVxdWVzdHMgd2l0aCBhZGRpdGlvbmFsIHBhcmFtZXRlciwgcGFnaW5hdGlvbiBhbmQgc29ydGluZ1xuICAgKiBAcGFyYW0gcGFyYW0gU2VhcmNoIHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc2tpcCBOdW1iZXIgb2YgcmVjb3JkcyB0byBza2lwXG4gICAqIEBwYXJhbSBsaW1pdCBOdW1iZXIgb2YgcmVjb3JkcyB0byB0YWtlXG4gICAqIEBwYXJhbSBzb3J0UGFyYW0gU29ydCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNvcnRPcmRlciBTb3J0IG9yZGVyICgnYXNjJyBvciAnZGVzYycpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgZmlsdGVyZWQgdXNlciBhY2Nlc3MgcmVxdWVzdHNcbiAgICovXG4gIGdldFVzZXJBY2Nlc3NSZXF1ZXN0V2l0aFBhcmFtKFxuICAgIHBhcmFtOiBzdHJpbmcsXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmcsXG4gICk6IFByb21pc2U8UGFnZWQ8VXNlckFjY2Vzc1JlcXVlc3Q+PiB7XG4gICAgY29uc3QgdXJsID0gYEdldFVzZXJBY2Nlc3NSZXF1ZXN0V2l0aFBhcmFtLyR7cGFyYW19LyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxVc2VyQWNjZXNzUmVxdWVzdD4+O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VyIGFjY2VzcyByZXF1ZXN0cyB3aXRoIGFkZGl0aW9uYWwgcGFyYW1ldGVyLCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBwYXJhbXMgRmlsdGVyIHBhcmFtZXRlcnNcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGZpbHRlcmVkIHVzZXIgYWNjZXNzIHJlcXVlc3RzXG4gICAqL1xuICBnZXRVc2VyQWNjZXNzUmVxdWVzdEJ5RmlsdGVyUGFyYW1zKFxuICAgIHBhcmFtczogU2VhcmNoUHJvcGVydHlWYWx1ZVtdLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nLFxuICApOiBQcm9taXNlPFBhZ2VkPFVzZXJBY2Nlc3NSZXF1ZXN0Pj4ge1xuICAgIGNvbnN0IHVybCA9IGBTZWFyY2hVc2VyQWNjZXNzUmVxdWVzdC8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCBwYXJhbXMpIGFzIFByb21pc2U8XG4gICAgICBQYWdlZDxVc2VyQWNjZXNzUmVxdWVzdD5cbiAgICA+O1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgbXVsdGlwbGUgdXNlciBhY2Nlc3MgcmVxdWVzdHNcbiAgICogQHBhcmFtIHJlcXVlc3RzIEFycmF5IG9mIHVzZXIgYWNjZXNzIHJlcXVlc3RzIHRvIHNhdmVcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBzYXZlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIHNhdmVVc2VyQWNjZXNzUmVxdWVzdHMocmVxdWVzdHM6IFVzZXJBY2Nlc3NSZXF1ZXN0W10pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGBTYXZlVXNlckFjY2Vzc1JlcXVlc3RzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgcmVxdWVzdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcHJvdmUgb3IgcmVqZWN0IG11bHRpcGxlIHVzZXIgYWNjZXNzIHJlcXVlc3RzXG4gICAqIEBwYXJhbSByZXF1ZXN0cyBBcnJheSBvZiB1c2VyIGFjY2VzcyByZXF1ZXN0cyB0byBzYXZlXG4gICAqIEBwYXJhbSBpc0FwcHJvdmFsIFRydWUgZm9yIGFwcHJvdmFsLCBmYWxzZSBmb3IgZGVjbGluZVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHNhdmUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgcHJvY2Vzc1VzZXJBY2Nlc3NSZXF1ZXN0cyhcbiAgICByZXF1ZXN0czogVXNlckFjY2Vzc1JlcXVlc3RbXSxcbiAgICBpc0FwcHJvdmFsOiBib29sZWFuLFxuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGBVc2VyQWNjZXNzUmVxdWVzdEFjdGlvbi8ke2lzQXBwcm92YWx9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgcmVxdWVzdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBtdWx0aXBsZSB1c2VyIGFjY2VzcyByZXF1ZXN0c1xuICAgKiBAcGFyYW0gcmVxdWVzdElkcyBBcnJheSBvZiByZXF1ZXN0IElEcyB0byBkZWxldGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBkZWxldGUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgZGVsZXRlVXNlckFjY2Vzc1JlcXVlc3RzKHJlcXVlc3RJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgRGVsZXRlVXNlckFjY2Vzc1JlcXVlc3RzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5kZWxldGUoYCR7dXJsfT9kYXRhPSR7cmVxdWVzdElkcy5qb2luKCcsJyl9YCk7XG4gIH1cbn1cbiJdfQ==
@@ -148,7 +148,6 @@ function convertDataFilterTypeToSearchPropertyValueType(type) {
148
148
 
149
149
  class UserAccessRequestService {
150
150
  httpService;
151
- BASE_URL = 'User';
152
151
  constructor(httpService) {
153
152
  this.httpService = httpService;
154
153
  }
@@ -182,7 +181,7 @@ class UserAccessRequestService {
182
181
  * @returns Promise containing the filtered user access requests
183
182
  */
184
183
  getUserAccessRequestWithParam(param, skip, limit, sortParam, sortOrder) {
185
- const url = `${this.BASE_URL}/GetUserAccessRequestWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;
184
+ const url = `GetUserAccessRequestWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;
186
185
  return this.httpService.get(url);
187
186
  }
188
187
  /**
@@ -195,7 +194,7 @@ class UserAccessRequestService {
195
194
  * @returns Promise containing the filtered user access requests
196
195
  */
197
196
  getUserAccessRequestByFilterParams(params, skip, limit, sortParam, sortOrder) {
198
- const url = `${this.BASE_URL}/SearchUserAccessRequest/${skip}/${limit}/${sortParam}/${sortOrder}`;
197
+ const url = `SearchUserAccessRequest/${skip}/${limit}/${sortParam}/${sortOrder}`;
199
198
  return this.httpService.post(url, params);
200
199
  }
201
200
  /**
@@ -204,7 +203,7 @@ class UserAccessRequestService {
204
203
  * @returns Promise containing the save operation result
205
204
  */
206
205
  saveUserAccessRequests(requests) {
207
- const url = `${this.BASE_URL}/SaveUserAccessRequests`;
206
+ const url = `SaveUserAccessRequests`;
208
207
  return this.httpService.post(url, requests);
209
208
  }
210
209
  /**
@@ -214,7 +213,7 @@ class UserAccessRequestService {
214
213
  * @returns Promise containing the save operation result
215
214
  */
216
215
  processUserAccessRequests(requests, isApproval) {
217
- const url = `${this.BASE_URL}/UserAccessRequestAction/${isApproval}`;
216
+ const url = `UserAccessRequestAction/${isApproval}`;
218
217
  return this.httpService.post(url, requests);
219
218
  }
220
219
  /**
@@ -223,7 +222,7 @@ class UserAccessRequestService {
223
222
  * @returns Observable containing the delete operation result
224
223
  */
225
224
  deleteUserAccessRequests(requestIds) {
226
- const url = `${this.BASE_URL}/DeleteUserAccessRequests`;
225
+ const url = `DeleteUserAccessRequests`;
227
226
  return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);
228
227
  }
229
228
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAccessRequestService, deps: [{ token: i1.HttpWebRequestService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1 +1 @@
1
- {"version":3,"file":"verben-authentication-ui-src-lib-components-user-request-approval.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/access-request.columns.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/base-table-style.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/helper.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/services/user-access-request.service.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/states/user-access-request.state.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/facades/user-access-request.facade.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-form/user-request-form.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.module.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/verben-authentication-ui-src-lib-components-user-request-approval.ts"],"sourcesContent":["import { ColumnDefinition } from 'verben-ng-ui';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\n\nexport const columns: ColumnDefinition<UserAccessRequest>[] = [\n {\n id: 'createdAt',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'user',\n header: 'NAME',\n accessorFn: (row) => `${row.FirstName} ${row.LastName}`,\n },\n {\n id: 'mail',\n header: 'E-MAIL',\n accessorKey: 'MailAddress',\n },\n {\n id: 'role',\n header: 'ROLE',\n accessorFn: (row) => row.Role?.Name,\n },\n {\n id: 'status',\n header: 'STATUS',\n accessorKey: 'RequestStatus',\n },\n { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },\n];\n","export const baseStyle: any = {\n width: '100%',\n fontFamily: '\"Fraunces\", serif',\n fontSize: '125%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n // tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n // stickyTop: true,\n // zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '40px',\n },\n footer: {\n // stickyBottom: true,\n // zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n // firstColumn: {\n // stickyLeft: true,\n // zIndex: 1,\n // },\n lastColumn: {\n // stickyRight: true,\n // zIndex: 1,\n },\n};\n","import { DataFilterType } from 'verben-ng-ui';\nimport { SearchPropertyValueType } from 'verben-authentication-ui/src/lib/models';\n\nexport const roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n];\n\n// export const mockData: UserAccessRequest[] = new Array(10)\n// .fill(1)\n// .map((id, i) => ({\n// FirstName: `First ${id + i}`,\n// LastName: `Last ${id + i}`,\n// OtherName: `Other ${id + i}`,\n// Id: id + i,\n// id: (id + i).toString(),\n// MailAddress: `user${id + i}@mail.com`,\n// PhoneNumber: `+23480000000${id + i}`,\n// RequestStatus: randomEnum(UserAccessRequestStatus),\n// RoleID: roles[Math.floor(Math.random() * roles.length)].id,\n// Password: '1234567',\n// ExpireOn: new Date(),\n// IsSeeded: false,\n// OTPExpireOn: new Date(),\n// Tenants: [],\n// SignupType: OAuthType.InApp,\n// CreatedAt: new Date(),\n// UpdatedAt: new Date(),\n// DataState: ObjectState.New,\n// TenantId: `Tenant${id + i}`,\n// Code: '',\n// ServiceName: '',\n// }));\n\nfunction randomEnum<T extends object>(anEnum: T): T[keyof T] {\n const enumValues = Object.values(anEnum) as unknown as T[keyof T][];\n const randomIndex = Math.floor(Math.random() * enumValues.length);\n return enumValues[randomIndex];\n}\n\nexport function convertDataFilterTypeToSearchPropertyValueType(\n type: DataFilterType\n) {\n switch (type) {\n case DataFilterType.String:\n return SearchPropertyValueType.String;\n case DataFilterType.Integer:\n return SearchPropertyValueType.Int;\n case DataFilterType.Decimal:\n return SearchPropertyValueType.Decimal;\n case DataFilterType.Credit:\n return SearchPropertyValueType.Float;\n case DataFilterType.Date:\n return SearchPropertyValueType.Date;\n case DataFilterType.Bool:\n return SearchPropertyValueType.Bool;\n case DataFilterType.Number:\n return SearchPropertyValueType.Int;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable, from } from 'rxjs';\nimport { HttpWebRequestService } from 'verben-authentication-ui/src/lib/services';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\nimport { Paged } from 'verben-authentication-ui/src/lib/models';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport { Tag } from 'verben-authentication-ui/src/lib/models';\nimport { SearchPropertyValue } from 'verben-authentication-ui/src/lib/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserAccessRequestService {\n private readonly BASE_URL = 'User';\n\n constructor(private httpService: HttpWebRequestService) {}\n\n /**\n * Get user access requests with pagination and sorting\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the user access requests\n */\n getUserAccessRequests(\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string,\n ): Promise<Paged<UserAccessRequest>> {\n const url = `GetUserAccessRequests/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<UserAccessRequest>>;\n }\n\n getRoles(): Promise<Paged<Role>> {\n const url = `GetRoles/0/0`;\n return this.httpService.get(url) as Promise<Paged<Role>>;\n }\n\n getTags(): Promise<Paged<Tag>> {\n const url = `GetTags/0/0`;\n return this.httpService.get(url) as Promise<Paged<Tag>>;\n }\n\n /**\n * Get user access requests with additional parameter, pagination and sorting\n * @param param Search parameter\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the filtered user access requests\n */\n getUserAccessRequestWithParam(\n param: string,\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string,\n ): Promise<Paged<UserAccessRequest>> {\n const url = `${this.BASE_URL}/GetUserAccessRequestWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<UserAccessRequest>>;\n }\n\n /**\n * Get user access requests with additional parameter, pagination and sorting\n * @param params Filter parameters\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the filtered user access requests\n */\n getUserAccessRequestByFilterParams(\n params: SearchPropertyValue[],\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string,\n ): Promise<Paged<UserAccessRequest>> {\n const url = `${this.BASE_URL}/SearchUserAccessRequest/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.post(url, params) as Promise<\n Paged<UserAccessRequest>\n >;\n }\n\n /**\n * Save multiple user access requests\n * @param requests Array of user access requests to save\n * @returns Promise containing the save operation result\n */\n saveUserAccessRequests(requests: UserAccessRequest[]): Promise<any> {\n const url = `${this.BASE_URL}/SaveUserAccessRequests`;\n return this.httpService.post(url, requests);\n }\n\n /**\n * Approve or reject multiple user access requests\n * @param requests Array of user access requests to save\n * @param isApproval True for approval, false for decline\n * @returns Promise containing the save operation result\n */\n processUserAccessRequests(\n requests: UserAccessRequest[],\n isApproval: boolean,\n ): Promise<any> {\n const url = `${this.BASE_URL}/UserAccessRequestAction/${isApproval}`;\n return this.httpService.post(url, requests);\n }\n\n /**\n * Delete multiple user access requests\n * @param requestIds Array of request IDs to delete\n * @returns Observable containing the delete operation result\n */\n deleteUserAccessRequests(requestIds: string[]): Observable<any> {\n const url = `${this.BASE_URL}/DeleteUserAccessRequests`;\n return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { QueryParams } from 'verben-authentication-ui/src/lib/models';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport { SortDirection } from 'verben-authentication-ui/src/lib/models';\nimport { IDataFilter } from 'verben-ng-ui';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserAccessRequestState {\n private updating$ = new BehaviorSubject<boolean>(false);\n private requests$ = new BehaviorSubject<UserAccessRequest[]>([]);\n private roles$ = new BehaviorSubject<Role[]>([]);\n private searchTerm$ = new BehaviorSubject<string>('');\n private queryParams$ = new BehaviorSubject<QueryParams<UserAccessRequest>>({\n skip: 0,\n limit: 20,\n sortParam: 'CreatedAt',\n sortOrder: SortDirection.Asc,\n });\n private filterParams$ = new BehaviorSubject<IDataFilter[]>([]);\n\n isUpdating$(): Observable<boolean> {\n return this.updating$.asObservable();\n }\n\n setUpdating(isUpdating: boolean): void {\n this.updating$.next(isUpdating);\n }\n\n getRequests$(): Observable<UserAccessRequest[]> {\n return this.requests$.asObservable();\n }\n\n setRequests(requests: UserAccessRequest[]): void {\n this.requests$.next(requests);\n }\n\n getFilterParams$(): Observable<IDataFilter[]> {\n return this.filterParams$.asObservable();\n }\n\n setFilterParams(params: IDataFilter[]): void {\n this.filterParams$.next(params);\n }\n\n getRoles$(): Observable<Role[]> {\n return this.roles$.asObservable();\n }\n\n setRoles(roles: Role[]): void {\n this.roles$.next(roles);\n }\n\n appendRequests(newRequests: UserAccessRequest[]): void {\n const currentRequests = this.requests$.getValue();\n this.requests$.next([...currentRequests, ...newRequests]);\n }\n\n getSearchTerm$(): Observable<string> {\n return this.searchTerm$.asObservable();\n }\n\n getSearchTermValue(): string {\n return this.searchTerm$.getValue();\n }\n\n setSearchTerm(term: string): void {\n this.searchTerm$.next(term);\n }\n\n getQueryParams$(): Observable<QueryParams<UserAccessRequest>> {\n return this.queryParams$.asObservable();\n }\n\n getQueryParamsValue(): QueryParams<UserAccessRequest> {\n return this.queryParams$.getValue();\n }\n\n updateQueryParams(params: Partial<QueryParams<UserAccessRequest>>): void {\n this.queryParams$.next({ ...this.queryParams$.getValue(), ...params });\n }\n\n resetPagination(): void {\n const currentParams = this.queryParams$.getValue();\n this.queryParams$.next({ ...currentParams, skip: 0 });\n }\n\n addRequest(request: UserAccessRequest): void {\n const currentValue = this.requests$.getValue();\n this.requests$.next([...currentValue, request]);\n }\n\n updateRequest(updatedRequest: UserAccessRequest): void {\n const requests = this.requests$.getValue();\n const index = requests.findIndex((r) => r.Code === updatedRequest.Code);\n if (index !== -1) {\n requests[index] = updatedRequest;\n this.requests$.next([...requests]);\n }\n }\n\n removeRequest(requestId: string): void {\n const currentValue = this.requests$.getValue();\n this.requests$.next(currentValue.filter((r) => r.Id !== requestId));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Observable,\n Subject,\n catchError,\n debounceTime,\n distinctUntilChanged,\n from,\n lastValueFrom,\n takeUntil,\n tap,\n throwError,\n} from 'rxjs';\nimport { UserAccessRequestState } from '../states/user-access-request.state';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\nimport { QueryParams } from 'verben-authentication-ui/src/lib/models';\nimport { UserAccessRequestService } from '../services/user-access-request.service';\nimport { UserAccessRequestStatus } from 'verben-authentication-ui/src/lib/models';\nimport { SearchOperator } from 'verben-authentication-ui/src/lib/models';\nimport { SearchPropertySign } from 'verben-authentication-ui/src/lib/models';\n\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport { UtilService } from 'verben-authentication-ui/src/lib/services';\nimport { IDataFilter } from 'verben-ng-ui';\nimport { convertDataFilterTypeToSearchPropertyValueType } from '../helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserAccessRequestFacade {\n private searchSubject = new Subject<string>();\n private destroy$ = new Subject<void>();\n\n constructor(\n private userAccessRequestService: UserAccessRequestService,\n private userAccessRequestState: UserAccessRequestState,\n private utilService: UtilService\n ) {\n // Set up debounced search handling\n this.searchSubject\n .pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n )\n .subscribe((searchTerm) => {\n this.handleSearch(searchTerm);\n });\n\n this.isUpdating$().subscribe((loading) => {\n this.utilService.sendBI(loading);\n });\n\n this.getFilterParams$().subscribe((params) => {\n if (params.length) {\n } else {\n this.loadRequests();\n }\n });\n }\n\n destroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isUpdating$(): Observable<boolean> {\n return this.userAccessRequestState.isUpdating$();\n }\n\n getRequests$(): Observable<UserAccessRequest[]> {\n return this.userAccessRequestState.getRequests$();\n }\n\n getFilterParams$(): Observable<IDataFilter[]> {\n return this.userAccessRequestState.getFilterParams$();\n }\n\n getRoles$(): Observable<Role[]> {\n return this.userAccessRequestState.getRoles$();\n }\n\n getQueryParams$(): Observable<QueryParams<UserAccessRequest>> {\n return this.userAccessRequestState.getQueryParams$();\n }\n\n getSearchTerm$(): Observable<string> {\n return this.userAccessRequestState.getSearchTerm$();\n }\n\n // Search handling\n search(term: string): void {\n this.searchSubject.next(term);\n }\n\n private async handleSearch(searchTerm: string): Promise<void> {\n this.userAccessRequestState.setSearchTerm(searchTerm);\n this.userAccessRequestState.resetPagination();\n\n try {\n this.userAccessRequestState.setUpdating(true);\n if (searchTerm.trim()) {\n await this.loadRequestsWithParam(searchTerm);\n } else {\n await this.loadRequests();\n }\n } catch (error) {\n console.error('Search failed:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async filter(filterParams: IDataFilter[]): Promise<void> {\n this.userAccessRequestState.resetPagination();\n this.userAccessRequestState.setFilterParams(filterParams);\n }\n\n // Load more handling\n async loadMore(): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const currentParams = this.userAccessRequestState.getQueryParamsValue();\n const searchTerm = this.userAccessRequestState.getSearchTermValue();\n\n // Update skip value\n const newSkip = currentParams.skip + currentParams.limit;\n this.userAccessRequestState.updateQueryParams({ skip: newSkip });\n\n // Load and append data\n const response = searchTerm\n ? await this.userAccessRequestService.getUserAccessRequestWithParam(\n searchTerm,\n newSkip,\n currentParams.limit,\n currentParams.sortParam || 'createdDate',\n currentParams.sortOrder\n )\n : await this.userAccessRequestService.getUserAccessRequests(\n newSkip,\n currentParams.limit,\n currentParams.sortParam || 'createdDate',\n currentParams.sortOrder\n );\n\n this.userAccessRequestState.appendRequests(response.Result);\n } catch (error) {\n console.error('Load more failed:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async loadRequests(): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const params = this.userAccessRequestState.getQueryParamsValue();\n\n const requests =\n await this.userAccessRequestService.getUserAccessRequests(\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n );\n\n this.userAccessRequestState.setRequests(requests.Result);\n } catch (error) {\n console.error('Failed to load requests:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async loadRoles(): Promise<void> {\n try {\n // this.userAccessRequestState.setUpdating(true);\n // const params = this.userAccessRequestState.getQueryParamsValue();\n\n const requests = await this.userAccessRequestService.getRoles();\n\n this.userAccessRequestState.setRoles(requests.Result);\n } catch (error) {\n console.error('Failed to load requests:', error);\n throw error;\n } finally {\n // this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async loadRequestsWithParam(param: string): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const params = this.userAccessRequestState.getQueryParamsValue();\n\n const requests =\n await this.userAccessRequestService.getUserAccessRequestWithParam(\n param,\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n );\n\n this.userAccessRequestState.setRequests(requests.Result);\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async loadRequestsByFilterParams(filterParams: IDataFilter[]): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const params = this.userAccessRequestState.getQueryParamsValue();\n\n const requests =\n await this.userAccessRequestService.getUserAccessRequestByFilterParams(\n filterParams.map((filter) => ({\n PropertyName: filter.name,\n EntityValue: filter.value,\n type: convertDataFilterTypeToSearchPropertyValueType(filter.type),\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n })),\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n );\n\n this.userAccessRequestState.setRequests(requests.Result);\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n updateQueryParams(params: Partial<QueryParams<UserAccessRequest>>): void {\n this.userAccessRequestState.updateQueryParams(params);\n this.loadRequests();\n }\n\n async addRequest(request: Partial<UserAccessRequest>): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const newRequest = { ...request } as UserAccessRequest;\n this.userAccessRequestState.addRequest(newRequest);\n\n await this.userAccessRequestService.saveUserAccessRequests([newRequest]);\n await this.loadRequests(); // Reload to get server-side changes\n } catch (error) {\n console.error('Failed to add request:', error);\n this.userAccessRequestState.removeRequest(request.Id!);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async updateRequest(request: UserAccessRequest): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n await this.userAccessRequestService.saveUserAccessRequests([request]);\n this.userAccessRequestState.updateRequest(request);\n this.utilService.showSuccess('Request updated successfully');\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async deleteRequest(requestId: string): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n await lastValueFrom(\n this.userAccessRequestService.deleteUserAccessRequests([requestId])\n );\n this.userAccessRequestState.removeRequest(requestId);\n } catch (error) {\n console.error('Failed to delete request:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async approveRequest(request: UserAccessRequest): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const response =\n await this.userAccessRequestService.processUserAccessRequests(\n [request],\n true\n );\n // console.log(response);\n const data = (response as UserAccessRequest[])?.[0];\n if (data) {\n this.userAccessRequestState.updateRequest(data);\n this.utilService.showSuccess('Request approved successfully');\n }\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n}\n\nenum DateFilterTypes {\n Before = SearchPropertySign.LT,\n On = SearchPropertySign.EQ,\n After = SearchPropertySign.GT,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport { UserAccessRequestStatus } from 'verben-authentication-ui/src/lib/models';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-form',\n templateUrl: './user-request-form.component.html',\n styleUrl: './user-request-form.component.css',\n})\nexport class UserRequestFormComponent {\n @Input() roles: Role[] = [];\n @Input()\n get currentData(): CardData | null {\n return this._currentData;\n }\n set currentData(value: CardData | null) {\n this._currentData = value;\n console.log(value?.data);\n if (value?.data) {\n this.form.patchValue({\n MailAddress: value.data.MailAddress || '',\n FirstName: value.data.FirstName || '',\n LastName: value.data.LastName || '',\n OtherName: value.data.OtherName || '',\n PhoneNumber: value.data.PhoneNumber || '',\n RoleID: value.data.RoleID || '',\n });\n } else {\n this.form.reset();\n }\n }\n\n private _currentData: CardData | null = null;\n\n @Output() switchView = new EventEmitter<undefined>();\n @Output() onApproval = new EventEmitter<{ email: string; role: string }>();\n\n form: FormGroup;\n\n // roles: WritableSignal<Role[]> = signal([]);\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n MailAddress: ['', { readonly: true }],\n FirstName: ['', { readonly: true }],\n LastName: ['', { readonly: true }],\n OtherName: ['', { readonly: true }],\n PhoneNumber: ['', { readonly: true }],\n RoleID: ['', { validators: [Validators.required] }],\n });\n }\n\n ngOnInit(): void {\n // this.userAccessRequestFacade.getRoles$().subscribe((data) => {\n // this.roles.set(data);\n // });\n // try {\n // this.userAccessRequestFacade.loadRoles();\n // } catch (error) {\n // // Handle error\n // }\n console.log(this.currentData?.data);\n }\n\n onSave(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n }\n }\n\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n\n disableProcessing(): boolean {\n return (\n this.currentData?.data?.RequestStatus !==\n UserAccessRequestStatus.Pending || !this.form.valid\n );\n }\n}\n","<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"First Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Last Name:\"\n name=\"LastName\"\n type=\"text\"\n formControlName=\"LastName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"OtherName:\"\n name=\"OtherName\"\n type=\"text\"\n formControlName=\"OtherName\"\n [readOnly]=\"true\"\n />\n <!-- <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [readOnly]=\"true\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between my-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n (click)=\"\n onApproval.emit({\n email: form.get('MailAddress')?.value,\n role: form.get('RoleID')?.value\n })\n \"\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n","import { Component, Input } from '@angular/core';\nimport { UserAccessRequestStatus } from 'verben-authentication-ui/src/lib/models';\n\n@Component({\n selector: 'lib-user-access-request-status-badge',\n templateUrl: './user-access-request-status-badge.component.html',\n styleUrl: './user-access-request-status-badge.component.css',\n})\nexport class UserAccessRequestStatusBadgeComponent {\n @Input() status: UserAccessRequestStatus = UserAccessRequestStatus.Pending;\n\n badgeConfig() {\n switch (this.status) {\n case UserAccessRequestStatus.Approved:\n return { bgColor: '#CAE1CC', textColor: '#4ABB54', label: 'Approved' };\n case UserAccessRequestStatus.Declined:\n return { bgColor: '#FFDFDF', textColor: '#EB5757', label: 'Rejected' };\n default:\n return { bgColor: '#827C7C', textColor: '#C3C3C3', label: 'Pending' };\n }\n }\n}\n","<verbena-badge\n borderRadius=\"9px\"\n [bgColor]=\"badgeConfig().bgColor\"\n [textColor]=\"badgeConfig().textColor\"\n fontSize=\"12px\"\n [text]=\"badgeConfig().label\"\n [pd]=\"'2px 6px'\"\n></verbena-badge>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n OnInit,\n Signal,\n signal,\n ViewChild,\n WritableSignal,\n} from '@angular/core';\nimport { columns } from './access-request.columns';\nimport { baseStyle } from './base-table-style';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport {\n CardData,\n CardDataViewComponent,\n ColumnDefinition,\n DataFilterType,\n DataViewComponent,\n IDataFilter,\n} from 'verben-ng-ui';\nimport { UserAccessRequestFacade } from './facades/user-access-request.facade';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-approval',\n templateUrl: './user-request-approval.component.html',\n styleUrl: './user-request-approval.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UserRequestApprovalComponent implements OnInit {\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n\n columns: ColumnDefinition<UserAccessRequest>[] = columns;\n // visibleColumnDef: WritableSignal<ColumnDefinition<UserAccessRequest>[]> =\n // signal(columns);\n visibleColumnDef = this.columns;\n data: WritableSignal<UserAccessRequest[]> = signal([]);\n styles = baseStyle;\n currentData: CardData | null = null;\n isGridView = true;\n selected: CardData | null = null;\n\n cardData: Signal<CardData[]> = computed(() =>\n this.data()?.map(\n ({\n FirstName,\n LastName,\n MailAddress,\n PhoneNumber,\n RoleID,\n RequestStatus,\n Role,\n SignupType,\n }) => ({\n selected: false,\n title: `${FirstName} ${LastName}`,\n data: {\n FirstName,\n LastName,\n MailAddress,\n PhoneNumber,\n RoleID,\n RequestStatus,\n Role,\n SignupType,\n } as Partial<UserAccessRequest>,\n body: [{ title: 'Role', value: Role?.Name ?? '' }],\n children: [],\n })\n )\n );\n\n roles: WritableSignal<Role[]> = signal([]);\n\n constructor(\n private cdr: ChangeDetectorRef,\n // private service: UserRequestApprovalService,\n private userAccessRequestFacade: UserAccessRequestFacade\n ) {}\n\n async ngOnInit() {\n // this.data = this.service.getMockUserRequests();\n this.userAccessRequestFacade.getRequests$().subscribe((data) => {\n this.data.set(data);\n });\n\n this.userAccessRequestFacade.getRoles$().subscribe((data) => {\n this.roles.set(data);\n });\n\n try {\n this.userAccessRequestFacade.loadRequests();\n this.userAccessRequestFacade.loadRoles();\n } catch (error) {\n // Handle error\n }\n }\n\n ngOnDestroy() {\n this.userAccessRequestFacade.destroy();\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.userAccessRequestFacade.search(event.value);\n }\n\n async loadMore() {\n try {\n await this.userAccessRequestFacade.loadMore();\n } catch (error) {\n // Handle error\n }\n }\n\n // To search with parameter:\n async searchRequests(param: string) {\n try {\n await this.userAccessRequestFacade.loadRequestsWithParam(param);\n } catch (error) {\n // Handle error\n }\n }\n\n async onApprove(approvalData: { email: string; role: string }) {\n const data = this.data().find(\n ({ MailAddress }) => MailAddress === approvalData.email\n );\n\n if (data) {\n await this.userAccessRequestFacade.approveRequest({\n ...data,\n RoleID: approvalData.role,\n });\n }\n }\n\n openDetailView(mailAddress: string) {\n const cardItem = this.getCardDataByMailAddress(mailAddress);\n if (cardItem && this.cardDataView) {\n this.dataView.toggleView();\n // First reset all selections\n this.cardData().forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n\n // Set the selected item\n cardItem.selected = true;\n this.currentData = this.cardDataView.onItemClick(cardItem);\n\n // Force change detection if needed\n // this.changeDetectorRef.detectChanges();\n }\n }\n\n getCardDataByMailAddress(mailAddress: string): CardData | undefined {\n return this.cardData().find(({ data }) => data.MailAddress === mailAddress);\n }\n\n onViewChange(isGridView: boolean): void {\n this.isGridView = isGridView;\n // Reset selection when switching views\n if (this.currentData) {\n this.cardDataView?.clearData();\n this.currentData = null;\n }\n\n console.log('SELECTED', this.selected);\n\n if (this.selected) {\n this.cardDataView.onItemClick(this.selected);\n }\n }\n\n openFormView(index: number) {\n const item = this.cardData()[index];\n console.log('ITEM = ', item);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n /**\n * @param data Simple csv export for testing\n */\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n onSelectionChange(selectedRows: UserAccessRequest[]) {\n console.log('Selection changed:', selectedRows);\n // Handle the selection change\n }\n\n /**\n * Copied over from card view doc until I understand usage\n */\n selectedColumnCount: number = 0;\n selectedFilterTableCount: number = 0;\n isOPen: boolean = true;\n selectedSortCount: number = 0;\n showColumn: boolean = false;\n showSort: boolean = false;\n selectedAll: boolean = false;\n visibleColumns: IDataFilter[] = columns.map((col) => ({\n checked: true,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n filterArray: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'MailAddress',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'PhoneNumber',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n\n sortOptions: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'MailAddress',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'PhoneNumber',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: true,\n },\n ];\n clearData() {\n this.currentData = {} as CardData;\n }\n\n onColumnChange(event: boolean) {\n this.showColumn = event;\n }\n onSortChange(event: boolean) {\n this.showSort = event;\n console.log(event);\n }\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n console.log(updatedColumns);\n const updatedColumnDef: ColumnDefinition<UserAccessRequest>[] = [];\n updatedColumns.forEach((col) => {\n const matchingCol = this.columns.find(\n (column) => column.header === col.name || column.id === col.name\n );\n if (matchingCol) {\n updatedColumnDef.push(matchingCol);\n }\n });\n\n console.log(updatedColumnDef);\n this.visibleColumnDef = [...updatedColumnDef];\n this.cdr.markForCheck();\n\n this.onColumnChange(false);\n this.selectedColumnCount = updatedColumns.length;\n }\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.onSortChange(false);\n this.selectedSortCount = updatedSorts.length;\n console.log(updatedSorts);\n }\n\n onStateChange(event: { key: string; value: boolean }): void {\n console.log(`State changed for ${event.key}:`, event.value);\n }\n\n onFilterSet(event: IDataFilter[]): void {\n console.log(event);\n this.userAccessRequestFacade.filter(event);\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false,\n isToggle: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data()\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <lib-user-access-request-status-badge\n [status]=\"value\"\n ></lib-user-access-request-status-badge>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <!-- <ng-template #header>\n <strong>Actions</strong>\n </ng-template> -->\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData()\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData()\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex-1 flex items-end gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 space-y-2\">\n <span\n class=\"font-semibold text-[#404040] flex-1 truncate\"\n >{{ item.title }}</span\n >\n\n <p class=\"flex items-center my-1 gap-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Medium:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.SignupType\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <!-- <p class=\"grid\">\n <label\n for=\"role\"\n class=\"text-[10px] font-light text-[#404040]\"\n >Medium:</label\n >\n <span id=\"role\" class=\"text-sm font-medium\">{{\n item.data?.SignupType\n }}</span>\n </p> -->\n\n <lib-user-access-request-status-badge\n [status]=\"item.data.RequestStatus\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [roles]=\"roles()\"\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div\n [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-end': true,\n }\"\n >\n <!-- <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button> -->\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData().length }} records loaded</span\n >\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterSet($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-xport\n [columns]=\"visibleColumnDef\"\n [data]=\"data()\"\n (exportDataEvent)=\"handleExport($event)\"\n >\n </lib-data-xport>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-end\">\n <!-- <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div> -->\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserRequestApprovalComponent } from './user-request-approval.component';\nimport {\n CardDataViewModule,\n CardModule,\n DataExportModule,\n DataTableModule,\n DataViewModule,\n DataXportModule,\n DropDownModule,\n SortTableModule,\n SvgModule,\n TableFilterModule,\n VerbenaBadgeModule,\n VerbenaButtonModule,\n VerbenaInputModule,\n VisibleColumnModule,\n} from 'verben-ng-ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UserRequestFormComponent } from './user-request-form/user-request-form.component';\nimport { UserAccessRequestStatusBadgeComponent } from './user-access-request-status-badge/user-access-request-status-badge.component';\n\n@NgModule({\n declarations: [\n UserRequestApprovalComponent,\n UserRequestFormComponent,\n UserAccessRequestStatusBadgeComponent,\n ],\n imports: [\n CommonModule,\n\n DataTableModule,\n CardModule,\n SvgModule,\n DataViewModule,\n CardDataViewModule,\n SortTableModule,\n VisibleColumnModule,\n TableFilterModule,\n DataExportModule,\n DataXportModule,\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n VerbenaBadgeModule,\n DropDownModule,\n ],\n providers: [],\n exports: [\n UserRequestApprovalComponent,\n UserAccessRequestStatusBadgeComponent,\n ],\n})\nexport class LibUserRequestApprovalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.UserAccessRequestService","i2.UserAccessRequestState","i3","i1","i2","i1.UserAccessRequestFacade","i4.UserRequestFormComponent","i5.UserAccessRequestStatusBadgeComponent"],"mappings":"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"}
1
+ {"version":3,"file":"verben-authentication-ui-src-lib-components-user-request-approval.mjs","sources":["../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/access-request.columns.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/base-table-style.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/helper.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/services/user-access-request.service.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/states/user-access-request.state.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/facades/user-access-request.facade.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-form/user-request-form.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.component.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.component.html","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/user-request-approval.module.ts","../../../projects/verben-authentication-ui/src/lib/components/user-request-approval/verben-authentication-ui-src-lib-components-user-request-approval.ts"],"sourcesContent":["import { ColumnDefinition } from 'verben-ng-ui';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\n\nexport const columns: ColumnDefinition<UserAccessRequest>[] = [\n {\n id: 'createdAt',\n header: 'CREATED',\n accessorKey: 'CreatedAt',\n },\n {\n id: 'user',\n header: 'NAME',\n accessorFn: (row) => `${row.FirstName} ${row.LastName}`,\n },\n {\n id: 'mail',\n header: 'E-MAIL',\n accessorKey: 'MailAddress',\n },\n {\n id: 'role',\n header: 'ROLE',\n accessorFn: (row) => row.Role?.Name,\n },\n {\n id: 'status',\n header: 'STATUS',\n accessorKey: 'RequestStatus',\n },\n { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },\n];\n","export const baseStyle: any = {\n width: '100%',\n fontFamily: '\"Fraunces\", serif',\n fontSize: '125%',\n whiteSpace: 'nowrap',\n margin: '0',\n border: '1px solid #D4A007',\n borderRadius: '16px',\n borderCollapse: 'separate',\n borderSpacing: '0',\n // tableLayout: 'fixed',\n overflow: 'hidden',\n rows: {\n even: {\n backgroundColor: '#FDFDFD',\n },\n odd: {\n backgroundColor: '#F1F4FB',\n },\n height: '68px',\n },\n cells: {\n padding: '0.5rem 1rem',\n },\n header: {\n // stickyTop: true,\n // zIndex: 2,\n backgroundColor: '#EFF2FB',\n fontWeight: 'bold',\n textAlign: 'left',\n padding: '12px 16px',\n height: '40px',\n },\n footer: {\n // stickyBottom: true,\n // zIndex: 2,\n padding: '3px',\n },\n // body: {\n // background: '#fff',\n // padding: '4px 5px',\n // textAlign: 'center',\n // },\n // firstColumn: {\n // stickyLeft: true,\n // zIndex: 1,\n // },\n lastColumn: {\n // stickyRight: true,\n // zIndex: 1,\n },\n};\n","import { DataFilterType } from 'verben-ng-ui';\nimport { SearchPropertyValueType } from 'verben-authentication-ui/src/lib/models';\n\nexport const roles: { id: string; name: string }[] = [\n { id: 'admin', name: 'Admin' },\n { id: 'manager', name: 'Manager' },\n { id: 'staff', name: 'Staff' },\n];\n\n// export const mockData: UserAccessRequest[] = new Array(10)\n// .fill(1)\n// .map((id, i) => ({\n// FirstName: `First ${id + i}`,\n// LastName: `Last ${id + i}`,\n// OtherName: `Other ${id + i}`,\n// Id: id + i,\n// id: (id + i).toString(),\n// MailAddress: `user${id + i}@mail.com`,\n// PhoneNumber: `+23480000000${id + i}`,\n// RequestStatus: randomEnum(UserAccessRequestStatus),\n// RoleID: roles[Math.floor(Math.random() * roles.length)].id,\n// Password: '1234567',\n// ExpireOn: new Date(),\n// IsSeeded: false,\n// OTPExpireOn: new Date(),\n// Tenants: [],\n// SignupType: OAuthType.InApp,\n// CreatedAt: new Date(),\n// UpdatedAt: new Date(),\n// DataState: ObjectState.New,\n// TenantId: `Tenant${id + i}`,\n// Code: '',\n// ServiceName: '',\n// }));\n\nfunction randomEnum<T extends object>(anEnum: T): T[keyof T] {\n const enumValues = Object.values(anEnum) as unknown as T[keyof T][];\n const randomIndex = Math.floor(Math.random() * enumValues.length);\n return enumValues[randomIndex];\n}\n\nexport function convertDataFilterTypeToSearchPropertyValueType(\n type: DataFilterType\n) {\n switch (type) {\n case DataFilterType.String:\n return SearchPropertyValueType.String;\n case DataFilterType.Integer:\n return SearchPropertyValueType.Int;\n case DataFilterType.Decimal:\n return SearchPropertyValueType.Decimal;\n case DataFilterType.Credit:\n return SearchPropertyValueType.Float;\n case DataFilterType.Date:\n return SearchPropertyValueType.Date;\n case DataFilterType.Bool:\n return SearchPropertyValueType.Bool;\n case DataFilterType.Number:\n return SearchPropertyValueType.Int;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Observable, from } from 'rxjs';\nimport { HttpWebRequestService } from 'verben-authentication-ui/src/lib/services';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\nimport { Paged } from 'verben-authentication-ui/src/lib/models';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport { Tag } from 'verben-authentication-ui/src/lib/models';\nimport { SearchPropertyValue } from 'verben-authentication-ui/src/lib/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserAccessRequestService {\n constructor(private httpService: HttpWebRequestService) {}\n\n /**\n * Get user access requests with pagination and sorting\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the user access requests\n */\n getUserAccessRequests(\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string,\n ): Promise<Paged<UserAccessRequest>> {\n const url = `GetUserAccessRequests/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<UserAccessRequest>>;\n }\n\n getRoles(): Promise<Paged<Role>> {\n const url = `GetRoles/0/0`;\n return this.httpService.get(url) as Promise<Paged<Role>>;\n }\n\n getTags(): Promise<Paged<Tag>> {\n const url = `GetTags/0/0`;\n return this.httpService.get(url) as Promise<Paged<Tag>>;\n }\n\n /**\n * Get user access requests with additional parameter, pagination and sorting\n * @param param Search parameter\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the filtered user access requests\n */\n getUserAccessRequestWithParam(\n param: string,\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string,\n ): Promise<Paged<UserAccessRequest>> {\n const url = `GetUserAccessRequestWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.get(url) as Promise<Paged<UserAccessRequest>>;\n }\n\n /**\n * Get user access requests with additional parameter, pagination and sorting\n * @param params Filter parameters\n * @param skip Number of records to skip\n * @param limit Number of records to take\n * @param sortParam Sort parameter\n * @param sortOrder Sort order ('asc' or 'desc')\n * @returns Promise containing the filtered user access requests\n */\n getUserAccessRequestByFilterParams(\n params: SearchPropertyValue[],\n skip: number,\n limit: number,\n sortParam: string,\n sortOrder: string,\n ): Promise<Paged<UserAccessRequest>> {\n const url = `SearchUserAccessRequest/${skip}/${limit}/${sortParam}/${sortOrder}`;\n return this.httpService.post(url, params) as Promise<\n Paged<UserAccessRequest>\n >;\n }\n\n /**\n * Save multiple user access requests\n * @param requests Array of user access requests to save\n * @returns Promise containing the save operation result\n */\n saveUserAccessRequests(requests: UserAccessRequest[]): Promise<any> {\n const url = `SaveUserAccessRequests`;\n return this.httpService.post(url, requests);\n }\n\n /**\n * Approve or reject multiple user access requests\n * @param requests Array of user access requests to save\n * @param isApproval True for approval, false for decline\n * @returns Promise containing the save operation result\n */\n processUserAccessRequests(\n requests: UserAccessRequest[],\n isApproval: boolean,\n ): Promise<any> {\n const url = `UserAccessRequestAction/${isApproval}`;\n return this.httpService.post(url, requests);\n }\n\n /**\n * Delete multiple user access requests\n * @param requestIds Array of request IDs to delete\n * @returns Observable containing the delete operation result\n */\n deleteUserAccessRequests(requestIds: string[]): Observable<any> {\n const url = `DeleteUserAccessRequests`;\n return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { QueryParams } from 'verben-authentication-ui/src/lib/models';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport { SortDirection } from 'verben-authentication-ui/src/lib/models';\nimport { IDataFilter } from 'verben-ng-ui';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserAccessRequestState {\n private updating$ = new BehaviorSubject<boolean>(false);\n private requests$ = new BehaviorSubject<UserAccessRequest[]>([]);\n private roles$ = new BehaviorSubject<Role[]>([]);\n private searchTerm$ = new BehaviorSubject<string>('');\n private queryParams$ = new BehaviorSubject<QueryParams<UserAccessRequest>>({\n skip: 0,\n limit: 20,\n sortParam: 'CreatedAt',\n sortOrder: SortDirection.Asc,\n });\n private filterParams$ = new BehaviorSubject<IDataFilter[]>([]);\n\n isUpdating$(): Observable<boolean> {\n return this.updating$.asObservable();\n }\n\n setUpdating(isUpdating: boolean): void {\n this.updating$.next(isUpdating);\n }\n\n getRequests$(): Observable<UserAccessRequest[]> {\n return this.requests$.asObservable();\n }\n\n setRequests(requests: UserAccessRequest[]): void {\n this.requests$.next(requests);\n }\n\n getFilterParams$(): Observable<IDataFilter[]> {\n return this.filterParams$.asObservable();\n }\n\n setFilterParams(params: IDataFilter[]): void {\n this.filterParams$.next(params);\n }\n\n getRoles$(): Observable<Role[]> {\n return this.roles$.asObservable();\n }\n\n setRoles(roles: Role[]): void {\n this.roles$.next(roles);\n }\n\n appendRequests(newRequests: UserAccessRequest[]): void {\n const currentRequests = this.requests$.getValue();\n this.requests$.next([...currentRequests, ...newRequests]);\n }\n\n getSearchTerm$(): Observable<string> {\n return this.searchTerm$.asObservable();\n }\n\n getSearchTermValue(): string {\n return this.searchTerm$.getValue();\n }\n\n setSearchTerm(term: string): void {\n this.searchTerm$.next(term);\n }\n\n getQueryParams$(): Observable<QueryParams<UserAccessRequest>> {\n return this.queryParams$.asObservable();\n }\n\n getQueryParamsValue(): QueryParams<UserAccessRequest> {\n return this.queryParams$.getValue();\n }\n\n updateQueryParams(params: Partial<QueryParams<UserAccessRequest>>): void {\n this.queryParams$.next({ ...this.queryParams$.getValue(), ...params });\n }\n\n resetPagination(): void {\n const currentParams = this.queryParams$.getValue();\n this.queryParams$.next({ ...currentParams, skip: 0 });\n }\n\n addRequest(request: UserAccessRequest): void {\n const currentValue = this.requests$.getValue();\n this.requests$.next([...currentValue, request]);\n }\n\n updateRequest(updatedRequest: UserAccessRequest): void {\n const requests = this.requests$.getValue();\n const index = requests.findIndex((r) => r.Code === updatedRequest.Code);\n if (index !== -1) {\n requests[index] = updatedRequest;\n this.requests$.next([...requests]);\n }\n }\n\n removeRequest(requestId: string): void {\n const currentValue = this.requests$.getValue();\n this.requests$.next(currentValue.filter((r) => r.Id !== requestId));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n Observable,\n Subject,\n catchError,\n debounceTime,\n distinctUntilChanged,\n from,\n lastValueFrom,\n takeUntil,\n tap,\n throwError,\n} from 'rxjs';\nimport { UserAccessRequestState } from '../states/user-access-request.state';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\nimport { QueryParams } from 'verben-authentication-ui/src/lib/models';\nimport { UserAccessRequestService } from '../services/user-access-request.service';\nimport { UserAccessRequestStatus } from 'verben-authentication-ui/src/lib/models';\nimport { SearchOperator } from 'verben-authentication-ui/src/lib/models';\nimport { SearchPropertySign } from 'verben-authentication-ui/src/lib/models';\n\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport { UtilService } from 'verben-authentication-ui/src/lib/services';\nimport { IDataFilter } from 'verben-ng-ui';\nimport { convertDataFilterTypeToSearchPropertyValueType } from '../helper';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserAccessRequestFacade {\n private searchSubject = new Subject<string>();\n private destroy$ = new Subject<void>();\n\n constructor(\n private userAccessRequestService: UserAccessRequestService,\n private userAccessRequestState: UserAccessRequestState,\n private utilService: UtilService\n ) {\n // Set up debounced search handling\n this.searchSubject\n .pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n takeUntil(this.destroy$)\n )\n .subscribe((searchTerm) => {\n this.handleSearch(searchTerm);\n });\n\n this.isUpdating$().subscribe((loading) => {\n this.utilService.sendBI(loading);\n });\n\n this.getFilterParams$().subscribe((params) => {\n if (params.length) {\n } else {\n this.loadRequests();\n }\n });\n }\n\n destroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n isUpdating$(): Observable<boolean> {\n return this.userAccessRequestState.isUpdating$();\n }\n\n getRequests$(): Observable<UserAccessRequest[]> {\n return this.userAccessRequestState.getRequests$();\n }\n\n getFilterParams$(): Observable<IDataFilter[]> {\n return this.userAccessRequestState.getFilterParams$();\n }\n\n getRoles$(): Observable<Role[]> {\n return this.userAccessRequestState.getRoles$();\n }\n\n getQueryParams$(): Observable<QueryParams<UserAccessRequest>> {\n return this.userAccessRequestState.getQueryParams$();\n }\n\n getSearchTerm$(): Observable<string> {\n return this.userAccessRequestState.getSearchTerm$();\n }\n\n // Search handling\n search(term: string): void {\n this.searchSubject.next(term);\n }\n\n private async handleSearch(searchTerm: string): Promise<void> {\n this.userAccessRequestState.setSearchTerm(searchTerm);\n this.userAccessRequestState.resetPagination();\n\n try {\n this.userAccessRequestState.setUpdating(true);\n if (searchTerm.trim()) {\n await this.loadRequestsWithParam(searchTerm);\n } else {\n await this.loadRequests();\n }\n } catch (error) {\n console.error('Search failed:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async filter(filterParams: IDataFilter[]): Promise<void> {\n this.userAccessRequestState.resetPagination();\n this.userAccessRequestState.setFilterParams(filterParams);\n }\n\n // Load more handling\n async loadMore(): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const currentParams = this.userAccessRequestState.getQueryParamsValue();\n const searchTerm = this.userAccessRequestState.getSearchTermValue();\n\n // Update skip value\n const newSkip = currentParams.skip + currentParams.limit;\n this.userAccessRequestState.updateQueryParams({ skip: newSkip });\n\n // Load and append data\n const response = searchTerm\n ? await this.userAccessRequestService.getUserAccessRequestWithParam(\n searchTerm,\n newSkip,\n currentParams.limit,\n currentParams.sortParam || 'createdDate',\n currentParams.sortOrder\n )\n : await this.userAccessRequestService.getUserAccessRequests(\n newSkip,\n currentParams.limit,\n currentParams.sortParam || 'createdDate',\n currentParams.sortOrder\n );\n\n this.userAccessRequestState.appendRequests(response.Result);\n } catch (error) {\n console.error('Load more failed:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async loadRequests(): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const params = this.userAccessRequestState.getQueryParamsValue();\n\n const requests =\n await this.userAccessRequestService.getUserAccessRequests(\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n );\n\n this.userAccessRequestState.setRequests(requests.Result);\n } catch (error) {\n console.error('Failed to load requests:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async loadRoles(): Promise<void> {\n try {\n // this.userAccessRequestState.setUpdating(true);\n // const params = this.userAccessRequestState.getQueryParamsValue();\n\n const requests = await this.userAccessRequestService.getRoles();\n\n this.userAccessRequestState.setRoles(requests.Result);\n } catch (error) {\n console.error('Failed to load requests:', error);\n throw error;\n } finally {\n // this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async loadRequestsWithParam(param: string): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const params = this.userAccessRequestState.getQueryParamsValue();\n\n const requests =\n await this.userAccessRequestService.getUserAccessRequestWithParam(\n param,\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n );\n\n this.userAccessRequestState.setRequests(requests.Result);\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async loadRequestsByFilterParams(filterParams: IDataFilter[]): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const params = this.userAccessRequestState.getQueryParamsValue();\n\n const requests =\n await this.userAccessRequestService.getUserAccessRequestByFilterParams(\n filterParams.map((filter) => ({\n PropertyName: filter.name,\n EntityValue: filter.value,\n type: convertDataFilterTypeToSearchPropertyValueType(filter.type),\n Operator: SearchOperator.And,\n Sign: SearchPropertySign.EQ,\n })),\n params.skip,\n params.limit,\n params.sortParam || 'createdDate',\n params.sortOrder\n );\n\n this.userAccessRequestState.setRequests(requests.Result);\n } catch (error) {\n console.error('Failed to load requests with param:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n updateQueryParams(params: Partial<QueryParams<UserAccessRequest>>): void {\n this.userAccessRequestState.updateQueryParams(params);\n this.loadRequests();\n }\n\n async addRequest(request: Partial<UserAccessRequest>): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const newRequest = { ...request } as UserAccessRequest;\n this.userAccessRequestState.addRequest(newRequest);\n\n await this.userAccessRequestService.saveUserAccessRequests([newRequest]);\n await this.loadRequests(); // Reload to get server-side changes\n } catch (error) {\n console.error('Failed to add request:', error);\n this.userAccessRequestState.removeRequest(request.Id!);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async updateRequest(request: UserAccessRequest): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n await this.userAccessRequestService.saveUserAccessRequests([request]);\n this.userAccessRequestState.updateRequest(request);\n this.utilService.showSuccess('Request updated successfully');\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async deleteRequest(requestId: string): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n await lastValueFrom(\n this.userAccessRequestService.deleteUserAccessRequests([requestId])\n );\n this.userAccessRequestState.removeRequest(requestId);\n } catch (error) {\n console.error('Failed to delete request:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n\n async approveRequest(request: UserAccessRequest): Promise<void> {\n try {\n this.userAccessRequestState.setUpdating(true);\n const response =\n await this.userAccessRequestService.processUserAccessRequests(\n [request],\n true\n );\n // console.log(response);\n const data = (response as UserAccessRequest[])?.[0];\n if (data) {\n this.userAccessRequestState.updateRequest(data);\n this.utilService.showSuccess('Request approved successfully');\n }\n } catch (error) {\n console.error('Failed to update request:', error);\n throw error;\n } finally {\n this.userAccessRequestState.setUpdating(false);\n }\n }\n}\n\nenum DateFilterTypes {\n Before = SearchPropertySign.LT,\n On = SearchPropertySign.EQ,\n After = SearchPropertySign.GT,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n signal,\n WritableSignal,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CardData } from 'verben-ng-ui';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport { UserAccessRequestStatus } from 'verben-authentication-ui/src/lib/models';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-form',\n templateUrl: './user-request-form.component.html',\n styleUrl: './user-request-form.component.css',\n})\nexport class UserRequestFormComponent {\n @Input() roles: Role[] = [];\n @Input()\n get currentData(): CardData | null {\n return this._currentData;\n }\n set currentData(value: CardData | null) {\n this._currentData = value;\n console.log(value?.data);\n if (value?.data) {\n this.form.patchValue({\n MailAddress: value.data.MailAddress || '',\n FirstName: value.data.FirstName || '',\n LastName: value.data.LastName || '',\n OtherName: value.data.OtherName || '',\n PhoneNumber: value.data.PhoneNumber || '',\n RoleID: value.data.RoleID || '',\n });\n } else {\n this.form.reset();\n }\n }\n\n private _currentData: CardData | null = null;\n\n @Output() switchView = new EventEmitter<undefined>();\n @Output() onApproval = new EventEmitter<{ email: string; role: string }>();\n\n form: FormGroup;\n\n // roles: WritableSignal<Role[]> = signal([]);\n\n constructor(private fb: FormBuilder) {\n this.form = this.fb.group({\n MailAddress: ['', { readonly: true }],\n FirstName: ['', { readonly: true }],\n LastName: ['', { readonly: true }],\n OtherName: ['', { readonly: true }],\n PhoneNumber: ['', { readonly: true }],\n RoleID: ['', { validators: [Validators.required] }],\n });\n }\n\n ngOnInit(): void {\n // this.userAccessRequestFacade.getRoles$().subscribe((data) => {\n // this.roles.set(data);\n // });\n // try {\n // this.userAccessRequestFacade.loadRoles();\n // } catch (error) {\n // // Handle error\n // }\n console.log(this.currentData?.data);\n }\n\n onSave(): void {\n if (this.form.valid) {\n // Emit save event with form value\n console.log('Form saved:', this.form.value);\n }\n }\n\n onDelete(): void {\n // Emit delete event\n console.log('Delete requested');\n }\n\n disableProcessing(): boolean {\n return (\n this.currentData?.data?.RequestStatus !==\n UserAccessRequestStatus.Pending || !this.form.valid\n );\n }\n}\n","<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n name=\"MailAddress\"\n label=\"Mail Address:\"\n formControlName=\"MailAddress\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"First Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"Last Name:\"\n name=\"LastName\"\n type=\"text\"\n formControlName=\"LastName\"\n [readOnly]=\"true\"\n />\n <verbena-input\n label=\"OtherName:\"\n name=\"OtherName\"\n type=\"text\"\n formControlName=\"OtherName\"\n [readOnly]=\"true\"\n />\n <!-- <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n [readOnly]=\"true\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <!-- buttons -->\n <div class=\"flex justify-between my-2\">\n <verbena-button\n width=\"114px\"\n height=\"39px\"\n text=\"Reject\"\n styleType=\"danger\"\n borderRadius=\"10px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n <verbena-button\n (click)=\"switchView.emit()\"\n text=\"Switch To Table\"\n styleType=\"ylw-outline\"\n ></verbena-button>\n <verbena-button\n (click)=\"\n onApproval.emit({\n email: form.get('MailAddress')?.value,\n role: form.get('RoleID')?.value\n })\n \"\n text=\"Approve\"\n bgColor=\"#28a745\"\n textColor=\"white\"\n border=\"1px solid #28a745\"\n borderRadius=\"10px\"\n pd=\"10px 20px\"\n width=\"114px\"\n height=\"39px\"\n [disable]=\"disableProcessing()\"\n ></verbena-button>\n </div>\n</form>\n","import { Component, Input } from '@angular/core';\nimport { UserAccessRequestStatus } from 'verben-authentication-ui/src/lib/models';\n\n@Component({\n selector: 'lib-user-access-request-status-badge',\n templateUrl: './user-access-request-status-badge.component.html',\n styleUrl: './user-access-request-status-badge.component.css',\n})\nexport class UserAccessRequestStatusBadgeComponent {\n @Input() status: UserAccessRequestStatus = UserAccessRequestStatus.Pending;\n\n badgeConfig() {\n switch (this.status) {\n case UserAccessRequestStatus.Approved:\n return { bgColor: '#CAE1CC', textColor: '#4ABB54', label: 'Approved' };\n case UserAccessRequestStatus.Declined:\n return { bgColor: '#FFDFDF', textColor: '#EB5757', label: 'Rejected' };\n default:\n return { bgColor: '#827C7C', textColor: '#C3C3C3', label: 'Pending' };\n }\n }\n}\n","<verbena-badge\n borderRadius=\"9px\"\n [bgColor]=\"badgeConfig().bgColor\"\n [textColor]=\"badgeConfig().textColor\"\n fontSize=\"12px\"\n [text]=\"badgeConfig().label\"\n [pd]=\"'2px 6px'\"\n></verbena-badge>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n OnInit,\n Signal,\n signal,\n ViewChild,\n WritableSignal,\n} from '@angular/core';\nimport { columns } from './access-request.columns';\nimport { baseStyle } from './base-table-style';\nimport { UserAccessRequest } from 'verben-authentication-ui/src/lib/models';\nimport { Role } from 'verben-authentication-ui/src/lib/models';\nimport {\n CardData,\n CardDataViewComponent,\n ColumnDefinition,\n DataFilterType,\n DataViewComponent,\n IDataFilter,\n} from 'verben-ng-ui';\nimport { UserAccessRequestFacade } from './facades/user-access-request.facade';\n\ninterface UserFormData {\n MailAddress: string;\n Name: string;\n PhoneNumber: string;\n}\n\n@Component({\n selector: 'lib-user-request-approval',\n templateUrl: './user-request-approval.component.html',\n styleUrl: './user-request-approval.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class UserRequestApprovalComponent implements OnInit {\n @ViewChild('vdcv') cardDataView!: CardDataViewComponent;\n @ViewChild('vdv') dataView!: DataViewComponent;\n\n columns: ColumnDefinition<UserAccessRequest>[] = columns;\n // visibleColumnDef: WritableSignal<ColumnDefinition<UserAccessRequest>[]> =\n // signal(columns);\n visibleColumnDef = this.columns;\n data: WritableSignal<UserAccessRequest[]> = signal([]);\n styles = baseStyle;\n currentData: CardData | null = null;\n isGridView = true;\n selected: CardData | null = null;\n\n cardData: Signal<CardData[]> = computed(() =>\n this.data()?.map(\n ({\n FirstName,\n LastName,\n MailAddress,\n PhoneNumber,\n RoleID,\n RequestStatus,\n Role,\n SignupType,\n }) => ({\n selected: false,\n title: `${FirstName} ${LastName}`,\n data: {\n FirstName,\n LastName,\n MailAddress,\n PhoneNumber,\n RoleID,\n RequestStatus,\n Role,\n SignupType,\n } as Partial<UserAccessRequest>,\n body: [{ title: 'Role', value: Role?.Name ?? '' }],\n children: [],\n })\n )\n );\n\n roles: WritableSignal<Role[]> = signal([]);\n\n constructor(\n private cdr: ChangeDetectorRef,\n // private service: UserRequestApprovalService,\n private userAccessRequestFacade: UserAccessRequestFacade\n ) {}\n\n async ngOnInit() {\n // this.data = this.service.getMockUserRequests();\n this.userAccessRequestFacade.getRequests$().subscribe((data) => {\n this.data.set(data);\n });\n\n this.userAccessRequestFacade.getRoles$().subscribe((data) => {\n this.roles.set(data);\n });\n\n try {\n this.userAccessRequestFacade.loadRequests();\n this.userAccessRequestFacade.loadRoles();\n } catch (error) {\n // Handle error\n }\n }\n\n ngOnDestroy() {\n this.userAccessRequestFacade.destroy();\n }\n\n handleSearch(event: { key: string; value: string }) {\n this.userAccessRequestFacade.search(event.value);\n }\n\n async loadMore() {\n try {\n await this.userAccessRequestFacade.loadMore();\n } catch (error) {\n // Handle error\n }\n }\n\n // To search with parameter:\n async searchRequests(param: string) {\n try {\n await this.userAccessRequestFacade.loadRequestsWithParam(param);\n } catch (error) {\n // Handle error\n }\n }\n\n async onApprove(approvalData: { email: string; role: string }) {\n const data = this.data().find(\n ({ MailAddress }) => MailAddress === approvalData.email\n );\n\n if (data) {\n await this.userAccessRequestFacade.approveRequest({\n ...data,\n RoleID: approvalData.role,\n });\n }\n }\n\n openDetailView(mailAddress: string) {\n const cardItem = this.getCardDataByMailAddress(mailAddress);\n if (cardItem && this.cardDataView) {\n this.dataView.toggleView();\n // First reset all selections\n this.cardData().forEach((item) => {\n item.selected = false;\n if (item.children) {\n item.children.forEach((child) => (child.selected = false));\n }\n });\n\n // Set the selected item\n cardItem.selected = true;\n this.currentData = this.cardDataView.onItemClick(cardItem);\n\n // Force change detection if needed\n // this.changeDetectorRef.detectChanges();\n }\n }\n\n getCardDataByMailAddress(mailAddress: string): CardData | undefined {\n return this.cardData().find(({ data }) => data.MailAddress === mailAddress);\n }\n\n onViewChange(isGridView: boolean): void {\n this.isGridView = isGridView;\n // Reset selection when switching views\n if (this.currentData) {\n this.cardDataView?.clearData();\n this.currentData = null;\n }\n\n console.log('SELECTED', this.selected);\n\n if (this.selected) {\n this.cardDataView.onItemClick(this.selected);\n }\n }\n\n openFormView(index: number) {\n const item = this.cardData()[index];\n console.log('ITEM = ', item);\n }\n\n handleExport(exportedData: Partial<any>[]) {\n console.log('Exported data:', exportedData);\n this.downloadCSV(exportedData);\n }\n\n /**\n * @param data Simple csv export for testing\n */\n private downloadCSV(data: Partial<any>[]) {\n const headers = Object.keys(data[0]);\n const csvContent = [\n headers.join(','),\n ...data.map((row) => headers.map((header) => row[header]).join(',')),\n ].join('\\n');\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n const link = document.createElement('a');\n if (link.download !== undefined) {\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', 'export.csv');\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n\n onSelectionChange(selectedRows: UserAccessRequest[]) {\n console.log('Selection changed:', selectedRows);\n // Handle the selection change\n }\n\n /**\n * Copied over from card view doc until I understand usage\n */\n selectedColumnCount: number = 0;\n selectedFilterTableCount: number = 0;\n isOPen: boolean = true;\n selectedSortCount: number = 0;\n showColumn: boolean = false;\n showSort: boolean = false;\n selectedAll: boolean = false;\n visibleColumns: IDataFilter[] = columns.map((col) => ({\n checked: true,\n name: typeof col.header === 'string' ? col.header : col.id,\n type: DataFilterType.Bool,\n }));\n filterArray: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'MailAddress',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'PhoneNumber',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: false,\n },\n ];\n\n sortOptions: IDataFilter[] = [\n {\n name: 'Name',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'MailAddress',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'PhoneNumber',\n type: DataFilterType.String,\n checked: false,\n },\n {\n name: 'CreatedAt',\n type: DataFilterType.Date,\n checked: true,\n },\n ];\n clearData() {\n this.currentData = {} as CardData;\n }\n\n onColumnChange(event: boolean) {\n this.showColumn = event;\n }\n onSortChange(event: boolean) {\n this.showSort = event;\n console.log(event);\n }\n onColumnsUpdated(updatedColumns: IDataFilter[]) {\n console.log(updatedColumns);\n const updatedColumnDef: ColumnDefinition<UserAccessRequest>[] = [];\n updatedColumns.forEach((col) => {\n const matchingCol = this.columns.find(\n (column) => column.header === col.name || column.id === col.name\n );\n if (matchingCol) {\n updatedColumnDef.push(matchingCol);\n }\n });\n\n console.log(updatedColumnDef);\n this.visibleColumnDef = [...updatedColumnDef];\n this.cdr.markForCheck();\n\n this.onColumnChange(false);\n this.selectedColumnCount = updatedColumns.length;\n }\n onSortUpdated(updatedSorts: IDataFilter[]) {\n this.onSortChange(false);\n this.selectedSortCount = updatedSorts.length;\n console.log(updatedSorts);\n }\n\n onStateChange(event: { key: string; value: boolean }): void {\n console.log(`State changed for ${event.key}:`, event.value);\n }\n\n onFilterSet(event: IDataFilter[]): void {\n console.log(event);\n this.userAccessRequestFacade.filter(event);\n }\n}\n","<div class=\"space-y-8\">\n <verben-data-view\n #vdv\n [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: true,\n isSelect: true,\n isCreate: false,\n isToggle: true,\n }\"\n [buttonClass]=\"'my-custom-button-class'\"\n [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\"\n [selectedColumnCount]=\"0\"\n [selectedSortCount]=\"0\"\n [selectedFilterTableCount]=\"0\"\n (viewChange)=\"onViewChange($event)\"\n (stateChange)=\"onStateChange($event)\"\n (onSearchChange)=\"handleSearch($event)\"\n >\n <div table-content>\n <lib-data-table\n [data]=\"data()\"\n [columns]=\"visibleColumnDef\"\n [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-container libColumn=\"createdAt\">\n <ng-template #cell let-value>\n {{ value | date }}\n </ng-template>\n </ng-container>\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <lib-user-access-request-status-badge\n [status]=\"value\"\n ></lib-user-access-request-status-badge>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow>\n <div class=\"flex gap-6\">\n <verben-svg\n (click)=\"openDetailView(value)\"\n icon=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n class=\"cursor-pointer\"\n ></verben-svg>\n <!-- <button (click)=\"openDetailView(value)\">Open</button>\n <button (click)=\"selected = cardData[rowIndex]; vdv.toggleView()\">\n Switch\n </button> -->\n <verben-svg\n icon=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"deleteRow()\"\n class=\"cursor-pointer\"\n ></verben-svg>\n </div>\n </ng-template>\n <!-- <ng-template #header>\n <strong>Actions</strong>\n </ng-template> -->\n </ng-container>\n </lib-data-table>\n </div>\n <div card-content>\n <verben-card-data-view\n borderRadius=\"12px\"\n (loadMoreClick)=\"loadMore()\"\n #vdcv\n dataId=\"MailAddress\"\n border=\"5px\"\n [cardDataList]=\"cardData()\"\n rbgColor=\"#f5f6f9\"\n mg=\"20px\"\n >\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data\n #vlcd\n [parent]=\"vdcv\"\n dataId=\"MailAddress\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\"\n [cardDataList]=\"cardData()\"\n >\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div\n (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\"\n >\n <div\n class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\"\n [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"\n ></div>\n <div class=\"flex-1 flex items-end gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 space-y-2\">\n <span\n class=\"font-semibold text-[#404040] flex-1 truncate\"\n >{{ item.title }}</span\n >\n\n <p class=\"flex items-center my-1 gap-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Medium:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.SignupType\n }}</span>\n </p>\n </div>\n\n <div class=\"grid gap-y-1\">\n <!-- <p class=\"grid\">\n <label\n for=\"role\"\n class=\"text-[10px] font-light text-[#404040]\"\n >Medium:</label\n >\n <span id=\"role\" class=\"text-sm font-medium\">{{\n item.data?.SignupType\n }}</span>\n </p> -->\n\n <lib-user-access-request-status-badge\n [status]=\"item.data.RequestStatus\"\n ></lib-user-access-request-status-badge>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-user-request-form\n [roles]=\"roles()\"\n [currentData]=\"currentData\"\n (switchView)=\"vdv.toggleView()\"\n (onApproval)=\"onApprove($event)\"\n ></lib-user-request-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div\n [ngClass]=\"{\n 'flex gap-2 items-center': true,\n 'justify-end': true,\n }\"\n >\n <!-- <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button> -->\n <div\n class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\"\n >\n <span class=\"paginator-text\"\n >{{ cardData().length }} records loaded</span\n >\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n <div column-content>\n <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column>\n </div>\n <div filter-content>\n <verben-table-filter\n (filtersApplied)=\"onFilterSet($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"420px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"\n ></verben-table-filter>\n </div>\n <div sort-content>\n <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table>\n </div>\n <div export-content>\n <lib-data-xport\n [columns]=\"visibleColumnDef\"\n [data]=\"data()\"\n (exportDataEvent)=\"handleExport($event)\"\n >\n </lib-data-xport>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-end\">\n <!-- <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div> -->\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button\n (click)=\"loadMore()\"\n class=\"load-more view-links text-[#3479E9] underline\"\n >\n Load more\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserRequestApprovalComponent } from './user-request-approval.component';\nimport {\n CardDataViewModule,\n CardModule,\n DataExportModule,\n DataTableModule,\n DataViewModule,\n DataXportModule,\n DropDownModule,\n SortTableModule,\n SvgModule,\n TableFilterModule,\n VerbenaBadgeModule,\n VerbenaButtonModule,\n VerbenaInputModule,\n VisibleColumnModule,\n} from 'verben-ng-ui';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { UserRequestFormComponent } from './user-request-form/user-request-form.component';\nimport { UserAccessRequestStatusBadgeComponent } from './user-access-request-status-badge/user-access-request-status-badge.component';\n\n@NgModule({\n declarations: [\n UserRequestApprovalComponent,\n UserRequestFormComponent,\n UserAccessRequestStatusBadgeComponent,\n ],\n imports: [\n CommonModule,\n\n DataTableModule,\n CardModule,\n SvgModule,\n DataViewModule,\n CardDataViewModule,\n SortTableModule,\n VisibleColumnModule,\n TableFilterModule,\n DataExportModule,\n DataXportModule,\n FormsModule,\n ReactiveFormsModule,\n VerbenaInputModule,\n VerbenaButtonModule,\n VerbenaBadgeModule,\n DropDownModule,\n ],\n providers: [],\n exports: [\n UserRequestApprovalComponent,\n UserAccessRequestStatusBadgeComponent,\n ],\n})\nexport class LibUserRequestApprovalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.UserAccessRequestService","i2.UserAccessRequestState","i3","i1","i2","i1.UserAccessRequestFacade","i4.UserRequestFormComponent","i5.UserAccessRequestStatusBadgeComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verben-authentication-ui",
3
- "version": "1.0.31",
3
+ "version": "1.0.33",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^18.2.0",
6
6
  "@angular/common": "^14.0.0 || ^18.0.0",
@@ -47,18 +47,18 @@
47
47
  "esm": "./esm2022/src/lib/pipes/verben-authentication-ui-src-lib-pipes.mjs",
48
48
  "default": "./fesm2022/verben-authentication-ui-src-lib-pipes.mjs"
49
49
  },
50
- "./src/lib/shared": {
51
- "types": "./src/lib/shared/index.d.ts",
52
- "esm2022": "./esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs",
53
- "esm": "./esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs",
54
- "default": "./fesm2022/verben-authentication-ui-src-lib-shared.mjs"
55
- },
56
50
  "./src/lib/services": {
57
51
  "types": "./src/lib/services/index.d.ts",
58
52
  "esm2022": "./esm2022/src/lib/services/verben-authentication-ui-src-lib-services.mjs",
59
53
  "esm": "./esm2022/src/lib/services/verben-authentication-ui-src-lib-services.mjs",
60
54
  "default": "./fesm2022/verben-authentication-ui-src-lib-services.mjs"
61
55
  },
56
+ "./src/lib/shared": {
57
+ "types": "./src/lib/shared/index.d.ts",
58
+ "esm2022": "./esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs",
59
+ "esm": "./esm2022/src/lib/shared/verben-authentication-ui-src-lib-shared.mjs",
60
+ "default": "./fesm2022/verben-authentication-ui-src-lib-shared.mjs"
61
+ },
62
62
  "./src/lib/components/auth-callback": {
63
63
  "types": "./src/lib/components/auth-callback/index.d.ts",
64
64
  "esm2022": "./esm2022/src/lib/components/auth-callback/verben-authentication-ui-src-lib-components-auth-callback.mjs",
@@ -107,18 +107,18 @@
107
107
  "esm": "./esm2022/src/lib/components/reset-password/verben-authentication-ui-src-lib-components-reset-password.mjs",
108
108
  "default": "./fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs"
109
109
  },
110
- "./src/lib/components/sign-in": {
111
- "types": "./src/lib/components/sign-in/index.d.ts",
112
- "esm2022": "./esm2022/src/lib/components/sign-in/verben-authentication-ui-src-lib-components-sign-in.mjs",
113
- "esm": "./esm2022/src/lib/components/sign-in/verben-authentication-ui-src-lib-components-sign-in.mjs",
114
- "default": "./fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs"
115
- },
116
110
  "./src/lib/components/role-control": {
117
111
  "types": "./src/lib/components/role-control/index.d.ts",
118
112
  "esm2022": "./esm2022/src/lib/components/role-control/verben-authentication-ui-src-lib-components-role-control.mjs",
119
113
  "esm": "./esm2022/src/lib/components/role-control/verben-authentication-ui-src-lib-components-role-control.mjs",
120
114
  "default": "./fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs"
121
115
  },
116
+ "./src/lib/components/sign-in": {
117
+ "types": "./src/lib/components/sign-in/index.d.ts",
118
+ "esm2022": "./esm2022/src/lib/components/sign-in/verben-authentication-ui-src-lib-components-sign-in.mjs",
119
+ "esm": "./esm2022/src/lib/components/sign-in/verben-authentication-ui-src-lib-components-sign-in.mjs",
120
+ "default": "./fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs"
121
+ },
122
122
  "./src/lib/components/sign-up": {
123
123
  "types": "./src/lib/components/sign-up/index.d.ts",
124
124
  "esm2022": "./esm2022/src/lib/components/sign-up/verben-authentication-ui-src-lib-components-sign-up.mjs",
@@ -8,7 +8,6 @@ import { SearchPropertyValue } from 'verben-authentication-ui/src/lib/models';
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class UserAccessRequestService {
10
10
  private httpService;
11
- private readonly BASE_URL;
12
11
  constructor(httpService: HttpWebRequestService);
13
12
  /**
14
13
  * Get user access requests with pagination and sorting