@rolatech/angular-authorization 20.0.0-beta.4
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 +7 -0
- package/fesm2022/rolatech-angular-authorization-clients.routes-CQFpI9Vf.mjs +441 -0
- package/fesm2022/rolatech-angular-authorization-clients.routes-CQFpI9Vf.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization-endpoint.service-DJyp7eVK.mjs +42 -0
- package/fesm2022/rolatech-angular-authorization-endpoint.service-DJyp7eVK.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization-endpoints.routes-CUD16YeI.mjs +107 -0
- package/fesm2022/rolatech-angular-authorization-endpoints.routes-CUD16YeI.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization-permission.service-BatXKCSF.mjs +21 -0
- package/fesm2022/rolatech-angular-authorization-permission.service-BatXKCSF.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization-permissions.routes-DqstP5Uo.mjs +316 -0
- package/fesm2022/rolatech-angular-authorization-permissions.routes-DqstP5Uo.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization-role.service-Dj9w5oqG.mjs +26 -0
- package/fesm2022/rolatech-angular-authorization-role.service-Dj9w5oqG.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization-roles.routes-D5eERcED.mjs +352 -0
- package/fesm2022/rolatech-angular-authorization-roles.routes-D5eERcED.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization-settings.routes-CQcuOGIn.mjs +25 -0
- package/fesm2022/rolatech-angular-authorization-settings.routes-CQcuOGIn.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization-users.routes-hiRqB2Tq.mjs +312 -0
- package/fesm2022/rolatech-angular-authorization-users.routes-hiRqB2Tq.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization.mjs +57 -0
- package/fesm2022/rolatech-angular-authorization.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +32 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, Injectable, model, output, inject, viewChild } from '@angular/core';
|
|
3
|
+
import { AngularCommonModule, APP_CONFIG, AccountType } from '@rolatech/angular-common';
|
|
4
|
+
import { AngularComponentsModule, BaseComponent, ToolbarComponent, SpinnerComponent, IconButtonComponent } from '@rolatech/angular-components';
|
|
5
|
+
import { BaseService, NavigationService } from '@rolatech/angular-services';
|
|
6
|
+
import { R as RoleService } from './rolatech-angular-authorization-role.service-Dj9w5oqG.mjs';
|
|
7
|
+
import * as i1 from '@angular/forms';
|
|
8
|
+
import * as i2 from '@angular/material/autocomplete';
|
|
9
|
+
import * as i3 from '@angular/material/form-field';
|
|
10
|
+
import * as i4 from '@angular/material/select';
|
|
11
|
+
import { Location } from '@angular/common';
|
|
12
|
+
import { AuthUserService } from '@rolatech/angular-auth';
|
|
13
|
+
import * as i2$1 from '@angular/material/button';
|
|
14
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
15
|
+
import * as i7 from '@angular/material/paginator';
|
|
16
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
17
|
+
import * as i8 from '@angular/material/table';
|
|
18
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
19
|
+
import * as i1$1 from '@angular/router';
|
|
20
|
+
import * as i4$1 from '@angular/material/icon';
|
|
21
|
+
import * as i6 from '@angular/material/input';
|
|
22
|
+
import * as i6$1 from '@angular/material/menu';
|
|
23
|
+
|
|
24
|
+
class CreateComponent {
|
|
25
|
+
constructor() { }
|
|
26
|
+
ngOnInit() { }
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: CreateComponent, isStandalone: true, selector: "authorization-create", ngImport: i0, template: "<p>create works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }] });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: CreateComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{ imports: [AngularCommonModule, AngularComponentsModule], selector: 'authorization-create', template: "<p>create works!</p>\n" }]
|
|
33
|
+
}], ctorParameters: () => [] });
|
|
34
|
+
|
|
35
|
+
class UserService extends BaseService {
|
|
36
|
+
init() {
|
|
37
|
+
this.endpoint = 'auth/users';
|
|
38
|
+
super.init();
|
|
39
|
+
}
|
|
40
|
+
updateRoles(id, data) {
|
|
41
|
+
return this.http.put(`${this.actionUrl}/${id}/roles`, data, {
|
|
42
|
+
withCredentials: true,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: UserService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: UserService, providedIn: 'root' });
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: UserService, decorators: [{
|
|
49
|
+
type: Injectable,
|
|
50
|
+
args: [{
|
|
51
|
+
providedIn: 'root',
|
|
52
|
+
}]
|
|
53
|
+
}] });
|
|
54
|
+
|
|
55
|
+
class UserRolesUpdateDialogComponent {
|
|
56
|
+
roles = model();
|
|
57
|
+
selectedRoles = model();
|
|
58
|
+
selected = model();
|
|
59
|
+
output = output();
|
|
60
|
+
ngOnInit() {
|
|
61
|
+
// this.selectedRoles = this.selectedRoles;
|
|
62
|
+
}
|
|
63
|
+
onSelectionChange(event) {
|
|
64
|
+
this.selectedRoles = event.value;
|
|
65
|
+
this.output.emit(this.selectedRoles);
|
|
66
|
+
}
|
|
67
|
+
compareFn(o1, o2) {
|
|
68
|
+
return o1.id === o2.id;
|
|
69
|
+
}
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: UserRolesUpdateDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: UserRolesUpdateDialogComponent, isStandalone: true, selector: "authorization-user-roles-update-dialog", inputs: { roles: { classPropertyName: "roles", publicName: "roles", isSignal: true, isRequired: false, transformFunction: null }, selectedRoles: { classPropertyName: "selectedRoles", publicName: "selectedRoles", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { roles: "rolesChange", selectedRoles: "selectedRolesChange", selected: "selectedChange", output: "output" }, ngImport: i0, template: "<div>\n <mat-form-field appearance=\"fill\">\n <mat-label>Role</mat-label>\n <mat-select [compareWith]=\"compareFn\" (selectionChange)=\"onSelectionChange($event)\" [(ngModel)]=\"selectedRoles\" multiple>\n @for (item of roles(); track item) {\n <mat-option [value]=\"item\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }] });
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: UserRolesUpdateDialogComponent, decorators: [{
|
|
74
|
+
type: Component,
|
|
75
|
+
args: [{ imports: [AngularCommonModule, AngularComponentsModule], selector: 'authorization-user-roles-update-dialog', template: "<div>\n <mat-form-field appearance=\"fill\">\n <mat-label>Role</mat-label>\n <mat-select [compareWith]=\"compareFn\" (selectionChange)=\"onSelectionChange($event)\" [(ngModel)]=\"selectedRoles\" multiple>\n @for (item of roles(); track item) {\n <mat-option [value]=\"item\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
76
|
+
}] });
|
|
77
|
+
|
|
78
|
+
class DetailsComponent extends BaseComponent {
|
|
79
|
+
user;
|
|
80
|
+
isLoading = false;
|
|
81
|
+
roles = [];
|
|
82
|
+
selectedRoleIds = [];
|
|
83
|
+
selectedRoles = [];
|
|
84
|
+
userService = inject(UserService);
|
|
85
|
+
authUserService = inject(AuthUserService);
|
|
86
|
+
roleService = inject(RoleService);
|
|
87
|
+
location = inject(Location);
|
|
88
|
+
navigationService = inject(NavigationService);
|
|
89
|
+
username = this.route.snapshot.params['username'];
|
|
90
|
+
ngOnInit() {
|
|
91
|
+
this.findByUsername();
|
|
92
|
+
this.findAllRoles();
|
|
93
|
+
}
|
|
94
|
+
back() {
|
|
95
|
+
this.navigationService.back();
|
|
96
|
+
}
|
|
97
|
+
findById() {
|
|
98
|
+
this.userService.get(this.id, {}).subscribe({
|
|
99
|
+
next: (res) => {
|
|
100
|
+
this.user = res.data;
|
|
101
|
+
if (res.data.roles) {
|
|
102
|
+
res.data.roles.forEach((item) => {
|
|
103
|
+
this.selectedRoles.push({ id: item.id, name: item.name });
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
findByUsername() {
|
|
110
|
+
this.authUserService.findByUsername(this.username.substring(1)).subscribe({
|
|
111
|
+
next: (res) => {
|
|
112
|
+
this.user = res.data;
|
|
113
|
+
if (res.data.roles) {
|
|
114
|
+
res.data.roles.forEach((item) => {
|
|
115
|
+
this.selectedRoles.push({ id: item.id, name: item.name });
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
findAllRoles() {
|
|
122
|
+
this.isLoading = true;
|
|
123
|
+
this.roleService.find({ limit: 600 }).subscribe({
|
|
124
|
+
next: (res) => {
|
|
125
|
+
this.roles = res.data;
|
|
126
|
+
this.isLoading = false;
|
|
127
|
+
},
|
|
128
|
+
complete: () => { },
|
|
129
|
+
error: (error) => {
|
|
130
|
+
this.isLoading = false;
|
|
131
|
+
this.snackBarService.open(error.message);
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
onSelectionChange(event) {
|
|
136
|
+
this.selectedRoleIds = event.value;
|
|
137
|
+
}
|
|
138
|
+
updateRoles() {
|
|
139
|
+
this.roleService.find({}).subscribe({
|
|
140
|
+
next: (res) => {
|
|
141
|
+
const roles = [];
|
|
142
|
+
res.data.forEach((element) => {
|
|
143
|
+
roles.push({ id: element.id, name: element.name });
|
|
144
|
+
});
|
|
145
|
+
const options = {
|
|
146
|
+
title: 'Update Roles',
|
|
147
|
+
cancelText: 'Cancel',
|
|
148
|
+
confirmText: 'Ok',
|
|
149
|
+
component: UserRolesUpdateDialogComponent,
|
|
150
|
+
data: {
|
|
151
|
+
selectedRoles: this.selectedRoles,
|
|
152
|
+
roles: roles,
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
this.dialogService.open(options);
|
|
156
|
+
this.dialogService.confirmed().subscribe({
|
|
157
|
+
next: (result) => {
|
|
158
|
+
if (result) {
|
|
159
|
+
const data = {
|
|
160
|
+
roles: result,
|
|
161
|
+
};
|
|
162
|
+
this.selectedRoles = [];
|
|
163
|
+
result.forEach((item) => {
|
|
164
|
+
this.selectedRoles.push({ id: item.id, name: item.name });
|
|
165
|
+
});
|
|
166
|
+
this.userService.updateRoles(this.user.id, data).subscribe({
|
|
167
|
+
next: (res) => {
|
|
168
|
+
this.user.roles = result;
|
|
169
|
+
this.snackBarService.open('Update successfully');
|
|
170
|
+
},
|
|
171
|
+
error: (error) => {
|
|
172
|
+
this.snackBarService.open(error.message);
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
});
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: DetailsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
182
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: DetailsComponent, isStandalone: true, selector: "authorization-details", usesInheritance: true, ngImport: i0, template: "@if (user) {\n <rolatech-toolbar [title]=\"user.name\" link=\"../\"></rolatech-toolbar>\n <div class=\"p-3\">\n <div class=\"flex gap-3 py-3\">\n <div>\n @if (user.avatar) {\n <img class=\"w-32 h-32 rounded-md object-cover\" [src]=\"user.avatar\" alt />\n } @else {\n <div class=\"w-32 h-32 rounded-md bg-[--rt-raised-background]\"></div>\n }\n </div>\n <div>\n <div class=\"text-lg font-medium\">{{ user.name }}</div>\n <div>@{{ user.username }}</div>\n <div>{{ user.phone }}</div>\n </div>\n </div>\n <div class=\"flex flex-row items-center flex-wrap\">\n <span class=\"mr-2\">Roles: </span>\n @for (item of user.roles; track item) {\n <a class=\"mr-4 underline\" [href]=\"['/roles/' + item.id]\">{{ item.name }}</a>\n }\n <button mat-flat-button (click)=\"updateRoles()\" class=\"cursor-pointer\">Update</button>\n </div>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2$1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
|
|
183
|
+
}
|
|
184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: DetailsComponent, decorators: [{
|
|
185
|
+
type: Component,
|
|
186
|
+
args: [{ imports: [MatButtonModule, ToolbarComponent], selector: 'authorization-details', template: "@if (user) {\n <rolatech-toolbar [title]=\"user.name\" link=\"../\"></rolatech-toolbar>\n <div class=\"p-3\">\n <div class=\"flex gap-3 py-3\">\n <div>\n @if (user.avatar) {\n <img class=\"w-32 h-32 rounded-md object-cover\" [src]=\"user.avatar\" alt />\n } @else {\n <div class=\"w-32 h-32 rounded-md bg-[--rt-raised-background]\"></div>\n }\n </div>\n <div>\n <div class=\"text-lg font-medium\">{{ user.name }}</div>\n <div>@{{ user.username }}</div>\n <div>{{ user.phone }}</div>\n </div>\n </div>\n <div class=\"flex flex-row items-center flex-wrap\">\n <span class=\"mr-2\">Roles: </span>\n @for (item of user.roles; track item) {\n <a class=\"mr-4 underline\" [href]=\"['/roles/' + item.id]\">{{ item.name }}</a>\n }\n <button mat-flat-button (click)=\"updateRoles()\" class=\"cursor-pointer\">Update</button>\n </div>\n </div>\n}\n" }]
|
|
187
|
+
}] });
|
|
188
|
+
|
|
189
|
+
class IndexComponent extends BaseComponent {
|
|
190
|
+
environment = inject(APP_CONFIG);
|
|
191
|
+
accountType = AccountType[this.environment.accountType];
|
|
192
|
+
pageEvent;
|
|
193
|
+
isLoading = false;
|
|
194
|
+
isSearch = false;
|
|
195
|
+
length = 100;
|
|
196
|
+
pageSize = 15;
|
|
197
|
+
pageSizeOptions = [5, 10, 25, 100];
|
|
198
|
+
users = [];
|
|
199
|
+
displayedColumns = ['name', 'phone', 'createdAt', 'actions'];
|
|
200
|
+
paginator = viewChild(MatPaginator);
|
|
201
|
+
orderOptions = [
|
|
202
|
+
{
|
|
203
|
+
key: 'createdAt',
|
|
204
|
+
value: 'Created At',
|
|
205
|
+
icon: 'arrow_upward',
|
|
206
|
+
sort: 'asc',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
key: 'createdAt',
|
|
210
|
+
value: 'Created At',
|
|
211
|
+
icon: 'arrow_downward',
|
|
212
|
+
sort: 'desc',
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
key: 'status',
|
|
216
|
+
value: 'Status',
|
|
217
|
+
icon: 'arrow_upward',
|
|
218
|
+
sort: 'asc',
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
key: 'status',
|
|
222
|
+
value: 'Status',
|
|
223
|
+
icon: 'arrow_downward',
|
|
224
|
+
sort: 'desc',
|
|
225
|
+
},
|
|
226
|
+
];
|
|
227
|
+
orderString = 'createdAt desc';
|
|
228
|
+
dataSource = new MatTableDataSource();
|
|
229
|
+
searchWord;
|
|
230
|
+
userService = inject(UserService);
|
|
231
|
+
authUserService = inject(AuthUserService);
|
|
232
|
+
ngOnInit() {
|
|
233
|
+
this.findAll(null);
|
|
234
|
+
if (this.accountType === 'EMAIL') {
|
|
235
|
+
this.displayedColumns = ['name', 'email', 'createdAt', 'actions'];
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
this.displayedColumns = ['name', 'phone', 'createdAt', 'actions'];
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
onClick(item) {
|
|
242
|
+
this.orderString = item.key + ' ' + item.sort;
|
|
243
|
+
this.paginator()?.firstPage();
|
|
244
|
+
this.findAll(null);
|
|
245
|
+
}
|
|
246
|
+
findAll(event) {
|
|
247
|
+
this.isLoading = true;
|
|
248
|
+
this.isSearch = false;
|
|
249
|
+
const page = event ? event.pageIndex + 1 : 1;
|
|
250
|
+
const limit = event ? event.pageSize : 15;
|
|
251
|
+
const sort = this.orderString;
|
|
252
|
+
const options = {
|
|
253
|
+
page,
|
|
254
|
+
limit,
|
|
255
|
+
sort,
|
|
256
|
+
};
|
|
257
|
+
this.userService.find(options).subscribe({
|
|
258
|
+
next: (res) => {
|
|
259
|
+
this.users = res.data;
|
|
260
|
+
this.dataSource.data = this.users;
|
|
261
|
+
this.length = res.meta.pagination.count;
|
|
262
|
+
this.isLoading = false;
|
|
263
|
+
},
|
|
264
|
+
error: (error) => {
|
|
265
|
+
this.isLoading = false;
|
|
266
|
+
this.snackBarService.open(error.message);
|
|
267
|
+
},
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
search(e) {
|
|
271
|
+
this.isLoading = true;
|
|
272
|
+
const options = {
|
|
273
|
+
filter: `phone:${e.target.value}`,
|
|
274
|
+
};
|
|
275
|
+
this.authUserService.findAll(options).subscribe({
|
|
276
|
+
next: (res) => {
|
|
277
|
+
this.users = res.data;
|
|
278
|
+
this.dataSource.data = this.users;
|
|
279
|
+
this.length = res.meta.pagination.count;
|
|
280
|
+
this.isLoading = false;
|
|
281
|
+
},
|
|
282
|
+
error: (error) => {
|
|
283
|
+
this.isLoading = false;
|
|
284
|
+
this.snackBarService.open(error.message);
|
|
285
|
+
},
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: IndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
289
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: IndexComponent, isStandalone: true, selector: "authorization-index", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Users\">\n <rolatech-icon-button routerLink=\"./create\">add</rolatech-icon-button>\n <rolatech-icon-button (click)=\"isSearch = !isSearch\">search</rolatech-icon-button>\n <rolatech-icon-button [matMenuTriggerFor]=\"beforeMenu\">reorder</rolatech-icon-button>\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button> -->\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Phone\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name ? item.name : item.firstName + ',' + item.lastName }}</td>\n </ng-container>\n\n <!-- phone Column -->\n <ng-container matColumnDef=\"phone\">\n <th mat-header-cell *matHeaderCellDef>Phone</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.phone }}</td>\n </ng-container>\n\n <!-- createdAt Column -->\n <ng-container matColumnDef=\"createdAt\">\n <th mat-header-cell *matHeaderCellDef>Created At</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.createdAt }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n class=\"cursor-pointer hover:bg-[--rt-raised-background]\"\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [routerLink]=\"['./', '@' + row.username]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}.withdraw-button{background:var(--rt-brand-color);color:#fff!important;width:100px}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i6$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: IconButtonComponent, selector: "rolatech-icon-button" }] });
|
|
290
|
+
}
|
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: IndexComponent, decorators: [{
|
|
292
|
+
type: Component,
|
|
293
|
+
args: [{ imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ToolbarComponent, IconButtonComponent], selector: 'authorization-index', template: "<rolatech-toolbar title=\"Users\">\n <rolatech-icon-button routerLink=\"./create\">add</rolatech-icon-button>\n <rolatech-icon-button (click)=\"isSearch = !isSearch\">search</rolatech-icon-button>\n <rolatech-icon-button [matMenuTriggerFor]=\"beforeMenu\">reorder</rolatech-icon-button>\n <!-- <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button> -->\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Phone\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name ? item.name : item.firstName + ',' + item.lastName }}</td>\n </ng-container>\n\n <!-- phone Column -->\n <ng-container matColumnDef=\"phone\">\n <th mat-header-cell *matHeaderCellDef>Phone</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.phone }}</td>\n </ng-container>\n\n <!-- createdAt Column -->\n <ng-container matColumnDef=\"createdAt\">\n <th mat-header-cell *matHeaderCellDef>Created At</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.createdAt }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n class=\"cursor-pointer hover:bg-[--rt-raised-background]\"\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [routerLink]=\"['./', '@' + row.username]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}.withdraw-button{background:var(--rt-brand-color);color:#fff!important;width:100px}\n"] }]
|
|
294
|
+
}] });
|
|
295
|
+
|
|
296
|
+
const usersRoutes = [
|
|
297
|
+
{
|
|
298
|
+
path: '',
|
|
299
|
+
component: IndexComponent,
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
path: 'create',
|
|
303
|
+
component: CreateComponent,
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
path: ':username',
|
|
307
|
+
component: DetailsComponent,
|
|
308
|
+
},
|
|
309
|
+
];
|
|
310
|
+
|
|
311
|
+
export { usersRoutes as default };
|
|
312
|
+
//# sourceMappingURL=rolatech-angular-authorization-users.routes-hiRqB2Tq.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-authorization-users.routes-hiRqB2Tq.mjs","sources":["../tmp-esm2022/lib/pages/users/create/create.component.js","../tmp-esm2022/lib/services/user.service.js","../tmp-esm2022/lib/components/user-roles-update-dialog/user-roles-update-dialog.component.js","../tmp-esm2022/lib/pages/users/details/details.component.js","../tmp-esm2022/lib/pages/users/index/index.component.js","../tmp-esm2022/lib/pages/users/users.routes.js"],"sourcesContent":["import { Component } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nexport class CreateComponent {\n constructor() { }\n ngOnInit() { }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.3\", type: CreateComponent, isStandalone: true, selector: \"authorization-create\", ngImport: i0, template: \"<p>create works!</p>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"ngmodule\", type: AngularComponentsModule }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: CreateComponent, decorators: [{\n type: Component,\n args: [{ imports: [AngularCommonModule, AngularComponentsModule], selector: 'authorization-create', template: \"<p>create works!</p>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYXV0aG9yaXphdGlvbi9zcmMvbGliL3BhZ2VzL3VzZXJzL2NyZWF0ZS9jcmVhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1hdXRob3JpemF0aW9uL3NyYy9saWIvcGFnZXMvdXNlcnMvY3JlYXRlL2NyZWF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVF2RSxNQUFNLE9BQU8sZUFBZTtJQUMxQixnQkFBZSxDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDO3VHQUhSLGVBQWU7MkZBQWYsZUFBZSxnRkNWNUIsd0JBQ0EseURESVksbUJBQW1CLDhCQUFFLHVCQUF1Qjs7MkZBSzNDLGVBQWU7a0JBTjNCLFNBQVM7OEJBQ0MsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQyxZQUM3QyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhdXRob3JpemF0aW9uLWNyZWF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxwPmNyZWF0ZSB3b3JrcyE8L3A+XG4iXX0=","import { Injectable } from '@angular/core';\nimport { BaseService } from '@rolatech/angular-services';\nimport * as i0 from \"@angular/core\";\nexport class UserService extends BaseService {\n init() {\n this.endpoint = 'auth/users';\n super.init();\n }\n updateRoles(id, data) {\n return this.http.put(`${this.actionUrl}/${id}/roles`, data, {\n withCredentials: true,\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: UserService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: UserService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: UserService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1hdXRob3JpemF0aW9uL3NyYy9saWIvc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU16RCxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQVc7SUFDakMsSUFBSTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFDRCxXQUFXLENBQUMsRUFBVSxFQUFFLElBQVM7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQy9ELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBVFUsV0FBVzsyR0FBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xuICBvdmVycmlkZSBpbml0KCkge1xuICAgIHRoaXMuZW5kcG9pbnQgPSAnYXV0aC91c2Vycyc7XG4gICAgc3VwZXIuaW5pdCgpO1xuICB9XG4gIHVwZGF0ZVJvbGVzKGlkOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55PihgJHt0aGlzLmFjdGlvblVybH0vJHtpZH0vcm9sZXNgLCBkYXRhLCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { Component, model, output } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule } from '@rolatech/angular-components';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/autocomplete\";\nimport * as i3 from \"@angular/material/form-field\";\nimport * as i4 from \"@angular/material/select\";\nexport class UserRolesUpdateDialogComponent {\n roles = model();\n selectedRoles = model();\n selected = model();\n output = output();\n ngOnInit() {\n // this.selectedRoles = this.selectedRoles;\n }\n onSelectionChange(event) {\n this.selectedRoles = event.value;\n this.output.emit(this.selectedRoles);\n }\n compareFn(o1, o2) {\n return o1.id === o2.id;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: UserRolesUpdateDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: UserRolesUpdateDialogComponent, isStandalone: true, selector: \"authorization-user-roles-update-dialog\", inputs: { roles: { classPropertyName: \"roles\", publicName: \"roles\", isSignal: true, isRequired: false, transformFunction: null }, selectedRoles: { classPropertyName: \"selectedRoles\", publicName: \"selectedRoles\", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: \"selected\", publicName: \"selected\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { roles: \"rolesChange\", selectedRoles: \"selectedRolesChange\", selected: \"selectedChange\", output: \"output\" }, ngImport: i0, template: \"<div>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Role</mat-label>\\n <mat-select [compareWith]=\\\"compareFn\\\" (selectionChange)=\\\"onSelectionChange($event)\\\" [(ngModel)]=\\\"selectedRoles\\\" multiple>\\n @for (item of roles(); track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n</div>\\n\", styles: [\"mat-form-field{width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"component\", type: i3.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i3.MatLabel, selector: \"mat-label\" }, { kind: \"component\", type: i4.MatSelect, selector: \"mat-select\", inputs: [\"aria-describedby\", \"panelClass\", \"disabled\", \"disableRipple\", \"tabIndex\", \"hideSingleSelectionIndicator\", \"placeholder\", \"required\", \"multiple\", \"disableOptionCentering\", \"compareWith\", \"value\", \"aria-label\", \"aria-labelledby\", \"errorStateMatcher\", \"typeaheadDebounceInterval\", \"sortComparator\", \"id\", \"panelWidth\", \"canSelectNullableOptions\"], outputs: [\"openedChange\", \"opened\", \"closed\", \"selectionChange\", \"valueChange\"], exportAs: [\"matSelect\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: UserRolesUpdateDialogComponent, decorators: [{\n type: Component,\n args: [{ imports: [AngularCommonModule, AngularComponentsModule], selector: 'authorization-user-roles-update-dialog', template: \"<div>\\n <mat-form-field appearance=\\\"fill\\\">\\n <mat-label>Role</mat-label>\\n <mat-select [compareWith]=\\\"compareFn\\\" (selectionChange)=\\\"onSelectionChange($event)\\\" [(ngModel)]=\\\"selectedRoles\\\" multiple>\\n @for (item of roles(); track item) {\\n <mat-option [value]=\\\"item\\\">\\n {{ item.name }}\\n </mat-option>\\n }\\n </mat-select>\\n </mat-form-field>\\n</div>\\n\", styles: [\"mat-form-field{width:100%}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yb2xlcy11cGRhdGUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYXV0aG9yaXphdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yb2xlcy11cGRhdGUtZGlhbG9nL3VzZXItcm9sZXMtdXBkYXRlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWF1dGhvcml6YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcm9sZXMtdXBkYXRlLWRpYWxvZy91c2VyLXJvbGVzLXVwZGF0ZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7QUFRdkUsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxLQUFLLEdBQUcsS0FBSyxFQUFPLENBQUM7SUFDckIsYUFBYSxHQUFHLEtBQUssRUFBTyxDQUFDO0lBQzdCLFFBQVEsR0FBRyxLQUFLLEVBQU8sQ0FBQztJQUN4QixNQUFNLEdBQUcsTUFBTSxFQUFPLENBQUM7SUFFdkIsUUFBUTtRQUNOLDJDQUEyQztJQUM3QyxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxTQUFTLENBQUMsRUFBTyxFQUFFLEVBQU87UUFDeEIsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDekIsQ0FBQzt1R0FmVSw4QkFBOEI7MkZBQTlCLDhCQUE4Qiw4bUJDVjNDLHFaQVlBLHFGRFBZLG1CQUFtQiw4VkFBRSx1QkFBdUI7OzJGQUszQyw4QkFBOEI7a0JBTjFDLFNBQVM7OEJBQ0MsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQyxZQUM3Qyx3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgbW9kZWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhdXRob3JpemF0aW9uLXVzZXItcm9sZXMtdXBkYXRlLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLXJvbGVzLXVwZGF0ZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLXJvbGVzLXVwZGF0ZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlclJvbGVzVXBkYXRlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcm9sZXMgPSBtb2RlbDxhbnk+KCk7XG4gIHNlbGVjdGVkUm9sZXMgPSBtb2RlbDxhbnk+KCk7XG4gIHNlbGVjdGVkID0gbW9kZWw8YW55PigpO1xuICBvdXRwdXQgPSBvdXRwdXQ8YW55PigpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIHRoaXMuc2VsZWN0ZWRSb2xlcyA9IHRoaXMuc2VsZWN0ZWRSb2xlcztcbiAgfVxuICBvblNlbGVjdGlvbkNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJvbGVzID0gZXZlbnQudmFsdWU7XG4gICAgdGhpcy5vdXRwdXQuZW1pdCh0aGlzLnNlbGVjdGVkUm9sZXMpO1xuICB9XG4gIGNvbXBhcmVGbihvMTogYW55LCBvMjogYW55KSB7XG4gICAgcmV0dXJuIG8xLmlkID09PSBvMi5pZDtcbiAgfVxufVxuIiwiPGRpdj5cbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgPG1hdC1sYWJlbD5Sb2xlPC9tYXQtbGFiZWw+XG4gICAgPG1hdC1zZWxlY3QgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVGblwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRSb2xlc1wiIG11bHRpcGxlPlxuICAgICAgQGZvciAoaXRlbSBvZiByb2xlcygpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCI+XG4gICAgICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==","import { UserService } from './../../../services/user.service';\nimport { Component, inject } from '@angular/core';\nimport { RoleService } from '../../../services/role.service';\nimport { UserRolesUpdateDialogComponent } from '../../../components/user-roles-update-dialog/user-roles-update-dialog.component';\nimport { BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { Location } from '@angular/common';\nimport { NavigationService } from '@rolatech/angular-services';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { MatButtonModule } from '@angular/material/button';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nexport class DetailsComponent extends BaseComponent {\n user;\n isLoading = false;\n roles = [];\n selectedRoleIds = [];\n selectedRoles = [];\n userService = inject(UserService);\n authUserService = inject(AuthUserService);\n roleService = inject(RoleService);\n location = inject(Location);\n navigationService = inject(NavigationService);\n username = this.route.snapshot.params['username'];\n ngOnInit() {\n this.findByUsername();\n this.findAllRoles();\n }\n back() {\n this.navigationService.back();\n }\n findById() {\n this.userService.get(this.id, {}).subscribe({\n next: (res) => {\n this.user = res.data;\n if (res.data.roles) {\n res.data.roles.forEach((item) => {\n this.selectedRoles.push({ id: item.id, name: item.name });\n });\n }\n },\n });\n }\n findByUsername() {\n this.authUserService.findByUsername(this.username.substring(1)).subscribe({\n next: (res) => {\n this.user = res.data;\n if (res.data.roles) {\n res.data.roles.forEach((item) => {\n this.selectedRoles.push({ id: item.id, name: item.name });\n });\n }\n },\n });\n }\n findAllRoles() {\n this.isLoading = true;\n this.roleService.find({ limit: 600 }).subscribe({\n next: (res) => {\n this.roles = res.data;\n this.isLoading = false;\n },\n complete: () => { },\n error: (error) => {\n this.isLoading = false;\n this.snackBarService.open(error.message);\n },\n });\n }\n onSelectionChange(event) {\n this.selectedRoleIds = event.value;\n }\n updateRoles() {\n this.roleService.find({}).subscribe({\n next: (res) => {\n const roles = [];\n res.data.forEach((element) => {\n roles.push({ id: element.id, name: element.name });\n });\n const options = {\n title: 'Update Roles',\n cancelText: 'Cancel',\n confirmText: 'Ok',\n component: UserRolesUpdateDialogComponent,\n data: {\n selectedRoles: this.selectedRoles,\n roles: roles,\n },\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe({\n next: (result) => {\n if (result) {\n const data = {\n roles: result,\n };\n this.selectedRoles = [];\n result.forEach((item) => {\n this.selectedRoles.push({ id: item.id, name: item.name });\n });\n this.userService.updateRoles(this.user.id, data).subscribe({\n next: (res) => {\n this.user.roles = result;\n this.snackBarService.open('Update successfully');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n },\n });\n },\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: DetailsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: DetailsComponent, isStandalone: true, selector: \"authorization-details\", usesInheritance: true, ngImport: i0, template: \"@if (user) {\\n <rolatech-toolbar [title]=\\\"user.name\\\" link=\\\"../\\\"></rolatech-toolbar>\\n <div class=\\\"p-3\\\">\\n <div class=\\\"flex gap-3 py-3\\\">\\n <div>\\n @if (user.avatar) {\\n <img class=\\\"w-32 h-32 rounded-md object-cover\\\" [src]=\\\"user.avatar\\\" alt />\\n } @else {\\n <div class=\\\"w-32 h-32 rounded-md bg-[--rt-raised-background]\\\"></div>\\n }\\n </div>\\n <div>\\n <div class=\\\"text-lg font-medium\\\">{{ user.name }}</div>\\n <div>@{{ user.username }}</div>\\n <div>{{ user.phone }}</div>\\n </div>\\n </div>\\n <div class=\\\"flex flex-row items-center flex-wrap\\\">\\n <span class=\\\"mr-2\\\">Roles: </span>\\n @for (item of user.roles; track item) {\\n <a class=\\\"mr-4 underline\\\" [href]=\\\"['/roles/' + item.id]\\\">{{ item.name }}</a>\\n }\\n <button mat-flat-button (click)=\\\"updateRoles()\\\" class=\\\"cursor-pointer\\\">Update</button>\\n </div>\\n </div>\\n}\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: DetailsComponent, decorators: [{\n type: Component,\n args: [{ imports: [MatButtonModule, ToolbarComponent], selector: 'authorization-details', template: \"@if (user) {\\n <rolatech-toolbar [title]=\\\"user.name\\\" link=\\\"../\\\"></rolatech-toolbar>\\n <div class=\\\"p-3\\\">\\n <div class=\\\"flex gap-3 py-3\\\">\\n <div>\\n @if (user.avatar) {\\n <img class=\\\"w-32 h-32 rounded-md object-cover\\\" [src]=\\\"user.avatar\\\" alt />\\n } @else {\\n <div class=\\\"w-32 h-32 rounded-md bg-[--rt-raised-background]\\\"></div>\\n }\\n </div>\\n <div>\\n <div class=\\\"text-lg font-medium\\\">{{ user.name }}</div>\\n <div>@{{ user.username }}</div>\\n <div>{{ user.phone }}</div>\\n </div>\\n </div>\\n <div class=\\\"flex flex-row items-center flex-wrap\\\">\\n <span class=\\\"mr-2\\\">Roles: </span>\\n @for (item of user.roles; track item) {\\n <a class=\\\"mr-4 underline\\\" [href]=\\\"['/roles/' + item.id]\\\">{{ item.name }}</a>\\n }\\n <button mat-flat-button (click)=\\\"updateRoles()\\\" class=\\\"cursor-pointer\\\">Update</button>\\n </div>\\n </div>\\n}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWF1dGhvcml6YXRpb24vc3JjL2xpYi9wYWdlcy91c2Vycy9kZXRhaWxzL2RldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1hdXRob3JpemF0aW9uL3NyYy9saWIvcGFnZXMvdXNlcnMvZGV0YWlscy9kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlGQUFpRixDQUFDO0FBQ2pJLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBUTNELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBQ2pELElBQUksQ0FBUTtJQUNaLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixlQUFlLEdBQWEsRUFBRSxDQUFDO0lBQy9CLGFBQWEsR0FBVSxFQUFFLENBQUM7SUFDMUIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxX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RSxFQUFFO2dDQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzs0QkFDNUQsQ0FBQyxDQUFDLENBQUM7NEJBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO2dDQUN6RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQ0FDWixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7b0NBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0NBQ25ELENBQUM7Z0NBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0NBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dDQUMzQyxDQUFDOzZCQUNGLENBQUMsQ0FBQzt3QkFDTCxDQUFDO29CQUNILENBQUM7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBekdVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLHdHQ2xCN0IsczhCQTBCQSx5RERiWSxlQUFlLG9YQUFFLGdCQUFnQjs7MkZBS2hDLGdCQUFnQjtrQkFONUIsU0FBUzs4QkFDQyxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUNsQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vc2VydmljZXMvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb2xlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JvbGUuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXIubW9kZWwnO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yb2xlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJSb2xlc1VwZGF0ZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvdXNlci1yb2xlcy11cGRhdGUtZGlhbG9nL3VzZXItcm9sZXMtdXBkYXRlLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBdXRoVXNlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBUb29sYmFyQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdhdXRob3JpemF0aW9uLWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RldGFpbHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB1c2VyITogVXNlcjtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIHJvbGVzOiBSb2xlW10gPSBbXTtcbiAgc2VsZWN0ZWRSb2xlSWRzOiBzdHJpbmdbXSA9IFtdO1xuICBzZWxlY3RlZFJvbGVzOiBhbnlbXSA9IFtdO1xuICB1c2VyU2VydmljZSA9IGluamVjdChVc2VyU2VydmljZSk7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICByb2xlU2VydmljZSA9IGluamVjdChSb2xlU2VydmljZSk7XG4gIGxvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgbmF2aWdhdGlvblNlcnZpY2UgPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuICB1c2VybmFtZSA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zWyd1c2VybmFtZSddO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZEJ5VXNlcm5hbWUoKTtcbiAgICB0aGlzLmZpbmRBbGxSb2xlcygpO1xuICB9XG4gIGJhY2soKSB7XG4gICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5iYWNrKCk7XG4gIH1cbiAgZmluZEJ5SWQoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS5nZXQodGhpcy5pZCwge30pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy51c2VyID0gcmVzLmRhdGE7XG4gICAgICAgIGlmIChyZXMuZGF0YS5yb2xlcykge1xuICAgICAgICAgIHJlcy5kYXRhLnJvbGVzLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJvbGVzLnB1c2goeyBpZDogaXRlbS5pZCwgbmFtZTogaXRlbS5uYW1lIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGZpbmRCeVVzZXJuYW1lKCkge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLmZpbmRCeVVzZXJuYW1lKHRoaXMudXNlcm5hbWUuc3Vic3RyaW5nKDEpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudXNlciA9IHJlcy5kYXRhO1xuICAgICAgICBpZiAocmVzLmRhdGEucm9sZXMpIHtcbiAgICAgICAgICByZXMuZGF0YS5yb2xlcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlcy5wdXNoKHsgaWQ6IGl0ZW0uaWQsIG5hbWU6IGl0ZW0ubmFtZSB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBmaW5kQWxsUm9sZXMoKTogYW55IHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5yb2xlU2VydmljZS5maW5kKHsgbGltaXQ6IDYwMCB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucm9sZXMgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge30sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUm9sZUlkcyA9IGV2ZW50LnZhbHVlO1xuICB9XG4gIHVwZGF0ZVJvbGVzKCkge1xuICAgIHRoaXMucm9sZVNlcnZpY2UuZmluZCh7fSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCByb2xlczogYW55ID0gW107XG4gICAgICAgIHJlcy5kYXRhLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIHJvbGVzLnB1c2goeyBpZDogZWxlbWVudC5pZCwgbmFtZTogZWxlbWVudC5uYW1lIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICB0aXRsZTogJ1VwZGF0ZSBSb2xlcycsXG4gICAgICAgICAgY2FuY2VsVGV4dDogJ0NhbmNlbCcsXG4gICAgICAgICAgY29uZmlybVRleHQ6ICdPaycsXG4gICAgICAgICAgY29tcG9uZW50OiBVc2VyUm9sZXNVcGRhdGVEaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgc2VsZWN0ZWRSb2xlczogdGhpcy5zZWxlY3RlZFJvbGVzLFxuICAgICAgICAgICAgcm9sZXM6IHJvbGVzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybWVkKCkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgcm9sZXM6IHJlc3VsdCxcbiAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUm9sZXMgPSBbXTtcbiAgICAgICAgICAgICAgcmVzdWx0LmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb2xlcy5wdXNoKHsgaWQ6IGl0ZW0uaWQsIG5hbWU6IGl0ZW0ubmFtZSB9KTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS51cGRhdGVSb2xlcyh0aGlzLnVzZXIuaWQsIGRhdGEpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy51c2VyLnJvbGVzID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbignVXBkYXRlIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAodXNlcikge1xuICA8cm9sYXRlY2gtdG9vbGJhciBbdGl0bGVdPVwidXNlci5uYW1lXCIgbGluaz1cIi4uL1wiPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0zIHB5LTNcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIEBpZiAodXNlci5hdmF0YXIpIHtcbiAgICAgICAgICA8aW1nIGNsYXNzPVwidy0zMiBoLTMyIHJvdW5kZWQtbWQgb2JqZWN0LWNvdmVyXCIgW3NyY109XCJ1c2VyLmF2YXRhclwiIGFsdCAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0zMiBoLTMyIHJvdW5kZWQtbWQgYmctWy0tcnQtcmFpc2VkLWJhY2tncm91bmRdXCI+PC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgZm9udC1tZWRpdW1cIj57eyB1c2VyLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgPGRpdj4mIzY0O3t7IHVzZXIudXNlcm5hbWUgfX08L2Rpdj5cbiAgICAgICAgPGRpdj57eyB1c2VyLnBob25lIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgZmxleC13cmFwXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1yLTJcIj5Sb2xlczogPC9zcGFuPlxuICAgICAgQGZvciAoaXRlbSBvZiB1c2VyLnJvbGVzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIDxhIGNsYXNzPVwibXItNCB1bmRlcmxpbmVcIiBbaHJlZl09XCJbJy9yb2xlcy8nICsgaXRlbS5pZF1cIj57eyBpdGVtLm5hbWUgfX08L2E+XG4gICAgICB9XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwidXBkYXRlUm9sZXMoKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj5VcGRhdGU8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG4iXX0=","import { UserService } from '../../../services/user.service';\nimport { Component, inject, viewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { AngularComponentsModule, BaseComponent, IconButtonComponent, SpinnerComponent, ToolbarComponent, } from '@rolatech/angular-components';\nimport { AccountType, AngularCommonModule, APP_CONFIG } from '@rolatech/angular-common';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@angular/material/button\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/material/form-field\";\nimport * as i5 from \"@angular/material/input\";\nimport * as i6 from \"@angular/material/menu\";\nimport * as i7 from \"@angular/material/paginator\";\nimport * as i8 from \"@angular/material/table\";\nexport class IndexComponent extends BaseComponent {\n environment = inject(APP_CONFIG);\n accountType = AccountType[this.environment.accountType];\n pageEvent;\n isLoading = false;\n isSearch = false;\n length = 100;\n pageSize = 15;\n pageSizeOptions = [5, 10, 25, 100];\n users = [];\n displayedColumns = ['name', 'phone', 'createdAt', 'actions'];\n paginator = viewChild(MatPaginator);\n orderOptions = [\n {\n key: 'createdAt',\n value: 'Created At',\n icon: 'arrow_upward',\n sort: 'asc',\n },\n {\n key: 'createdAt',\n value: 'Created At',\n icon: 'arrow_downward',\n sort: 'desc',\n },\n {\n key: 'status',\n value: 'Status',\n icon: 'arrow_upward',\n sort: 'asc',\n },\n {\n key: 'status',\n value: 'Status',\n icon: 'arrow_downward',\n sort: 'desc',\n },\n ];\n orderString = 'createdAt desc';\n dataSource = new MatTableDataSource();\n searchWord;\n userService = inject(UserService);\n authUserService = inject(AuthUserService);\n ngOnInit() {\n this.findAll(null);\n if (this.accountType === 'EMAIL') {\n this.displayedColumns = ['name', 'email', 'createdAt', 'actions'];\n }\n else {\n this.displayedColumns = ['name', 'phone', 'createdAt', 'actions'];\n }\n }\n onClick(item) {\n this.orderString = item.key + ' ' + item.sort;\n this.paginator()?.firstPage();\n this.findAll(null);\n }\n findAll(event) {\n this.isLoading = true;\n this.isSearch = false;\n const page = event ? event.pageIndex + 1 : 1;\n const limit = event ? event.pageSize : 15;\n const sort = this.orderString;\n const options = {\n page,\n limit,\n sort,\n };\n this.userService.find(options).subscribe({\n next: (res) => {\n this.users = res.data;\n this.dataSource.data = this.users;\n this.length = res.meta.pagination.count;\n this.isLoading = false;\n },\n error: (error) => {\n this.isLoading = false;\n this.snackBarService.open(error.message);\n },\n });\n }\n search(e) {\n this.isLoading = true;\n const options = {\n filter: `phone:${e.target.value}`,\n };\n this.authUserService.findAll(options).subscribe({\n next: (res) => {\n this.users = res.data;\n this.dataSource.data = this.users;\n this.length = res.meta.pagination.count;\n this.isLoading = false;\n },\n error: (error) => {\n this.isLoading = false;\n this.snackBarService.open(error.message);\n },\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: IndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.3\", type: IndexComponent, isStandalone: true, selector: \"authorization-index\", viewQueries: [{ propertyName: \"paginator\", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<rolatech-toolbar title=\\\"Users\\\">\\n <rolatech-icon-button routerLink=\\\"./create\\\">add</rolatech-icon-button>\\n <rolatech-icon-button (click)=\\\"isSearch = !isSearch\\\">search</rolatech-icon-button>\\n <rolatech-icon-button [matMenuTriggerFor]=\\\"beforeMenu\\\">reorder</rolatech-icon-button>\\n <!-- <button mat-icon-button [matMenuTriggerFor]=\\\"beforeMenu\\\">\\n <mat-icon>reorder</mat-icon>\\n </button> -->\\n <mat-menu #beforeMenu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n @for (item of orderOptions; track item) {\\n <button mat-menu-item (click)=\\\"onClick(item)\\\">\\n <span>{{ item.value }}</span>\\n <mat-icon>{{ item.icon }}</mat-icon>\\n </button>\\n }\\n </mat-menu>\\n</rolatech-toolbar>\\n@if (isSearch) {\\n <mat-form-field floatLabel=\\\"auto\\\">\\n <input type=\\\"text\\\" matInput placeholder=\\\"Phone\\\" (keyup.enter)=\\\"search($event)\\\" />\\n <button matSuffix mat-icon-button (click)=\\\"findAll(null); isSearch = false\\\">\\n <mat-icon>close</mat-icon>\\n </button>\\n </mat-form-field>\\n}\\n<div class=\\\"py-3\\\">\\n <rolatech-spinner></rolatech-spinner>\\n <table mat-table [dataSource]=\\\"dataSource\\\">\\n <!-- name Column -->\\n <ng-container matColumnDef=\\\"name\\\">\\n <th mat-header-cell *matHeaderCellDef>Name</th>\\n <td mat-cell *matCellDef=\\\"let item\\\">{{ item.name ? item.name : item.firstName + ',' + item.lastName }}</td>\\n </ng-container>\\n\\n <!-- phone Column -->\\n <ng-container matColumnDef=\\\"phone\\\">\\n <th mat-header-cell *matHeaderCellDef>Phone</th>\\n <td mat-cell *matCellDef=\\\"let item\\\">{{ item.phone }}</td>\\n </ng-container>\\n\\n <!-- createdAt Column -->\\n <ng-container matColumnDef=\\\"createdAt\\\">\\n <th mat-header-cell *matHeaderCellDef>Created At</th>\\n <td mat-cell *matCellDef=\\\"let item\\\">{{ item.createdAt }}</td>\\n </ng-container>\\n\\n <!-- actions Column -->\\n <ng-container matColumnDef=\\\"actions\\\" stickyEnd>\\n <th mat-header-cell *matHeaderCellDef class=\\\"actions\\\"></th>\\n <td mat-cell *matCellDef=\\\"let item\\\" class=\\\"actions\\\">\\n <mat-icon>navigate_next</mat-icon>\\n </td>\\n </ng-container>\\n\\n <tr mat-header-row *matHeaderRowDef=\\\"displayedColumns\\\"></tr>\\n <tr\\n class=\\\"cursor-pointer hover:bg-[--rt-raised-background]\\\"\\n mat-row\\n *matRowDef=\\\"let row; columns: displayedColumns\\\"\\n [routerLink]=\\\"['./', '@' + row.username]\\\"\\n ></tr>\\n </table>\\n</div>\\n<mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"pageEvent = findAll($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n>\\n</mat-paginator>\\n\", styles: [\"mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}.withdraw-button{background:var(--rt-brand-color);color:#fff!important;width:100px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: AngularCommonModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"ngmodule\", type: AngularComponentsModule }, { kind: \"component\", type: i2.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: i4.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i4.MatSuffix, selector: \"[matSuffix], [matIconSuffix], [matTextSuffix]\", inputs: [\"matTextSuffix\"] }, { kind: \"directive\", type: i5.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i6.MatMenu, selector: \"mat-menu\", inputs: [\"backdropClass\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"xPosition\", \"yPosition\", \"overlapTrigger\", \"hasBackdrop\", \"class\", \"classList\"], outputs: [\"closed\", \"close\"], exportAs: [\"matMenu\"] }, { kind: \"component\", type: i6.MatMenuItem, selector: \"[mat-menu-item]\", inputs: [\"role\", \"disabled\", \"disableRipple\"], exportAs: [\"matMenuItem\"] }, { kind: \"directive\", type: i6.MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: [\"mat-menu-trigger-for\", \"matMenuTriggerFor\", \"matMenuTriggerData\", \"matMenuTriggerRestoreFocus\"], outputs: [\"menuOpened\", \"onMenuOpen\", \"menuClosed\", \"onMenuClose\"], exportAs: [\"matMenuTrigger\"] }, { kind: \"component\", type: i7.MatPaginator, selector: \"mat-paginator\", inputs: [\"color\", \"pageIndex\", \"length\", \"pageSize\", \"pageSizeOptions\", \"hidePageSize\", \"showFirstLastButtons\", \"selectConfig\", \"disabled\"], outputs: [\"page\"], exportAs: [\"matPaginator\"] }, { kind: \"component\", type: i8.MatTable, selector: \"mat-table, table[mat-table]\", exportAs: [\"matTable\"] }, { kind: \"directive\", type: i8.MatHeaderCellDef, selector: \"[matHeaderCellDef]\" }, { kind: \"directive\", type: i8.MatHeaderRowDef, selector: \"[matHeaderRowDef]\", inputs: [\"matHeaderRowDef\", \"matHeaderRowDefSticky\"] }, { kind: \"directive\", type: i8.MatColumnDef, selector: \"[matColumnDef]\", inputs: [\"matColumnDef\"] }, { kind: \"directive\", type: i8.MatCellDef, selector: \"[matCellDef]\" }, { kind: \"directive\", type: i8.MatRowDef, selector: \"[matRowDef]\", inputs: [\"matRowDefColumns\", \"matRowDefWhen\"] }, { kind: \"directive\", type: i8.MatHeaderCell, selector: \"mat-header-cell, th[mat-header-cell]\" }, { kind: \"directive\", type: i8.MatCell, selector: \"mat-cell, td[mat-cell]\" }, { kind: \"component\", type: i8.MatHeaderRow, selector: \"mat-header-row, tr[mat-header-row]\", exportAs: [\"matHeaderRow\"] }, { kind: \"component\", type: i8.MatRow, selector: \"mat-row, tr[mat-row]\", exportAs: [\"matRow\"] }, { kind: \"component\", type: SpinnerComponent, selector: \"rolatech-spinner\", inputs: [\"title\"] }, { kind: \"component\", type: ToolbarComponent, selector: \"rolatech-toolbar\", inputs: [\"title\", \"subtitle\", \"back\", \"link\", \"large\", \"divider\"] }, { kind: \"component\", type: IconButtonComponent, selector: \"rolatech-icon-button\" }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.3\", ngImport: i0, type: IndexComponent, decorators: [{\n type: Component,\n args: [{ imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ToolbarComponent, IconButtonComponent], selector: 'authorization-index', template: \"<rolatech-toolbar title=\\\"Users\\\">\\n <rolatech-icon-button routerLink=\\\"./create\\\">add</rolatech-icon-button>\\n <rolatech-icon-button (click)=\\\"isSearch = !isSearch\\\">search</rolatech-icon-button>\\n <rolatech-icon-button [matMenuTriggerFor]=\\\"beforeMenu\\\">reorder</rolatech-icon-button>\\n <!-- <button mat-icon-button [matMenuTriggerFor]=\\\"beforeMenu\\\">\\n <mat-icon>reorder</mat-icon>\\n </button> -->\\n <mat-menu #beforeMenu=\\\"matMenu\\\" xPosition=\\\"before\\\">\\n @for (item of orderOptions; track item) {\\n <button mat-menu-item (click)=\\\"onClick(item)\\\">\\n <span>{{ item.value }}</span>\\n <mat-icon>{{ item.icon }}</mat-icon>\\n </button>\\n }\\n </mat-menu>\\n</rolatech-toolbar>\\n@if (isSearch) {\\n <mat-form-field floatLabel=\\\"auto\\\">\\n <input type=\\\"text\\\" matInput placeholder=\\\"Phone\\\" (keyup.enter)=\\\"search($event)\\\" />\\n <button matSuffix mat-icon-button (click)=\\\"findAll(null); isSearch = false\\\">\\n <mat-icon>close</mat-icon>\\n </button>\\n </mat-form-field>\\n}\\n<div class=\\\"py-3\\\">\\n <rolatech-spinner></rolatech-spinner>\\n <table mat-table [dataSource]=\\\"dataSource\\\">\\n <!-- name Column -->\\n <ng-container matColumnDef=\\\"name\\\">\\n <th mat-header-cell *matHeaderCellDef>Name</th>\\n <td mat-cell *matCellDef=\\\"let item\\\">{{ item.name ? item.name : item.firstName + ',' + item.lastName }}</td>\\n </ng-container>\\n\\n <!-- phone Column -->\\n <ng-container matColumnDef=\\\"phone\\\">\\n <th mat-header-cell *matHeaderCellDef>Phone</th>\\n <td mat-cell *matCellDef=\\\"let item\\\">{{ item.phone }}</td>\\n </ng-container>\\n\\n <!-- createdAt Column -->\\n <ng-container matColumnDef=\\\"createdAt\\\">\\n <th mat-header-cell *matHeaderCellDef>Created At</th>\\n <td mat-cell *matCellDef=\\\"let item\\\">{{ item.createdAt }}</td>\\n </ng-container>\\n\\n <!-- actions Column -->\\n <ng-container matColumnDef=\\\"actions\\\" stickyEnd>\\n <th mat-header-cell *matHeaderCellDef class=\\\"actions\\\"></th>\\n <td mat-cell *matCellDef=\\\"let item\\\" class=\\\"actions\\\">\\n <mat-icon>navigate_next</mat-icon>\\n </td>\\n </ng-container>\\n\\n <tr mat-header-row *matHeaderRowDef=\\\"displayedColumns\\\"></tr>\\n <tr\\n class=\\\"cursor-pointer hover:bg-[--rt-raised-background]\\\"\\n mat-row\\n *matRowDef=\\\"let row; columns: displayedColumns\\\"\\n [routerLink]=\\\"['./', '@' + row.username]\\\"\\n ></tr>\\n </table>\\n</div>\\n<mat-paginator\\n #paginator\\n [length]=\\\"length\\\"\\n [pageSize]=\\\"pageSize\\\"\\n [pageSizeOptions]=\\\"pageSizeOptions\\\"\\n (page)=\\\"pageEvent = findAll($event)\\\"\\n hidePageSize\\n showFirstLastButtons\\n>\\n</mat-paginator>\\n\", styles: [\"mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}.mat-mdc-cell:nth-last-child(2),.mat-mdc-header-cell:nth-last-child(2),.mat-mdc-footer-cell:nth-last-child(2){text-align:right;max-width:180px;width:180px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}.withdraw-button{background:var(--rt-brand-color);color:#fff!important;width:100px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1hdXRob3JpemF0aW9uL3NyYy9saWIvcGFnZXMvdXNlcnMvaW5kZXgvaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1hdXRob3JpemF0aW9uL3NyYy9saWIvcGFnZXMvdXNlcnMvaW5kZXgvaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWEsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDakIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVF6RCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFDL0MsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFeEQsU0FBUyxDQUFhO0lBQ3RCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsUUFBUSxHQUFHLEtBQUssQ0FB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QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXJHVSxjQUFjOzJGQUFkLGNBQWMsMEhBWUgsWUFBWSx1RkNsQ3BDLDhtRkF3RUEsK25CRHZEWSxtQkFBbUIsK1FBQUUsdUJBQXVCLHMrRkFBRSxnQkFBZ0IsZ0ZBQUUsZ0JBQWdCLGdJQUFFLG1CQUFtQjs7MkZBS3BHLGNBQWM7a0JBTjFCLFNBQVM7OEJBQ0MsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxZQUN0RyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhZ2VFdmVudCwgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci5tb2RlbCc7XG5pbXBvcnQge1xuICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgQmFzZUNvbXBvbmVudCxcbiAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcbiAgU3Bpbm5lckNvbXBvbmVudCxcbiAgVG9vbGJhckNvbXBvbmVudCxcbn0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBY2NvdW50VHlwZSwgQW5ndWxhckNvbW1vbk1vZHVsZSwgQVBQX0NPTkZJRyB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBdXRoVXNlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcblxuQENvbXBvbmVudCh7XG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgU3Bpbm5lckNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCwgSWNvbkJ1dHRvbkNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAnYXV0aG9yaXphdGlvbi1pbmRleCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2luZGV4LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEluZGV4Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGVudmlyb25tZW50ID0gaW5qZWN0KEFQUF9DT05GSUcpO1xuICBhY2NvdW50VHlwZSA9IEFjY291bnRUeXBlW3RoaXMuZW52aXJvbm1lbnQuYWNjb3VudFR5cGVdO1xuXG4gIHBhZ2VFdmVudCE6IFBhZ2VFdmVudDtcbiAgaXNMb2FkaW5nID0gZmFsc2U7XG4gIGlzU2VhcmNoID0gZmFsc2U7XG4gIGxlbmd0aCA9IDEwMDtcbiAgcGFnZVNpemUgPSAxNTtcbiAgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFs1LCAxMCwgMjUsIDEwMF07XG4gIHVzZXJzOiBVc2VyW10gPSBbXTtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbJ25hbWUnLCAncGhvbmUnLCAnY3JlYXRlZEF0JywgJ2FjdGlvbnMnXTtcbiAgcGFnaW5hdG9yID0gdmlld0NoaWxkKE1hdFBhZ2luYXRvcik7XG4gIG9yZGVyT3B0aW9ucyA9IFtcbiAgICB7XG4gICAgICBrZXk6ICdjcmVhdGVkQXQnLFxuICAgICAgdmFsdWU6ICdDcmVhdGVkIEF0JyxcbiAgICAgIGljb246ICdhcnJvd191cHdhcmQnLFxuICAgICAgc29ydDogJ2FzYycsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdjcmVhdGVkQXQnLFxuICAgICAgdmFsdWU6ICdDcmVhdGVkIEF0JyxcbiAgICAgIGljb246ICdhcnJvd19kb3dud2FyZCcsXG4gICAgICBzb3J0OiAnZGVzYycsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdzdGF0dXMnLFxuICAgICAgdmFsdWU6ICdTdGF0dXMnLFxuICAgICAgaWNvbjogJ2Fycm93X3Vwd2FyZCcsXG4gICAgICBzb3J0OiAnYXNjJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3N0YXR1cycsXG4gICAgICB2YWx1ZTogJ1N0YXR1cycsXG4gICAgICBpY29uOiAnYXJyb3dfZG93bndhcmQnLFxuICAgICAgc29ydDogJ2Rlc2MnLFxuICAgIH0sXG4gIF07XG5cbiAgb3JkZXJTdHJpbmcgPSAnY3JlYXRlZEF0IGRlc2MnO1xuICBkYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxVc2VyPigpO1xuICBzZWFyY2hXb3JkITogc3RyaW5nO1xuXG4gIHVzZXJTZXJ2aWNlID0gaW5qZWN0KFVzZXJTZXJ2aWNlKTtcbiAgYXV0aFVzZXJTZXJ2aWNlID0gaW5qZWN0KEF1dGhVc2VyU2VydmljZSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kQWxsKG51bGwpO1xuICAgIGlmICh0aGlzLmFjY291bnRUeXBlID09PSAnRU1BSUwnKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBbJ25hbWUnLCAnZW1haWwnLCAnY3JlYXRlZEF0JywgJ2FjdGlvbnMnXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gWyduYW1lJywgJ3Bob25lJywgJ2NyZWF0ZWRBdCcsICdhY3Rpb25zJ107XG4gICAgfVxuICB9XG4gIG9uQ2xpY2soaXRlbTogYW55KSB7XG4gICAgdGhpcy5vcmRlclN0cmluZyA9IGl0ZW0ua2V5ICsgJyAnICsgaXRlbS5zb3J0O1xuICAgIHRoaXMucGFnaW5hdG9yKCk/LmZpcnN0UGFnZSgpO1xuICAgIHRoaXMuZmluZEFsbChudWxsKTtcbiAgfVxuICBmaW5kQWxsKGV2ZW50PzogUGFnZUV2ZW50IHwgbnVsbCk6IGFueSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaXNTZWFyY2ggPSBmYWxzZTtcbiAgICBjb25zdCBwYWdlID0gZXZlbnQgPyBldmVudC5wYWdlSW5kZXggKyAxIDogMTtcbiAgICBjb25zdCBsaW1pdCA9IGV2ZW50ID8gZXZlbnQucGFnZVNpemUgOiAxNTtcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5vcmRlclN0cmluZztcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcGFnZSxcbiAgICAgIGxpbWl0LFxuICAgICAgc29ydCxcbiAgICB9O1xuICAgIHRoaXMudXNlclNlcnZpY2UuZmluZChvcHRpb25zKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudXNlcnMgPSByZXMuZGF0YTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLnVzZXJzO1xuICAgICAgICB0aGlzLmxlbmd0aCA9IHJlcy5tZXRhLnBhZ2luYXRpb24uY291bnQ7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBzZWFyY2goZTogYW55KSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBmaWx0ZXI6IGBwaG9uZToke2UudGFyZ2V0LnZhbHVlfWAsXG4gICAgfTtcbiAgICB0aGlzLmF1dGhVc2VyU2VydmljZS5maW5kQWxsKG9wdGlvbnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy51c2VycyA9IHJlcy5kYXRhO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMudXNlcnM7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gcmVzLm1ldGEucGFnaW5hdGlvbi5jb3VudDtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIlVzZXJzXCI+XG4gIDxyb2xhdGVjaC1pY29uLWJ1dHRvbiByb3V0ZXJMaW5rPVwiLi9jcmVhdGVcIj5hZGQ8L3JvbGF0ZWNoLWljb24tYnV0dG9uPlxuICA8cm9sYXRlY2gtaWNvbi1idXR0b24gKGNsaWNrKT1cImlzU2VhcmNoID0gIWlzU2VhcmNoXCI+c2VhcmNoPC9yb2xhdGVjaC1pY29uLWJ1dHRvbj5cbiAgPHJvbGF0ZWNoLWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJiZWZvcmVNZW51XCI+cmVvcmRlcjwvcm9sYXRlY2gtaWNvbi1idXR0b24+XG4gIDwhLS0gPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImJlZm9yZU1lbnVcIj5cbiAgICA8bWF0LWljb24+cmVvcmRlcjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPiAtLT5cbiAgPG1hdC1tZW51ICNiZWZvcmVNZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgIEBmb3IgKGl0ZW0gb2Ygb3JkZXJPcHRpb25zOyB0cmFjayBpdGVtKSB7XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uQ2xpY2soaXRlbSlcIj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS52YWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgPG1hdC1pY29uPnt7IGl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvbWF0LW1lbnU+XG48L3JvbGF0ZWNoLXRvb2xiYXI+XG5AaWYgKGlzU2VhcmNoKSB7XG4gIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IHBsYWNlaG9sZGVyPVwiUGhvbmVcIiAoa2V5dXAuZW50ZXIpPVwic2VhcmNoKCRldmVudClcIiAvPlxuICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZmluZEFsbChudWxsKTsgaXNTZWFyY2ggPSBmYWxzZVwiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbn1cbjxkaXYgY2xhc3M9XCJweS0zXCI+XG4gIDxyb2xhdGVjaC1zcGlubmVyPjwvcm9sYXRlY2gtc3Bpbm5lcj5cbiAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XG4gICAgPCEtLSBuYW1lIENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5hbWVcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+TmFtZTwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPnt7IGl0ZW0ubmFtZSA/IGl0ZW0ubmFtZSA6IGl0ZW0uZmlyc3ROYW1lICsgJywnICsgaXRlbS5sYXN0TmFtZSB9fTwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIHBob25lIENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInBob25lXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlBob25lPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+e3sgaXRlbS5waG9uZSB9fTwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIGNyZWF0ZWRBdCBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjcmVhdGVkQXRcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+Q3JlYXRlZCBBdDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiPnt7IGl0ZW0uY3JlYXRlZEF0IH19PC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gYWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCIgc3RpY2t5RW5kPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cImFjdGlvbnNcIj48L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICAgICAgPG1hdC1pY29uPm5hdmlnYXRlX25leHQ8L21hdC1pY29uPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPHRyXG4gICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGhvdmVyOmJnLVstLXJ0LXJhaXNlZC1iYWNrZ3JvdW5kXVwiXG4gICAgICBtYXQtcm93XG4gICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uc1wiXG4gICAgICBbcm91dGVyTGlua109XCJbJy4vJywgJ0AnICsgcm93LnVzZXJuYW1lXVwiXG4gICAgPjwvdHI+XG4gIDwvdGFibGU+XG48L2Rpdj5cbjxtYXQtcGFnaW5hdG9yXG4gICNwYWdpbmF0b3JcbiAgW2xlbmd0aF09XCJsZW5ndGhcIlxuICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICBbcGFnZVNpemVPcHRpb25zXT1cInBhZ2VTaXplT3B0aW9uc1wiXG4gIChwYWdlKT1cInBhZ2VFdmVudCA9IGZpbmRBbGwoJGV2ZW50KVwiXG4gIGhpZGVQYWdlU2l6ZVxuICBzaG93Rmlyc3RMYXN0QnV0dG9uc1xuPlxuPC9tYXQtcGFnaW5hdG9yPlxuIl19","import { CreateComponent } from './create/create.component';\nimport { DetailsComponent } from './details/details.component';\nimport { IndexComponent } from './index/index.component';\nconst usersRoutes = [\n {\n path: '',\n component: IndexComponent,\n },\n {\n path: 'create',\n component: CreateComponent,\n },\n {\n path: ':username',\n component: DetailsComponent,\n },\n];\nexport default usersRoutes;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1hdXRob3JpemF0aW9uL3NyYy9saWIvcGFnZXMvdXNlcnMvdXNlcnMucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsTUFBTSxXQUFXLEdBQVc7SUFDMUI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSxjQUFjO0tBQzFCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSxlQUFlO0tBQzNCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsV0FBVztRQUNqQixTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCO0NBQ0YsQ0FBQztBQUNGLGVBQWUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENyZWF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY3JlYXRlL2NyZWF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vZGV0YWlscy9kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmRleENvbXBvbmVudCB9IGZyb20gJy4vaW5kZXgvaW5kZXguY29tcG9uZW50JztcblxuY29uc3QgdXNlcnNSb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICcnLFxuICAgIGNvbXBvbmVudDogSW5kZXhDb21wb25lbnQsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnY3JlYXRlJyxcbiAgICBjb21wb25lbnQ6IENyZWF0ZUNvbXBvbmVudCxcbiAgfSxcbiAge1xuICAgIHBhdGg6ICc6dXNlcm5hbWUnLFxuICAgIGNvbXBvbmVudDogRGV0YWlsc0NvbXBvbmVudCxcbiAgfSxcbl07XG5leHBvcnQgZGVmYXVsdCB1c2Vyc1JvdXRlcztcbiJdfQ=="],"names":["i1","i2","i3","i4","i5","i6"],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
4
|
+
import { AngularComponentsModule, ToolbarComponent } from '@rolatech/angular-components';
|
|
5
|
+
|
|
6
|
+
class OverviewComponent {
|
|
7
|
+
constructor() { }
|
|
8
|
+
ngOnInit() { }
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: OverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: OverviewComponent, isStandalone: true, selector: "authorization-overview", ngImport: i0, template: "<rolatech-toolbar title=\"Authentication\"></rolatech-toolbar>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: OverviewComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent], selector: 'authorization-overview', template: "<rolatech-toolbar title=\"Authentication\"></rolatech-toolbar>\n" }]
|
|
15
|
+
}], ctorParameters: () => [] });
|
|
16
|
+
|
|
17
|
+
const authorizationRoutes = [
|
|
18
|
+
{ path: '', component: OverviewComponent },
|
|
19
|
+
{
|
|
20
|
+
path: 'roles',
|
|
21
|
+
loadChildren: () => import('./rolatech-angular-authorization-roles.routes-D5eERcED.mjs'),
|
|
22
|
+
data: { title: '角色' },
|
|
23
|
+
pathMatch: 'prefix',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
path: 'users',
|
|
27
|
+
loadChildren: () => import('./rolatech-angular-authorization-users.routes-hiRqB2Tq.mjs'),
|
|
28
|
+
data: { title: '用户' },
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
path: 'clients',
|
|
32
|
+
loadChildren: () => import('./rolatech-angular-authorization-clients.routes-CQFpI9Vf.mjs'),
|
|
33
|
+
data: { title: '客户端' },
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
path: 'permissions',
|
|
37
|
+
loadChildren: () => import('./rolatech-angular-authorization-permissions.routes-DqstP5Uo.mjs'),
|
|
38
|
+
data: { title: '权限' },
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
path: 'endpoints',
|
|
42
|
+
loadChildren: () => import('./rolatech-angular-authorization-endpoints.routes-CUD16YeI.mjs'),
|
|
43
|
+
data: { title: '接口' },
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
path: 'settings',
|
|
47
|
+
loadChildren: () => import('./rolatech-angular-authorization-settings.routes-CQcuOGIn.mjs'),
|
|
48
|
+
data: { title: '设置' },
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Generated bundle index. Do not edit.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
export { authorizationRoutes };
|
|
57
|
+
//# sourceMappingURL=rolatech-angular-authorization.mjs.map
|