verben-authentication-ui 1.1.0 → 1.1.1
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.
- package/README.md +23 -1
- package/esm2022/src/lib/base/core/base-data-page.facade.mjs +215 -0
- package/esm2022/src/lib/base/core/base-data-page.service.mjs +103 -0
- package/esm2022/src/lib/base/core/base-data-page.state.mjs +203 -0
- package/esm2022/src/lib/base/handlers/filter-handler.service.mjs +53 -0
- package/esm2022/src/lib/base/handlers/search-handler.service.mjs +31 -0
- package/esm2022/src/lib/base/handlers/sort-handler.service.mjs +49 -0
- package/esm2022/src/lib/base/models/api-payload.mjs +4 -0
- package/esm2022/src/lib/base/models/page-config.interface.mjs +2 -0
- package/esm2022/src/lib/base/public-api.mjs +14 -6
- package/esm2022/src/lib/base/utils/column-helpers.mjs +45 -0
- package/esm2022/src/lib/components/button/button.component.mjs +3 -3
- package/esm2022/src/lib/components/forgot-password/forgot-password.component.mjs +2 -2
- package/esm2022/src/lib/components/mail/mail.component.mjs +3 -3
- package/esm2022/src/lib/components/mail-validation/mail-validation.component.mjs +5 -5
- package/esm2022/src/lib/components/o-auth/o-auth.component.mjs +3 -3
- package/esm2022/src/lib/components/otp-input/otp-input.component.mjs +2 -2
- package/esm2022/src/lib/components/reset-password/reset-password.component.mjs +2 -2
- package/esm2022/src/lib/components/role-control/base-table-style.mjs +6 -6
- package/esm2022/src/lib/components/role-control/role-control.component.mjs +3 -3
- package/esm2022/src/lib/components/sign-in/sign-in.component.mjs +4 -4
- package/esm2022/src/lib/components/sign-up/sign-up.component.mjs +6 -6
- package/esm2022/src/lib/components/sso/base-table-style.mjs +6 -6
- package/esm2022/src/lib/components/sso/sso-form/sso-form.component.mjs +3 -3
- package/esm2022/src/lib/components/sso/sso.component.mjs +3 -3
- package/esm2022/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +4 -4
- package/esm2022/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +5 -5
- package/esm2022/src/lib/components/user-management/public-api.mjs +2 -1
- package/esm2022/src/lib/components/user-management/user-management-card/user-management-card.component.mjs +23 -0
- package/esm2022/src/lib/components/user-management/user-management-form/user-management-form.component.mjs +53 -91
- package/esm2022/src/lib/components/user-management/user-management-table/user-management-table.component.mjs +68 -0
- package/esm2022/src/lib/components/user-management/user-management.component.mjs +98 -509
- package/esm2022/src/lib/components/user-management/user-management.module.mjs +11 -80
- package/esm2022/src/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +8 -6
- package/esm2022/src/lib/components/user-management/user.config.mjs +94 -0
- package/esm2022/src/lib/components/user-management/user.facade.mjs +118 -0
- package/esm2022/src/lib/components/user-management/user.service.mjs +60 -0
- package/esm2022/src/lib/components/user-management/user.state.mjs +33 -0
- package/esm2022/src/lib/components/user-request/user-request.component.mjs +8 -8
- package/esm2022/src/lib/components/user-request-approval/public-api.mjs +2 -2
- package/esm2022/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +8 -6
- package/esm2022/src/lib/components/user-request-approval/user-access-request.config.mjs +79 -0
- package/esm2022/src/lib/components/user-request-approval/user-access-request.facade.mjs +123 -0
- package/esm2022/src/lib/components/user-request-approval/user-access-request.service.mjs +74 -0
- package/esm2022/src/lib/components/user-request-approval/user-access-request.state.mjs +26 -0
- package/esm2022/src/lib/components/user-request-approval/user-request-approval-card/user-request-approval-card.component.mjs +23 -0
- package/esm2022/src/lib/components/user-request-approval/user-request-approval-form/user-request-approval-form.component.mjs +124 -0
- package/esm2022/src/lib/components/user-request-approval/user-request-approval-table/user-request-approval-table.component.mjs +44 -0
- package/esm2022/src/lib/components/user-request-approval/user-request-approval.component.mjs +101 -273
- package/esm2022/src/lib/components/user-request-approval/user-request-approval.module.mjs +10 -74
- package/fesm2022/verben-authentication-ui-src-lib-base.mjs +596 -214
- package/fesm2022/verben-authentication-ui-src-lib-base.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-button.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-button.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-forgot-password.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-forgot-password.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-mail-validation.mjs +4 -4
- package/fesm2022/verben-authentication-ui-src-lib-components-mail-validation.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-mail.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-mail.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-o-auth.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-otp-input.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-otp-input.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs +2 -2
- package/fesm2022/verben-authentication-ui-src-lib-components-reset-password.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs +7 -7
- package/fesm2022/verben-authentication-ui-src-lib-components-role-control.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs +3 -3
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-in.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-up.mjs +5 -5
- package/fesm2022/verben-authentication-ui-src-lib-components-sign-up.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-sso.mjs +9 -9
- package/fesm2022/verben-authentication-ui-src-lib-components-sso.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs +3 -3
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-otp.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs +4 -4
- package/fesm2022/verben-authentication-ui-src-lib-components-two-factor-auth-setup.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-user-management.mjs +468 -831
- package/fesm2022/verben-authentication-ui-src-lib-components-user-management.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-approval.mjs +509 -952
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-approval.mjs.map +1 -1
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request.mjs +7 -7
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request.mjs.map +1 -1
- package/package.json +42 -48
- package/src/lib/base/README.md +99 -0
- package/src/lib/base/core/base-data-page.facade.d.ts +65 -0
- package/src/lib/base/core/base-data-page.service.d.ts +43 -0
- package/src/lib/base/core/base-data-page.state.d.ts +68 -0
- package/src/lib/base/handlers/filter-handler.service.d.ts +13 -0
- package/src/lib/base/handlers/search-handler.service.d.ts +20 -0
- package/src/lib/base/handlers/sort-handler.service.d.ts +13 -0
- package/src/lib/base/models/api-payload.d.ts +2 -0
- package/src/lib/base/models/page-config.interface.d.ts +21 -0
- package/src/lib/base/public-api.d.ts +9 -5
- package/src/lib/base/utils/column-helpers.d.ts +16 -0
- package/src/lib/components/user-management/public-api.d.ts +1 -0
- package/src/lib/components/user-management/user-management-card/user-management-card.component.d.ts +11 -0
- package/src/lib/components/user-management/user-management-form/user-management-form.component.d.ts +12 -14
- package/src/lib/components/user-management/user-management-table/user-management-table.component.d.ts +30 -0
- package/src/lib/components/user-management/user-management.component.d.ts +28 -124
- package/src/lib/components/user-management/user-management.module.d.ts +8 -8
- package/src/lib/components/user-management/user-status-badge/user-status-badge.component.d.ts +1 -1
- package/src/lib/components/user-management/user.config.d.ts +13 -0
- package/src/lib/components/user-management/user.facade.d.ts +42 -0
- package/src/lib/components/user-management/user.service.d.ts +26 -0
- package/src/lib/components/user-management/user.state.d.ts +19 -0
- package/src/lib/components/user-request-approval/public-api.d.ts +1 -1
- package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +1 -1
- package/src/lib/components/user-request-approval/user-access-request.config.d.ts +13 -0
- package/src/lib/components/user-request-approval/user-access-request.facade.d.ts +36 -0
- package/src/lib/components/user-request-approval/user-access-request.service.d.ts +30 -0
- package/src/lib/components/user-request-approval/user-access-request.state.d.ts +16 -0
- package/src/lib/components/user-request-approval/user-request-approval-card/user-request-approval-card.component.d.ts +11 -0
- package/src/lib/components/user-request-approval/user-request-approval-form/user-request-approval-form.component.d.ts +47 -0
- package/src/lib/components/user-request-approval/user-request-approval-table/user-request-approval-table.component.d.ts +20 -0
- package/src/lib/components/user-request-approval/user-request-approval.component.d.ts +29 -68
- package/src/lib/components/user-request-approval/user-request-approval.module.d.ts +7 -6
- package/esm2022/src/lib/base/base-data.component.mjs +0 -80
- package/esm2022/src/lib/base/base-data.facade.mjs +0 -130
- package/esm2022/src/lib/base/base-data.service.mjs +0 -21
- package/esm2022/src/lib/base/base-data.state.mjs +0 -74
- package/esm2022/src/lib/base/models.mjs +0 -2
- package/esm2022/src/lib/components/user-management/base-table-style.mjs +0 -53
- package/esm2022/src/lib/components/user-management/services/user-management.service.mjs +0 -110
- package/esm2022/src/lib/components/user-management/user-management.columns.mjs +0 -53
- package/esm2022/src/lib/components/user-request-approval/access-request.columns.mjs +0 -29
- package/esm2022/src/lib/components/user-request-approval/base-table-style.mjs +0 -53
- package/esm2022/src/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -260
- package/esm2022/src/lib/components/user-request-approval/helper.mjs +0 -56
- package/esm2022/src/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -92
- package/esm2022/src/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -92
- package/esm2022/src/lib/components/user-request-approval/user-request-form/user-request-form.component.mjs +0 -105
- package/esm2022/src/lib/components/user-request-process/index.mjs +0 -2
- package/esm2022/src/lib/components/user-request-process/public-api.mjs +0 -3
- package/esm2022/src/lib/components/user-request-process/user-request-process.component.mjs +0 -11
- package/esm2022/src/lib/components/user-request-process/user-request-process.module.mjs +0 -18
- package/esm2022/src/lib/components/user-request-process/verben-authentication-ui-src-lib-components-user-request-process.mjs +0 -5
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-process.mjs +0 -34
- package/fesm2022/verben-authentication-ui-src-lib-components-user-request-process.mjs.map +0 -1
- package/src/lib/base/base-data.component.d.ts +0 -32
- package/src/lib/base/base-data.facade.d.ts +0 -27
- package/src/lib/base/base-data.service.d.ts +0 -14
- package/src/lib/base/base-data.state.d.ts +0 -28
- package/src/lib/base/models.d.ts +0 -11
- package/src/lib/components/user-management/base-table-style.d.ts +0 -1
- package/src/lib/components/user-management/services/user-management.service.d.ts +0 -44
- package/src/lib/components/user-management/user-management.columns.d.ts +0 -3
- package/src/lib/components/user-request-approval/access-request.columns.d.ts +0 -3
- package/src/lib/components/user-request-approval/base-table-style.d.ts +0 -1
- package/src/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +0 -39
- package/src/lib/components/user-request-approval/helper.d.ts +0 -7
- package/src/lib/components/user-request-approval/services/user-access-request.service.d.ts +0 -64
- package/src/lib/components/user-request-approval/states/user-access-request.state.d.ts +0 -35
- package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.d.ts +0 -34
- package/src/lib/components/user-request-process/index.d.ts +0 -1
- package/src/lib/components/user-request-process/public-api.d.ts +0 -2
- package/src/lib/components/user-request-process/user-request-process.component.d.ts +0 -5
- package/src/lib/components/user-request-process/user-request-process.module.d.ts +0 -7
|
@@ -1,92 +1,23 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { HttpClientModule } from '@angular/common/http';
|
|
3
1
|
import { NgModule } from '@angular/core';
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
2
|
import { UserManagementComponent } from './user-management.component';
|
|
6
|
-
import { LibUserRequestApprovalModule } from 'verben-authentication-ui/src/lib/components/user-request-approval';
|
|
7
|
-
import { CardDataViewModule, CardModule, DataExportModule, DataTableModule, DataViewModule, DataXportModule, DropDownModule, SortTableModule, SvgModule, TableFilterModule, VerbenaBadgeModule, VerbenaButtonModule, VerbenaInputModule, VerbenaSwitchModule, VisibleColumnModule, } from 'verben-ng-ui';
|
|
8
|
-
import { UserManagementService } from './services/user-management.service';
|
|
9
|
-
import { UserManagementFormComponent } from './user-management-form/user-management-form.component';
|
|
10
3
|
import { UserStatusBadgeComponent } from './user-status-badge/user-status-badge.component';
|
|
11
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Backward-compatibility shim. The components are standalone; this module keeps
|
|
7
|
+
* the historical `LibUserManagementModule` name so existing NgModule-based
|
|
8
|
+
* consumers keep working after the rebuild. It no longer depends on the
|
|
9
|
+
* access-request module.
|
|
10
|
+
*/
|
|
12
11
|
export class LibUserManagementModule {
|
|
13
12
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUserManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LibUserManagementModule,
|
|
15
|
-
|
|
16
|
-
UserStatusBadgeComponent], imports: [HttpClientModule,
|
|
17
|
-
CommonModule,
|
|
18
|
-
DataTableModule,
|
|
19
|
-
CardModule,
|
|
20
|
-
SvgModule,
|
|
21
|
-
DataViewModule,
|
|
22
|
-
CardDataViewModule,
|
|
23
|
-
SortTableModule,
|
|
24
|
-
VisibleColumnModule,
|
|
25
|
-
TableFilterModule,
|
|
26
|
-
DataExportModule,
|
|
27
|
-
DataXportModule,
|
|
28
|
-
FormsModule,
|
|
29
|
-
ReactiveFormsModule,
|
|
30
|
-
VerbenaInputModule,
|
|
31
|
-
VerbenaButtonModule,
|
|
32
|
-
VerbenaBadgeModule,
|
|
33
|
-
DropDownModule,
|
|
34
|
-
VerbenaSwitchModule,
|
|
35
|
-
LibUserRequestApprovalModule], exports: [UserManagementComponent] });
|
|
36
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUserManagementModule, providers: [UserManagementService], imports: [HttpClientModule,
|
|
37
|
-
CommonModule,
|
|
38
|
-
DataTableModule,
|
|
39
|
-
CardModule,
|
|
40
|
-
SvgModule,
|
|
41
|
-
DataViewModule,
|
|
42
|
-
CardDataViewModule,
|
|
43
|
-
SortTableModule,
|
|
44
|
-
VisibleColumnModule,
|
|
45
|
-
TableFilterModule,
|
|
46
|
-
DataExportModule,
|
|
47
|
-
DataXportModule,
|
|
48
|
-
FormsModule,
|
|
49
|
-
ReactiveFormsModule,
|
|
50
|
-
VerbenaInputModule,
|
|
51
|
-
VerbenaButtonModule,
|
|
52
|
-
VerbenaBadgeModule,
|
|
53
|
-
DropDownModule,
|
|
54
|
-
VerbenaSwitchModule,
|
|
55
|
-
LibUserRequestApprovalModule] });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: LibUserManagementModule, imports: [UserManagementComponent, UserStatusBadgeComponent], exports: [UserManagementComponent, UserStatusBadgeComponent] });
|
|
14
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUserManagementModule, imports: [UserManagementComponent, UserStatusBadgeComponent] });
|
|
56
15
|
}
|
|
57
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibUserManagementModule, decorators: [{
|
|
58
17
|
type: NgModule,
|
|
59
18
|
args: [{
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
UserManagementFormComponent,
|
|
63
|
-
UserStatusBadgeComponent,
|
|
64
|
-
],
|
|
65
|
-
imports: [
|
|
66
|
-
HttpClientModule,
|
|
67
|
-
CommonModule,
|
|
68
|
-
DataTableModule,
|
|
69
|
-
CardModule,
|
|
70
|
-
SvgModule,
|
|
71
|
-
DataViewModule,
|
|
72
|
-
CardDataViewModule,
|
|
73
|
-
SortTableModule,
|
|
74
|
-
VisibleColumnModule,
|
|
75
|
-
TableFilterModule,
|
|
76
|
-
DataExportModule,
|
|
77
|
-
DataXportModule,
|
|
78
|
-
FormsModule,
|
|
79
|
-
ReactiveFormsModule,
|
|
80
|
-
VerbenaInputModule,
|
|
81
|
-
VerbenaButtonModule,
|
|
82
|
-
VerbenaBadgeModule,
|
|
83
|
-
DropDownModule,
|
|
84
|
-
VerbenaSwitchModule,
|
|
85
|
-
LibUserRequestApprovalModule,
|
|
86
|
-
// AsyncLabelPipe,
|
|
87
|
-
],
|
|
88
|
-
providers: [UserManagementService],
|
|
89
|
-
exports: [UserManagementComponent],
|
|
19
|
+
imports: [UserManagementComponent, UserStatusBadgeComponent],
|
|
20
|
+
exports: [UserManagementComponent, UserStatusBadgeComponent],
|
|
90
21
|
}]
|
|
91
22
|
}] });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1tYW5hZ2VtZW50L3VzZXItbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFFM0Y7Ozs7O0dBS0c7QUFLSCxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1QixZQUh4Qix1QkFBdUIsRUFBRSx3QkFBd0IsYUFDakQsdUJBQXVCLEVBQUUsd0JBQXdCO3lHQUVoRCx1QkFBdUIsWUFIeEIsdUJBQXVCLEVBQUUsd0JBQXdCOzs0RkFHaEQsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLHdCQUF3QixDQUFDO29CQUM1RCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSx3QkFBd0IsQ0FBQztpQkFDN0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlck1hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL3VzZXItbWFuYWdlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlclN0YXR1c0JhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLXN0YXR1cy1iYWRnZS91c2VyLXN0YXR1cy1iYWRnZS5jb21wb25lbnQnO1xuXG4vKipcbiAqIEJhY2t3YXJkLWNvbXBhdGliaWxpdHkgc2hpbS4gVGhlIGNvbXBvbmVudHMgYXJlIHN0YW5kYWxvbmU7IHRoaXMgbW9kdWxlIGtlZXBzXG4gKiB0aGUgaGlzdG9yaWNhbCBgTGliVXNlck1hbmFnZW1lbnRNb2R1bGVgIG5hbWUgc28gZXhpc3RpbmcgTmdNb2R1bGUtYmFzZWRcbiAqIGNvbnN1bWVycyBrZWVwIHdvcmtpbmcgYWZ0ZXIgdGhlIHJlYnVpbGQuIEl0IG5vIGxvbmdlciBkZXBlbmRzIG9uIHRoZVxuICogYWNjZXNzLXJlcXVlc3QgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbVXNlck1hbmFnZW1lbnRDb21wb25lbnQsIFVzZXJTdGF0dXNCYWRnZUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtVc2VyTWFuYWdlbWVudENvbXBvbmVudCwgVXNlclN0YXR1c0JhZGdlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTGliVXNlck1hbmFnZW1lbnRNb2R1bGUge31cbiJdfQ==
|
package/esm2022/src/lib/components/user-management/user-status-badge/user-status-badge.component.mjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
2
3
|
import { Status } from 'verben-authentication-ui/src/lib/models';
|
|
4
|
+
import { VerbenaBadgeModule } from 'verben-ng-ui';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "verben-ng-ui";
|
|
5
7
|
export class UserStatusBadgeComponent {
|
|
@@ -7,20 +9,20 @@ export class UserStatusBadgeComponent {
|
|
|
7
9
|
badgeConfig() {
|
|
8
10
|
switch (this.status) {
|
|
9
11
|
case Status.Active:
|
|
10
|
-
return { bgColor: '
|
|
12
|
+
return { bgColor: 'var(--vbn-color-success-bg)', textColor: 'var(--vbn-color-success)', label: 'Active' };
|
|
11
13
|
case Status.InActive:
|
|
12
|
-
return { bgColor: '
|
|
14
|
+
return { bgColor: 'var(--vbn-color-error-bg)', textColor: 'var(--vbn-color-error)', label: 'InActive' };
|
|
13
15
|
default:
|
|
14
|
-
return { bgColor: '
|
|
16
|
+
return { bgColor: 'var(--vbn-color-text-muted)', textColor: 'var(--vbn-color-border)', label: 'Unknown' };
|
|
15
17
|
}
|
|
16
18
|
}
|
|
17
19
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserStatusBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserStatusBadgeComponent, selector: "lib-user-status-badge", inputs: { status: "status" }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "component", type: i1.VerbenaBadgeComponent, selector: "verbena-badge", inputs: ["text", "bgColor", "textColor", "borderRadius", "pd", "fontSize", "width", "height"] }] });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserStatusBadgeComponent, isStandalone: true, selector: "lib-user-status-badge", inputs: { status: "status" }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: VerbenaBadgeModule }, { kind: "component", type: i1.VerbenaBadgeComponent, selector: "verbena-badge", inputs: ["text", "bgColor", "textColor", "borderRadius", "pd", "fontSize", "width", "height"] }] });
|
|
19
21
|
}
|
|
20
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserStatusBadgeComponent, decorators: [{
|
|
21
23
|
type: Component,
|
|
22
|
-
args: [{ selector: 'lib-user-status-badge', template: "<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" }]
|
|
24
|
+
args: [{ selector: 'lib-user-status-badge', standalone: true, imports: [CommonModule, VerbenaBadgeModule], template: "<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" }]
|
|
23
25
|
}], propDecorators: { status: [{
|
|
24
26
|
type: Input
|
|
25
27
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zdGF0dXMtYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci1zdGF0dXMtYmFkZ2UvdXNlci1zdGF0dXMtYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci1zdGF0dXMtYmFkZ2UvdXNlci1zdGF0dXMtYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQVNsRCxNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLE1BQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBRXhDLFdBQVc7UUFDVCxRQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixLQUFLLE1BQU0sQ0FBQyxNQUFNO2dCQUNoQixPQUFPLEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDNUcsS0FBSyxNQUFNLENBQUMsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQzFHO2dCQUNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsU0FBUyxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUM5RyxDQUFDO0lBQ0gsQ0FBQzt3R0FaVSx3QkFBd0I7NEZBQXhCLHdCQUF3QiwrR0NackMsNE5BUUEseUREQVksWUFBWSw4QkFBRSxrQkFBa0I7OzRGQUkvQix3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQzs4QkFLbEMsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBWZXJiZW5hQmFkZ2VNb2R1bGUgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdXNlci1zdGF0dXMtYmFkZ2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBWZXJiZW5hQmFkZ2VNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1zdGF0dXMtYmFkZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdXNlci1zdGF0dXMtYmFkZ2UuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTdGF0dXNCYWRnZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHN0YXR1czogU3RhdHVzID0gU3RhdHVzLkFjdGl2ZTtcblxuICBiYWRnZUNvbmZpZygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICBjYXNlIFN0YXR1cy5BY3RpdmU6XG4gICAgICAgIHJldHVybiB7IGJnQ29sb3I6ICd2YXIoLS12Ym4tY29sb3Itc3VjY2Vzcy1iZyknLCB0ZXh0Q29sb3I6ICd2YXIoLS12Ym4tY29sb3Itc3VjY2VzcyknLCBsYWJlbDogJ0FjdGl2ZScgfTtcbiAgICAgIGNhc2UgU3RhdHVzLkluQWN0aXZlOlxuICAgICAgICByZXR1cm4geyBiZ0NvbG9yOiAndmFyKC0tdmJuLWNvbG9yLWVycm9yLWJnKScsIHRleHRDb2xvcjogJ3ZhcigtLXZibi1jb2xvci1lcnJvciknLCBsYWJlbDogJ0luQWN0aXZlJyB9O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHsgYmdDb2xvcjogJ3ZhcigtLXZibi1jb2xvci10ZXh0LW11dGVkKScsIHRleHRDb2xvcjogJ3ZhcigtLXZibi1jb2xvci1ib3JkZXIpJywgbGFiZWw6ICdVbmtub3duJyB9O1xuICAgIH1cbiAgfVxufVxuIiwiPHZlcmJlbmEtYmFkZ2VcbiAgYm9yZGVyUmFkaXVzPVwiOXB4XCJcbiAgW2JnQ29sb3JdPVwiYmFkZ2VDb25maWcoKS5iZ0NvbG9yXCJcbiAgW3RleHRDb2xvcl09XCJiYWRnZUNvbmZpZygpLnRleHRDb2xvclwiXG4gIGZvbnRTaXplPVwiMTJweFwiXG4gIFt0ZXh0XT1cImJhZGdlQ29uZmlnKCkubGFiZWxcIlxuICBbcGRdPVwiJzJweCA2cHgnXCJcbj48L3ZlcmJlbmEtYmFkZ2U+XG4iXX0=
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { FormBuilder } from '@angular/forms';
|
|
2
|
+
const fb = new FormBuilder();
|
|
3
|
+
/**
|
|
4
|
+
* Column definitions for the user table.
|
|
5
|
+
* Single source of truth for table, filter, sort, and export.
|
|
6
|
+
* The role column keys on `RoleID`; the table renders it as the role name.
|
|
7
|
+
*/
|
|
8
|
+
export const USER_COLUMNS = [
|
|
9
|
+
{
|
|
10
|
+
id: 'select',
|
|
11
|
+
header: '',
|
|
12
|
+
canExport: false,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 'createdAt',
|
|
16
|
+
header: 'CREATED',
|
|
17
|
+
accessorKey: 'CreatedAt',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: 'user',
|
|
21
|
+
header: 'NAME',
|
|
22
|
+
accessorFn: (row) => `${row.FirstName} ${row.LastName}`,
|
|
23
|
+
formControlName: 'FirstName',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 'mail',
|
|
27
|
+
header: 'E-MAIL',
|
|
28
|
+
accessorKey: 'MailAddress',
|
|
29
|
+
formControlName: 'MailAddress',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'phone',
|
|
33
|
+
header: 'PHONE NUMBER',
|
|
34
|
+
accessorKey: 'PhoneNumber',
|
|
35
|
+
formControlName: 'PhoneNumber',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: 'role',
|
|
39
|
+
header: 'ROLE',
|
|
40
|
+
accessorKey: 'RoleID',
|
|
41
|
+
formControlName: 'RoleID',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'status',
|
|
45
|
+
header: 'STATUS',
|
|
46
|
+
accessorKey: 'Status',
|
|
47
|
+
formControlName: 'Status',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: 'actions',
|
|
51
|
+
header: 'ACTIONS',
|
|
52
|
+
canExport: false,
|
|
53
|
+
},
|
|
54
|
+
];
|
|
55
|
+
/**
|
|
56
|
+
* Page configuration for user management.
|
|
57
|
+
*/
|
|
58
|
+
export const USER_CONFIG = {
|
|
59
|
+
endpoint: 'User',
|
|
60
|
+
pageSize: 20,
|
|
61
|
+
columns: USER_COLUMNS,
|
|
62
|
+
cardDataMapper: (user) => ({
|
|
63
|
+
selected: false,
|
|
64
|
+
title: `${user.FirstName} ${user.LastName}`,
|
|
65
|
+
data: user,
|
|
66
|
+
body: [
|
|
67
|
+
{ title: 'Name', value: `${user.FirstName} ${user.LastName}` },
|
|
68
|
+
{ title: 'E-Mail Address', value: user.MailAddress },
|
|
69
|
+
{ title: 'Phone Number', value: user.PhoneNumber || 'N/A' },
|
|
70
|
+
],
|
|
71
|
+
children: [],
|
|
72
|
+
}),
|
|
73
|
+
searchDebounceTime: 500,
|
|
74
|
+
formGroupConfig: {
|
|
75
|
+
controls: {
|
|
76
|
+
MailAddress: fb.control(''),
|
|
77
|
+
FirstName: fb.control(''),
|
|
78
|
+
LastName: fb.control(''),
|
|
79
|
+
PhoneNumber: fb.control(''),
|
|
80
|
+
RoleID: fb.control(''),
|
|
81
|
+
Tags: fb.control([]),
|
|
82
|
+
Status: fb.control(''),
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
enableCreate: false,
|
|
86
|
+
enableImport: false,
|
|
87
|
+
enableExport: true,
|
|
88
|
+
enableFilter: true,
|
|
89
|
+
enableSort: true,
|
|
90
|
+
enableSearch: true,
|
|
91
|
+
enableCardView: true,
|
|
92
|
+
enableTableRowEdit: true,
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC91c2VyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUU3Qjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUE2QjtJQUNwRDtRQUNFLEVBQUUsRUFBRSxRQUFRO1FBQ1osTUFBTSxFQUFFLEVBQUU7UUFDVixTQUFTLEVBQUUsS0FBSztLQUNqQjtJQUNEO1FBQ0UsRUFBRSxFQUFFLFdBQVc7UUFDZixNQUFNLEVBQUUsU0FBUztRQUNqQixXQUFXLEVBQUUsV0FBVztLQUN6QjtJQUNEO1FBQ0UsRUFBRSxFQUFFLE1BQU07UUFDVixNQUFNLEVBQUUsTUFBTTtRQUNkLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7UUFDdkQsZUFBZSxFQUFFLFdBQVc7S0FDN0I7SUFDRDtRQUNFLEVBQUUsRUFBRSxNQUFNO1FBQ1YsTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsZUFBZSxFQUFFLGFBQWE7S0FDL0I7SUFDRDtRQUNFLEVBQUUsRUFBRSxPQUFPO1FBQ1gsTUFBTSxFQUFFLGNBQWM7UUFDdEIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsZUFBZSxFQUFFLGFBQWE7S0FDL0I7SUFDRDtRQUNFLEVBQUUsRUFBRSxNQUFNO1FBQ1YsTUFBTSxFQUFFLE1BQU07UUFDZCxXQUFXLEVBQUUsUUFBUTtRQUNyQixlQUFlLEVBQUUsUUFBUTtLQUMxQjtJQUNEO1FBQ0UsRUFBRSxFQUFFLFFBQVE7UUFDWixNQUFNLEVBQUUsUUFBUTtRQUNoQixXQUFXLEVBQUUsUUFBUTtRQUNyQixlQUFlLEVBQUUsUUFBUTtLQUMxQjtJQUNEO1FBQ0UsRUFBRSxFQUFFLFNBQVM7UUFDYixNQUFNLEVBQUUsU0FBUztRQUNqQixTQUFTLEVBQUUsS0FBSztLQUNqQjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBeUI7SUFDL0MsUUFBUSxFQUFFLE1BQU07SUFDaEIsUUFBUSxFQUFFLEVBQUU7SUFDWixPQUFPLEVBQUUsWUFBWTtJQUNyQixjQUFjLEVBQUUsQ0FBQyxJQUFVLEVBQVksRUFBRSxDQUFDLENBQUM7UUFDekMsUUFBUSxFQUFFLEtBQUs7UUFDZixLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDM0MsSUFBSSxFQUFFLElBQUk7UUFDVixJQUFJLEVBQUU7WUFDSixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDOUQsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEQsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLEtBQUssRUFBRTtTQUM1RDtRQUNELFFBQVEsRUFBRSxFQUFFO0tBQ2IsQ0FBQztJQUNGLGtCQUFrQixFQUFFLEdBQUc7SUFFdkIsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFO1lBQ1IsV0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzNCLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6QixRQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDeEIsV0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDcEIsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ3ZCO0tBQ0Y7SUFFRCxZQUFZLEVBQUUsS0FBSztJQUNuQixZQUFZLEVBQUUsS0FBSztJQUNuQixZQUFZLEVBQUUsSUFBSTtJQUNsQixZQUFZLEVBQUUsSUFBSTtJQUNsQixVQUFVLEVBQUUsSUFBSTtJQUNoQixZQUFZLEVBQUUsSUFBSTtJQUNsQixjQUFjLEVBQUUsSUFBSTtJQUNwQixrQkFBa0IsRUFBRSxJQUFJO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgQmFzZVBhZ2VDb25maWcgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9iYXNlJztcbmltcG9ydCB7IENhcmREYXRhLCBDb2x1bW5EZWZpbml0aW9uIH0gZnJvbSAndmVyYmVuLW5nLXVpJztcblxuY29uc3QgZmIgPSBuZXcgRm9ybUJ1aWxkZXIoKTtcblxuLyoqXG4gKiBDb2x1bW4gZGVmaW5pdGlvbnMgZm9yIHRoZSB1c2VyIHRhYmxlLlxuICogU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGFibGUsIGZpbHRlciwgc29ydCwgYW5kIGV4cG9ydC5cbiAqIFRoZSByb2xlIGNvbHVtbiBrZXlzIG9uIGBSb2xlSURgOyB0aGUgdGFibGUgcmVuZGVycyBpdCBhcyB0aGUgcm9sZSBuYW1lLlxuICovXG5leHBvcnQgY29uc3QgVVNFUl9DT0xVTU5TOiBDb2x1bW5EZWZpbml0aW9uPFVzZXI+W10gPSBbXG4gIHtcbiAgICBpZDogJ3NlbGVjdCcsXG4gICAgaGVhZGVyOiAnJyxcbiAgICBjYW5FeHBvcnQ6IGZhbHNlLFxuICB9LFxuICB7XG4gICAgaWQ6ICdjcmVhdGVkQXQnLFxuICAgIGhlYWRlcjogJ0NSRUFURUQnLFxuICAgIGFjY2Vzc29yS2V5OiAnQ3JlYXRlZEF0JyxcbiAgfSxcbiAge1xuICAgIGlkOiAndXNlcicsXG4gICAgaGVhZGVyOiAnTkFNRScsXG4gICAgYWNjZXNzb3JGbjogKHJvdykgPT4gYCR7cm93LkZpcnN0TmFtZX0gJHtyb3cuTGFzdE5hbWV9YCxcbiAgICBmb3JtQ29udHJvbE5hbWU6ICdGaXJzdE5hbWUnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdtYWlsJyxcbiAgICBoZWFkZXI6ICdFLU1BSUwnLFxuICAgIGFjY2Vzc29yS2V5OiAnTWFpbEFkZHJlc3MnLFxuICAgIGZvcm1Db250cm9sTmFtZTogJ01haWxBZGRyZXNzJyxcbiAgfSxcbiAge1xuICAgIGlkOiAncGhvbmUnLFxuICAgIGhlYWRlcjogJ1BIT05FIE5VTUJFUicsXG4gICAgYWNjZXNzb3JLZXk6ICdQaG9uZU51bWJlcicsXG4gICAgZm9ybUNvbnRyb2xOYW1lOiAnUGhvbmVOdW1iZXInLFxuICB9LFxuICB7XG4gICAgaWQ6ICdyb2xlJyxcbiAgICBoZWFkZXI6ICdST0xFJyxcbiAgICBhY2Nlc3NvcktleTogJ1JvbGVJRCcsXG4gICAgZm9ybUNvbnRyb2xOYW1lOiAnUm9sZUlEJyxcbiAgfSxcbiAge1xuICAgIGlkOiAnc3RhdHVzJyxcbiAgICBoZWFkZXI6ICdTVEFUVVMnLFxuICAgIGFjY2Vzc29yS2V5OiAnU3RhdHVzJyxcbiAgICBmb3JtQ29udHJvbE5hbWU6ICdTdGF0dXMnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdhY3Rpb25zJyxcbiAgICBoZWFkZXI6ICdBQ1RJT05TJyxcbiAgICBjYW5FeHBvcnQ6IGZhbHNlLFxuICB9LFxuXTtcblxuLyoqXG4gKiBQYWdlIGNvbmZpZ3VyYXRpb24gZm9yIHVzZXIgbWFuYWdlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IFVTRVJfQ09ORklHOiBCYXNlUGFnZUNvbmZpZzxVc2VyPiA9IHtcbiAgZW5kcG9pbnQ6ICdVc2VyJyxcbiAgcGFnZVNpemU6IDIwLFxuICBjb2x1bW5zOiBVU0VSX0NPTFVNTlMsXG4gIGNhcmREYXRhTWFwcGVyOiAodXNlcjogVXNlcik6IENhcmREYXRhID0+ICh7XG4gICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgIHRpdGxlOiBgJHt1c2VyLkZpcnN0TmFtZX0gJHt1c2VyLkxhc3ROYW1lfWAsXG4gICAgZGF0YTogdXNlcixcbiAgICBib2R5OiBbXG4gICAgICB7IHRpdGxlOiAnTmFtZScsIHZhbHVlOiBgJHt1c2VyLkZpcnN0TmFtZX0gJHt1c2VyLkxhc3ROYW1lfWAgfSxcbiAgICAgIHsgdGl0bGU6ICdFLU1haWwgQWRkcmVzcycsIHZhbHVlOiB1c2VyLk1haWxBZGRyZXNzIH0sXG4gICAgICB7IHRpdGxlOiAnUGhvbmUgTnVtYmVyJywgdmFsdWU6IHVzZXIuUGhvbmVOdW1iZXIgfHwgJ04vQScgfSxcbiAgICBdLFxuICAgIGNoaWxkcmVuOiBbXSxcbiAgfSksXG4gIHNlYXJjaERlYm91bmNlVGltZTogNTAwLFxuXG4gIGZvcm1Hcm91cENvbmZpZzoge1xuICAgIGNvbnRyb2xzOiB7XG4gICAgICBNYWlsQWRkcmVzczogZmIuY29udHJvbCgnJyksXG4gICAgICBGaXJzdE5hbWU6IGZiLmNvbnRyb2woJycpLFxuICAgICAgTGFzdE5hbWU6IGZiLmNvbnRyb2woJycpLFxuICAgICAgUGhvbmVOdW1iZXI6IGZiLmNvbnRyb2woJycpLFxuICAgICAgUm9sZUlEOiBmYi5jb250cm9sKCcnKSxcbiAgICAgIFRhZ3M6IGZiLmNvbnRyb2woW10pLFxuICAgICAgU3RhdHVzOiBmYi5jb250cm9sKCcnKSxcbiAgICB9LFxuICB9LFxuXG4gIGVuYWJsZUNyZWF0ZTogZmFsc2UsXG4gIGVuYWJsZUltcG9ydDogZmFsc2UsXG4gIGVuYWJsZUV4cG9ydDogdHJ1ZSxcbiAgZW5hYmxlRmlsdGVyOiB0cnVlLFxuICBlbmFibGVTb3J0OiB0cnVlLFxuICBlbmFibGVTZWFyY2g6IHRydWUsXG4gIGVuYWJsZUNhcmRWaWV3OiB0cnVlLFxuICBlbmFibGVUYWJsZVJvd0VkaXQ6IHRydWUsXG59O1xuIl19
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ObjectState, OAuthType, Status, } from 'verben-authentication-ui/src/lib/models';
|
|
3
|
+
import { BaseDataPageFacade, } from 'verben-authentication-ui/src/lib/base';
|
|
4
|
+
import { USER_CONFIG } from './user.config';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./user.state";
|
|
7
|
+
import * as i2 from "./user.service";
|
|
8
|
+
import * as i3 from "verben-authentication-ui/src/lib/base";
|
|
9
|
+
import * as i4 from "verben-authentication-ui/src/lib/services";
|
|
10
|
+
/**
|
|
11
|
+
* Facade for the user-management page.
|
|
12
|
+
*/
|
|
13
|
+
export class UserFacade extends BaseDataPageFacade {
|
|
14
|
+
userService;
|
|
15
|
+
blankUser;
|
|
16
|
+
constructor(state, service, searchHandler, utilService) {
|
|
17
|
+
super(state, service, searchHandler, utilService, USER_CONFIG);
|
|
18
|
+
this.userService = service;
|
|
19
|
+
}
|
|
20
|
+
// ===== Custom observables =====
|
|
21
|
+
get roles$() {
|
|
22
|
+
return this.state.getRoles$();
|
|
23
|
+
}
|
|
24
|
+
get tags$() {
|
|
25
|
+
return this.state.getTags$();
|
|
26
|
+
}
|
|
27
|
+
// ===== Runtime configuration (from component @Inputs) =====
|
|
28
|
+
applyRuntimeConfig(options) {
|
|
29
|
+
if (options.pageSize && options.pageSize > 0) {
|
|
30
|
+
this.state.updateQueryParams({ limit: options.pageSize });
|
|
31
|
+
}
|
|
32
|
+
if (options.searchDebounceTime && options.searchDebounceTime > 0) {
|
|
33
|
+
this.searchHandler.setDebounceTime(options.searchDebounceTime);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** Seed an initial search term (used by the optional `role` input). */
|
|
37
|
+
setInitialSearch(term) {
|
|
38
|
+
this.state.setSearchTerm(term);
|
|
39
|
+
}
|
|
40
|
+
// ===== Lookups =====
|
|
41
|
+
async loadRoles() {
|
|
42
|
+
this.state.setRoles(await this.userService.getRoles());
|
|
43
|
+
}
|
|
44
|
+
async loadTags() {
|
|
45
|
+
this.state.setTags(await this.userService.getTags());
|
|
46
|
+
}
|
|
47
|
+
getRoleName(roleId) {
|
|
48
|
+
return this.state.getRolesValue().find((r) => r.Code === roleId)?.Name ?? '';
|
|
49
|
+
}
|
|
50
|
+
// ===== View management =====
|
|
51
|
+
/**
|
|
52
|
+
* Select the user to show in the form. The form template binds to
|
|
53
|
+
* currentCardData(), so route selection through selectCard (reusing the
|
|
54
|
+
* matching card from the loaded list when present) rather than a separate
|
|
55
|
+
* selected-user stream that nothing reads.
|
|
56
|
+
*/
|
|
57
|
+
openForm(user) {
|
|
58
|
+
const target = user ?? this.createEmptyUser();
|
|
59
|
+
const existing = this.cardData().find((card) => card.data?.Code === target.Code);
|
|
60
|
+
this.selectCard(existing ?? this.getConfig().cardDataMapper(target));
|
|
61
|
+
}
|
|
62
|
+
closeForm() {
|
|
63
|
+
this.selectCard(null);
|
|
64
|
+
}
|
|
65
|
+
handleColumnsUpdated(columns) {
|
|
66
|
+
this.updateVisibleColumns(columns);
|
|
67
|
+
}
|
|
68
|
+
// ===== User operations =====
|
|
69
|
+
async saveUser(user) {
|
|
70
|
+
const payload = {
|
|
71
|
+
...user,
|
|
72
|
+
DataState: user.DataState === ObjectState.New ? ObjectState.New : ObjectState.Changed,
|
|
73
|
+
};
|
|
74
|
+
const success = await this.saveItems([payload]);
|
|
75
|
+
if (success) {
|
|
76
|
+
this.closeForm();
|
|
77
|
+
await this.refresh();
|
|
78
|
+
}
|
|
79
|
+
return success;
|
|
80
|
+
}
|
|
81
|
+
async deleteUser(id) {
|
|
82
|
+
const success = await this.deleteItems([id]);
|
|
83
|
+
if (success) {
|
|
84
|
+
this.closeForm();
|
|
85
|
+
await this.refresh();
|
|
86
|
+
}
|
|
87
|
+
return success;
|
|
88
|
+
}
|
|
89
|
+
// ===== Empty placeholder =====
|
|
90
|
+
get emptyUser() {
|
|
91
|
+
return (this.blankUser ??= this.createEmptyUser());
|
|
92
|
+
}
|
|
93
|
+
createEmptyUser() {
|
|
94
|
+
return {
|
|
95
|
+
id: Date.now().toString(),
|
|
96
|
+
Id: '',
|
|
97
|
+
Code: '',
|
|
98
|
+
TenantId: '',
|
|
99
|
+
ServiceName: '',
|
|
100
|
+
CreatedAt: new Date(),
|
|
101
|
+
UpdatedAt: new Date(),
|
|
102
|
+
DataState: ObjectState.New,
|
|
103
|
+
Password: '',
|
|
104
|
+
FirstName: '',
|
|
105
|
+
LastName: '',
|
|
106
|
+
MailAddress: '',
|
|
107
|
+
IsSeeded: false,
|
|
108
|
+
Status: Status.Active,
|
|
109
|
+
SignupType: OAuthType.InApp,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserFacade, deps: [{ token: i1.UserState }, { token: i2.UserService }, { token: i3.SearchHandlerService }, { token: i4.UtilService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
113
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserFacade });
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserFacade, decorators: [{
|
|
116
|
+
type: Injectable
|
|
117
|
+
}], ctorParameters: () => [{ type: i1.UserState }, { type: i2.UserService }, { type: i3.SearchHandlerService }, { type: i4.UtilService }] });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC91c2VyLmZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUVULE1BQU0sR0FHUCxNQUFNLHlDQUF5QyxDQUFDO0FBRWpELE9BQU8sRUFDTCxrQkFBa0IsR0FFbkIsTUFBTSx1Q0FBdUMsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFJNUM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGtCQUF3QjtJQUM5QyxXQUFXLENBQWM7SUFDekIsU0FBUyxDQUFRO0lBRXpCLFlBQ0UsS0FBZ0IsRUFDaEIsT0FBb0IsRUFDcEIsYUFBbUMsRUFDbkMsV0FBd0I7UUFFeEIsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUM3QixDQUFDO0lBRUQsaUNBQWlDO0lBRWpDLElBQUksTUFBTTtRQUNSLE9BQVEsSUFBSSxDQUFDLEtBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQVEsSUFBSSxDQUFDLEtBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELDZEQUE2RDtJQUU3RCxrQkFBa0IsQ0FBQyxPQUEyRDtRQUM1RSxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCx1RUFBdUU7SUFDdkUsZ0JBQWdCLENBQUMsSUFBWTtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsc0JBQXNCO0lBRXRCLEtBQUssQ0FBQyxTQUFTO1FBQ1osSUFBSSxDQUFDLEtBQW1CLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNYLElBQUksQ0FBQyxLQUFtQixDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWM7UUFDeEIsT0FBUSxJQUFJLENBQUMsS0FBbUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM5RixDQUFDO0lBRUQsOEJBQThCO0lBRTlCOzs7OztPQUtHO0lBQ0gsUUFBUSxDQUFDLElBQVc7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBaUM7UUFDcEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCw4QkFBOEI7SUFFOUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFVO1FBQ3ZCLE1BQU0sT0FBTyxHQUFTO1lBQ3BCLEdBQUcsSUFBSTtZQUNQLFNBQVMsRUFDUCxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPO1NBQzdFLENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2hELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQVU7UUFDekIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0NBQWdDO0lBRWhDLElBQUksU0FBUztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUN6QixFQUFFLEVBQUUsRUFBRTtZQUNOLElBQUksRUFBRSxFQUFFO1lBQ1IsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNyQixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDckIsU0FBUyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1lBQzFCLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsRUFBRTtZQUNaLFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLEtBQUs7WUFDZixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsVUFBVSxFQUFFLFNBQVMsQ0FBQyxLQUFLO1NBQ3BCLENBQUM7SUFDWixDQUFDO3dHQTdIVSxVQUFVOzRHQUFWLFVBQVU7OzRGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBPYmplY3RTdGF0ZSxcbiAgT0F1dGhUeXBlLFxuICBSb2xlLFxuICBTdGF0dXMsXG4gIFRhZyxcbiAgVXNlcixcbn0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgQmFzZURhdGFQYWdlRmFjYWRlLFxuICBTZWFyY2hIYW5kbGVyU2VydmljZSxcbn0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvYmFzZSc7XG5pbXBvcnQgeyBDb2x1bW5EZWZpbml0aW9uIH0gZnJvbSAndmVyYmVuLW5nLXVpJztcbmltcG9ydCB7IFVTRVJfQ09ORklHIH0gZnJvbSAnLi91c2VyLmNvbmZpZyc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4vdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTdGF0ZSB9IGZyb20gJy4vdXNlci5zdGF0ZSc7XG5cbi8qKlxuICogRmFjYWRlIGZvciB0aGUgdXNlci1tYW5hZ2VtZW50IHBhZ2UuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyRmFjYWRlIGV4dGVuZHMgQmFzZURhdGFQYWdlRmFjYWRlPFVzZXI+IHtcbiAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2U7XG4gIHByaXZhdGUgYmxhbmtVc2VyPzogVXNlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdGF0ZTogVXNlclN0YXRlLFxuICAgIHNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHNlYXJjaEhhbmRsZXI6IFNlYXJjaEhhbmRsZXJTZXJ2aWNlLFxuICAgIHV0aWxTZXJ2aWNlOiBVdGlsU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoc3RhdGUsIHNlcnZpY2UsIHNlYXJjaEhhbmRsZXIsIHV0aWxTZXJ2aWNlLCBVU0VSX0NPTkZJRyk7XG4gICAgdGhpcy51c2VyU2VydmljZSA9IHNlcnZpY2U7XG4gIH1cblxuICAvLyA9PT09PSBDdXN0b20gb2JzZXJ2YWJsZXMgPT09PT1cblxuICBnZXQgcm9sZXMkKCk6IE9ic2VydmFibGU8Um9sZVtdPiB7XG4gICAgcmV0dXJuICh0aGlzLnN0YXRlIGFzIFVzZXJTdGF0ZSkuZ2V0Um9sZXMkKCk7XG4gIH1cblxuICBnZXQgdGFncyQoKTogT2JzZXJ2YWJsZTxUYWdbXT4ge1xuICAgIHJldHVybiAodGhpcy5zdGF0ZSBhcyBVc2VyU3RhdGUpLmdldFRhZ3MkKCk7XG4gIH1cblxuICAvLyA9PT09PSBSdW50aW1lIGNvbmZpZ3VyYXRpb24gKGZyb20gY29tcG9uZW50IEBJbnB1dHMpID09PT09XG5cbiAgYXBwbHlSdW50aW1lQ29uZmlnKG9wdGlvbnM6IHsgcGFnZVNpemU/OiBudW1iZXI7IHNlYXJjaERlYm91bmNlVGltZT86IG51bWJlciB9KTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbnMucGFnZVNpemUgJiYgb3B0aW9ucy5wYWdlU2l6ZSA+IDApIHtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoeyBsaW1pdDogb3B0aW9ucy5wYWdlU2l6ZSB9KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuc2VhcmNoRGVib3VuY2VUaW1lICYmIG9wdGlvbnMuc2VhcmNoRGVib3VuY2VUaW1lID4gMCkge1xuICAgICAgdGhpcy5zZWFyY2hIYW5kbGVyLnNldERlYm91bmNlVGltZShvcHRpb25zLnNlYXJjaERlYm91bmNlVGltZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNlZWQgYW4gaW5pdGlhbCBzZWFyY2ggdGVybSAodXNlZCBieSB0aGUgb3B0aW9uYWwgYHJvbGVgIGlucHV0KS4gKi9cbiAgc2V0SW5pdGlhbFNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLnNldFNlYXJjaFRlcm0odGVybSk7XG4gIH1cblxuICAvLyA9PT09PSBMb29rdXBzID09PT09XG5cbiAgYXN5bmMgbG9hZFJvbGVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICh0aGlzLnN0YXRlIGFzIFVzZXJTdGF0ZSkuc2V0Um9sZXMoYXdhaXQgdGhpcy51c2VyU2VydmljZS5nZXRSb2xlcygpKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRUYWdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICh0aGlzLnN0YXRlIGFzIFVzZXJTdGF0ZSkuc2V0VGFncyhhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmdldFRhZ3MoKSk7XG4gIH1cblxuICBnZXRSb2xlTmFtZShyb2xlSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnN0YXRlIGFzIFVzZXJTdGF0ZSkuZ2V0Um9sZXNWYWx1ZSgpLmZpbmQoKHIpID0+IHIuQ29kZSA9PT0gcm9sZUlkKT8uTmFtZSA/PyAnJztcbiAgfVxuXG4gIC8vID09PT09IFZpZXcgbWFuYWdlbWVudCA9PT09PVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgdGhlIHVzZXIgdG8gc2hvdyBpbiB0aGUgZm9ybS4gVGhlIGZvcm0gdGVtcGxhdGUgYmluZHMgdG9cbiAgICogY3VycmVudENhcmREYXRhKCksIHNvIHJvdXRlIHNlbGVjdGlvbiB0aHJvdWdoIHNlbGVjdENhcmQgKHJldXNpbmcgdGhlXG4gICAqIG1hdGNoaW5nIGNhcmQgZnJvbSB0aGUgbG9hZGVkIGxpc3Qgd2hlbiBwcmVzZW50KSByYXRoZXIgdGhhbiBhIHNlcGFyYXRlXG4gICAqIHNlbGVjdGVkLXVzZXIgc3RyZWFtIHRoYXQgbm90aGluZyByZWFkcy5cbiAgICovXG4gIG9wZW5Gb3JtKHVzZXI/OiBVc2VyKTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdXNlciA/PyB0aGlzLmNyZWF0ZUVtcHR5VXNlcigpO1xuICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5jYXJkRGF0YSgpLmZpbmQoKGNhcmQpID0+IGNhcmQuZGF0YT8uQ29kZSA9PT0gdGFyZ2V0LkNvZGUpO1xuICAgIHRoaXMuc2VsZWN0Q2FyZChleGlzdGluZyA/PyB0aGlzLmdldENvbmZpZygpLmNhcmREYXRhTWFwcGVyKHRhcmdldCkpO1xuICB9XG5cbiAgY2xvc2VGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0Q2FyZChudWxsKTtcbiAgfVxuXG4gIGhhbmRsZUNvbHVtbnNVcGRhdGVkKGNvbHVtbnM6IENvbHVtbkRlZmluaXRpb248VXNlcj5bXSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmlzaWJsZUNvbHVtbnMoY29sdW1ucyk7XG4gIH1cblxuICAvLyA9PT09PSBVc2VyIG9wZXJhdGlvbnMgPT09PT1cblxuICBhc3luYyBzYXZlVXNlcih1c2VyOiBVc2VyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGF5bG9hZDogVXNlciA9IHtcbiAgICAgIC4uLnVzZXIsXG4gICAgICBEYXRhU3RhdGU6XG4gICAgICAgIHVzZXIuRGF0YVN0YXRlID09PSBPYmplY3RTdGF0ZS5OZXcgPyBPYmplY3RTdGF0ZS5OZXcgOiBPYmplY3RTdGF0ZS5DaGFuZ2VkLFxuICAgIH07XG4gICAgY29uc3Qgc3VjY2VzcyA9IGF3YWl0IHRoaXMuc2F2ZUl0ZW1zKFtwYXlsb2FkXSk7XG4gICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMuY2xvc2VGb3JtKCk7XG4gICAgICBhd2FpdCB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1Y2Nlc3M7XG4gIH1cblxuICBhc3luYyBkZWxldGVVc2VyKGlkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgdGhpcy5kZWxldGVJdGVtcyhbaWRdKTtcbiAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgdGhpcy5jbG9zZUZvcm0oKTtcbiAgICAgIGF3YWl0IHRoaXMucmVmcmVzaCgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VzcztcbiAgfVxuXG4gIC8vID09PT09IEVtcHR5IHBsYWNlaG9sZGVyID09PT09XG5cbiAgZ2V0IGVtcHR5VXNlcigpOiBVc2VyIHtcbiAgICByZXR1cm4gKHRoaXMuYmxhbmtVc2VyID8/PSB0aGlzLmNyZWF0ZUVtcHR5VXNlcigpKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRW1wdHlVc2VyKCk6IFVzZXIge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogRGF0ZS5ub3coKS50b1N0cmluZygpLFxuICAgICAgSWQ6ICcnLFxuICAgICAgQ29kZTogJycsXG4gICAgICBUZW5hbnRJZDogJycsXG4gICAgICBTZXJ2aWNlTmFtZTogJycsXG4gICAgICBDcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICBVcGRhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICBEYXRhU3RhdGU6IE9iamVjdFN0YXRlLk5ldyxcbiAgICAgIFBhc3N3b3JkOiAnJyxcbiAgICAgIEZpcnN0TmFtZTogJycsXG4gICAgICBMYXN0TmFtZTogJycsXG4gICAgICBNYWlsQWRkcmVzczogJycsXG4gICAgICBJc1NlZWRlZDogZmFsc2UsXG4gICAgICBTdGF0dXM6IFN0YXR1cy5BY3RpdmUsXG4gICAgICBTaWdudXBUeXBlOiBPQXV0aFR5cGUuSW5BcHAsXG4gICAgfSBhcyBVc2VyO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ErrorResponse, } from 'verben-authentication-ui/src/lib/models';
|
|
3
|
+
import { BaseDataPageService, } from 'verben-authentication-ui/src/lib/base';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "verben-authentication-ui/src/lib/services";
|
|
6
|
+
import * as i2 from "verben-authentication-ui/src/lib/base";
|
|
7
|
+
/**
|
|
8
|
+
* Service for user API operations.
|
|
9
|
+
*
|
|
10
|
+
* The auth API pluralises names, appends a `/{sortParam}/{sortOrder}` suffix to
|
|
11
|
+
* reads, and deletes via a query string, so the base URL seams are overridden.
|
|
12
|
+
* Roles/tags are loaded here so this page no longer depends on the
|
|
13
|
+
* access-request module.
|
|
14
|
+
*/
|
|
15
|
+
export class UserService extends BaseDataPageService {
|
|
16
|
+
defaultSort = 'CreatedAt/Asc';
|
|
17
|
+
constructor(server, filterHandler, sortHandler) {
|
|
18
|
+
super(server, filterHandler, sortHandler);
|
|
19
|
+
}
|
|
20
|
+
getEndpoint() {
|
|
21
|
+
return 'User';
|
|
22
|
+
}
|
|
23
|
+
// ===== URL seams =====
|
|
24
|
+
listUrl(skip, limit) {
|
|
25
|
+
return `GetUsers/${skip}/${limit}/${this.defaultSort}`;
|
|
26
|
+
}
|
|
27
|
+
searchTermUrl(term, skip, limit) {
|
|
28
|
+
return `GetUserWithParam/${term}/${skip}/${limit}/${this.defaultSort}`;
|
|
29
|
+
}
|
|
30
|
+
filterSearchUrl(skip, limit) {
|
|
31
|
+
return `SearchUsers/${skip}/${limit}/${this.defaultSort}`;
|
|
32
|
+
}
|
|
33
|
+
saveUrl() {
|
|
34
|
+
return 'SaveUsers';
|
|
35
|
+
}
|
|
36
|
+
deleteUrl(itemIds) {
|
|
37
|
+
return `DeleteUsers?data=${itemIds.join(',')}`;
|
|
38
|
+
}
|
|
39
|
+
// ===== Lookups =====
|
|
40
|
+
async getRoles() {
|
|
41
|
+
const res = await this.server.get('GetRoles/0/0');
|
|
42
|
+
if (res instanceof ErrorResponse) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
return res.Result ?? [];
|
|
46
|
+
}
|
|
47
|
+
async getTags() {
|
|
48
|
+
const res = await this.server.get('GetTags/0/0');
|
|
49
|
+
if (res instanceof ErrorResponse) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
return res.Result ?? [];
|
|
53
|
+
}
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserService, deps: [{ token: i1.HttpWebRequestService }, { token: i2.FilterHandlerService }, { token: i2.SortHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserService });
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserService, decorators: [{
|
|
58
|
+
type: Injectable
|
|
59
|
+
}], ctorParameters: () => [{ type: i1.HttpWebRequestService }, { type: i2.FilterHandlerService }, { type: i2.SortHandlerService }] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLGFBQWEsR0FLZCxNQUFNLHlDQUF5QyxDQUFDO0FBRWpELE9BQU8sRUFDTCxtQkFBbUIsR0FHcEIsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQUUvQzs7Ozs7OztHQU9HO0FBRUgsTUFBTSxPQUFPLFdBQVksU0FBUSxtQkFBeUI7SUFDdkMsV0FBVyxHQUFHLGVBQWUsQ0FBQztJQUUvQyxZQUNFLE1BQTZCLEVBQzdCLGFBQW1DLEVBQ25DLFdBQStCO1FBRS9CLEtBQUssQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELHdCQUF3QjtJQUVMLE9BQU8sQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNwRCxPQUFPLFlBQVksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVrQixhQUFhLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxLQUFhO1FBQ3hFLE9BQU8sb0JBQW9CLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBRWtCLGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUM1RCxPQUFPLGVBQWUsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVrQixPQUFPO1FBQ3hCLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFa0IsU0FBUyxDQUFDLE9BQWlCO1FBQzVDLE9BQU8sb0JBQW9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsc0JBQXNCO0lBRXRCLEtBQUssQ0FBQyxRQUFRO1FBQ1osTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBb0IsY0FBYyxDQUFDLENBQUM7UUFDckUsSUFBSSxHQUFHLFlBQVksYUFBYSxFQUFFLENBQUM7WUFDakMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFtQixhQUFhLENBQUMsQ0FBQztRQUNuRSxJQUFJLEdBQUcsWUFBWSxhQUFhLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7d0dBckRVLFdBQVc7NEdBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEVycm9yUmVzcG9uc2UsXG4gIFBhZ2VkUmVzdWx0LFxuICBSb2xlLFxuICBUYWcsXG4gIFVzZXIsXG59IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBIdHRwV2ViUmVxdWVzdFNlcnZpY2UgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBCYXNlRGF0YVBhZ2VTZXJ2aWNlLFxuICBGaWx0ZXJIYW5kbGVyU2VydmljZSxcbiAgU29ydEhhbmRsZXJTZXJ2aWNlLFxufSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9iYXNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciB1c2VyIEFQSSBvcGVyYXRpb25zLlxuICpcbiAqIFRoZSBhdXRoIEFQSSBwbHVyYWxpc2VzIG5hbWVzLCBhcHBlbmRzIGEgYC97c29ydFBhcmFtfS97c29ydE9yZGVyfWAgc3VmZml4IHRvXG4gKiByZWFkcywgYW5kIGRlbGV0ZXMgdmlhIGEgcXVlcnkgc3RyaW5nLCBzbyB0aGUgYmFzZSBVUkwgc2VhbXMgYXJlIG92ZXJyaWRkZW4uXG4gKiBSb2xlcy90YWdzIGFyZSBsb2FkZWQgaGVyZSBzbyB0aGlzIHBhZ2Ugbm8gbG9uZ2VyIGRlcGVuZHMgb24gdGhlXG4gKiBhY2Nlc3MtcmVxdWVzdCBtb2R1bGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBleHRlbmRzIEJhc2VEYXRhUGFnZVNlcnZpY2U8VXNlcj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTb3J0ID0gJ0NyZWF0ZWRBdC9Bc2MnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlcnZlcjogSHR0cFdlYlJlcXVlc3RTZXJ2aWNlLFxuICAgIGZpbHRlckhhbmRsZXI6IEZpbHRlckhhbmRsZXJTZXJ2aWNlLFxuICAgIHNvcnRIYW5kbGVyOiBTb3J0SGFuZGxlclNlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKHNlcnZlciwgZmlsdGVySGFuZGxlciwgc29ydEhhbmRsZXIpO1xuICB9XG5cbiAgZ2V0RW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ1VzZXInO1xuICB9XG5cbiAgLy8gPT09PT0gVVJMIHNlYW1zID09PT09XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGxpc3RVcmwoc2tpcDogbnVtYmVyLCBsaW1pdDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEdldFVzZXJzLyR7c2tpcH0vJHtsaW1pdH0vJHt0aGlzLmRlZmF1bHRTb3J0fWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2VhcmNoVGVybVVybCh0ZXJtOiBzdHJpbmcsIHNraXA6IG51bWJlciwgbGltaXQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBHZXRVc2VyV2l0aFBhcmFtLyR7dGVybX0vJHtza2lwfS8ke2xpbWl0fS8ke3RoaXMuZGVmYXVsdFNvcnR9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaWx0ZXJTZWFyY2hVcmwoc2tpcDogbnVtYmVyLCBsaW1pdDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFNlYXJjaFVzZXJzLyR7c2tpcH0vJHtsaW1pdH0vJHt0aGlzLmRlZmF1bHRTb3J0fWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2F2ZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnU2F2ZVVzZXJzJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkZWxldGVVcmwoaXRlbUlkczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBgRGVsZXRlVXNlcnM/ZGF0YT0ke2l0ZW1JZHMuam9pbignLCcpfWA7XG4gIH1cblxuICAvLyA9PT09PSBMb29rdXBzID09PT09XG5cbiAgYXN5bmMgZ2V0Um9sZXMoKTogUHJvbWlzZTxSb2xlW10+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5nZXQ8UGFnZWRSZXN1bHQ8Um9sZT4+KCdHZXRSb2xlcy8wLzAnKTtcbiAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzLlJlc3VsdCA/PyBbXTtcbiAgfVxuXG4gIGFzeW5jIGdldFRhZ3MoKTogUHJvbWlzZTxUYWdbXT4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLmdldDxQYWdlZFJlc3VsdDxUYWc+PignR2V0VGFncy8wLzAnKTtcbiAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzLlJlc3VsdCA/PyBbXTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { BaseDataPageState } from 'verben-authentication-ui/src/lib/base';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* State for the user-management page.
|
|
7
|
+
* Adds the roles/tags lists used by the form's dropdowns.
|
|
8
|
+
*/
|
|
9
|
+
export class UserState extends BaseDataPageState {
|
|
10
|
+
roles$ = new BehaviorSubject([]);
|
|
11
|
+
tags$ = new BehaviorSubject([]);
|
|
12
|
+
getRoles$() {
|
|
13
|
+
return this.roles$.asObservable();
|
|
14
|
+
}
|
|
15
|
+
getRolesValue() {
|
|
16
|
+
return this.roles$.getValue();
|
|
17
|
+
}
|
|
18
|
+
setRoles(roles) {
|
|
19
|
+
this.roles$.next(roles);
|
|
20
|
+
}
|
|
21
|
+
getTags$() {
|
|
22
|
+
return this.tags$.asObservable();
|
|
23
|
+
}
|
|
24
|
+
setTags(tags) {
|
|
25
|
+
this.tags$.next(tags);
|
|
26
|
+
}
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserState, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserState });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserState, decorators: [{
|
|
31
|
+
type: Injectable
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1tYW5hZ2VtZW50L3VzZXIuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUUxRTs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sU0FBVSxTQUFRLGlCQUF1QjtJQUM1QyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDekMsS0FBSyxHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBVztRQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO3dHQXRCVSxTQUFTOzRHQUFULFNBQVM7OzRGQUFULFNBQVM7a0JBRHJCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvbGUsIFRhZywgVXNlciB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBCYXNlRGF0YVBhZ2VTdGF0ZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2Jhc2UnO1xuXG4vKipcbiAqIFN0YXRlIGZvciB0aGUgdXNlci1tYW5hZ2VtZW50IHBhZ2UuXG4gKiBBZGRzIHRoZSByb2xlcy90YWdzIGxpc3RzIHVzZWQgYnkgdGhlIGZvcm0ncyBkcm9wZG93bnMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyU3RhdGUgZXh0ZW5kcyBCYXNlRGF0YVBhZ2VTdGF0ZTxVc2VyPiB7XG4gIHByaXZhdGUgcm9sZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSb2xlW10+KFtdKTtcbiAgcHJpdmF0ZSB0YWdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFnW10+KFtdKTtcblxuICBnZXRSb2xlcyQoKTogT2JzZXJ2YWJsZTxSb2xlW10+IHtcbiAgICByZXR1cm4gdGhpcy5yb2xlcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXRSb2xlc1ZhbHVlKCk6IFJvbGVbXSB7XG4gICAgcmV0dXJuIHRoaXMucm9sZXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBzZXRSb2xlcyhyb2xlczogUm9sZVtdKTogdm9pZCB7XG4gICAgdGhpcy5yb2xlcyQubmV4dChyb2xlcyk7XG4gIH1cblxuICBnZXRUYWdzJCgpOiBPYnNlcnZhYmxlPFRhZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudGFncyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXRUYWdzKHRhZ3M6IFRhZ1tdKTogdm9pZCB7XG4gICAgdGhpcy50YWdzJC5uZXh0KHRhZ3MpO1xuICB9XG59XG4iXX0=
|