Browse Source

Refactoring

pull/6104/head
Thomas Kaul 1 month ago
parent
commit
dca1c89615
  1. 16
      apps/client/src/app/components/admin-users/admin-users.component.ts
  2. 6
      apps/client/src/app/components/admin-users/admin-users.html

16
apps/client/src/app/components/admin-users/admin-users.component.ts

@ -18,6 +18,7 @@ import {
User User
} from '@ghostfolio/common/interfaces'; } from '@ghostfolio/common/interfaces';
import { hasPermission, permissions } from '@ghostfolio/common/permissions'; import { hasPermission, permissions } from '@ghostfolio/common/permissions';
import { internalRoutes } from '@ghostfolio/common/routes/routes';
import { NotificationService } from '@ghostfolio/ui/notifications'; import { NotificationService } from '@ghostfolio/ui/notifications';
import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator'; import { GfPremiumIndicatorComponent } from '@ghostfolio/ui/premium-indicator';
import { GfValueComponent } from '@ghostfolio/ui/value'; import { GfValueComponent } from '@ghostfolio/ui/value';
@ -39,7 +40,7 @@ import {
PageEvent PageEvent
} from '@angular/material/paginator'; } from '@angular/material/paginator';
import { MatTableDataSource, MatTableModule } from '@angular/material/table'; import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router, RouterModule } from '@angular/router';
import { IonIcon } from '@ionic/angular/standalone'; import { IonIcon } from '@ionic/angular/standalone';
import { import {
differenceInSeconds, differenceInSeconds,
@ -69,7 +70,8 @@ import { takeUntil } from 'rxjs/operators';
MatMenuModule, MatMenuModule,
MatPaginatorModule, MatPaginatorModule,
MatTableModule, MatTableModule,
NgxSkeletonLoaderModule NgxSkeletonLoaderModule,
RouterModule
], ],
selector: 'gf-admin-users', selector: 'gf-admin-users',
styleUrls: ['./admin-users.scss'], styleUrls: ['./admin-users.scss'],
@ -88,6 +90,8 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
public info: InfoItem; public info: InfoItem;
public isLoading = false; public isLoading = false;
public pageSize = DEFAULT_PAGE_SIZE; public pageSize = DEFAULT_PAGE_SIZE;
public routerLinkAdminControlUsers =
internalRoutes.adminControl.subRoutes.users.routerLink;
public totalItems = 0; public totalItems = 0;
public user: User; public user: User;
@ -250,7 +254,9 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
} }
public onOpenUserDetailDialog(userId: string) { public onOpenUserDetailDialog(userId: string) {
this.router.navigate(['./', userId], { relativeTo: this.route }); this.router.navigate(
internalRoutes.adminControl.subRoutes.users.routerLink.concat(userId)
);
} }
public ngOnDestroy() { public ngOnDestroy() {
@ -301,7 +307,9 @@ export class GfAdminUsersComponent implements OnDestroy, OnInit {
.afterClosed() .afterClosed()
.pipe(takeUntil(this.unsubscribeSubject)) .pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => { .subscribe(() => {
this.router.navigate(['../'], { relativeTo: this.route }); this.router.navigate(
internalRoutes.adminControl.subRoutes.users.routerLink
);
}); });
} }
} }

6
apps/client/src/app/components/admin-users/admin-users.html

@ -215,9 +215,9 @@
<ion-icon name="ellipsis-horizontal" /> <ion-icon name="ellipsis-horizontal" />
</button> </button>
<mat-menu #userMenu="matMenu" xPosition="before"> <mat-menu #userMenu="matMenu" xPosition="before">
<button <a
mat-menu-item mat-menu-item
(click)="onOpenUserDetailDialog(element.id)" [routerLink]="routerLinkAdminControlUsers.concat(element.id)"
> >
<span class="align-items-center d-flex"> <span class="align-items-center d-flex">
<ion-icon class="mr-2" name="person-outline" /> <ion-icon class="mr-2" name="person-outline" />
@ -225,7 +225,7 @@
><ng-container i18n>View Details</ng-container>...</span ><ng-container i18n>View Details</ng-container>...</span
> >
</span> </span>
</button> </a>
@if (hasPermissionToImpersonateAllUsers) { @if (hasPermissionToImpersonateAllUsers) {
<button mat-menu-item (click)="onImpersonateUser(element.id)"> <button mat-menu-item (click)="onImpersonateUser(element.id)">
<span class="align-items-center d-flex"> <span class="align-items-center d-flex">

Loading…
Cancel
Save