From 242f3bab0edda7f27c3dcf8bac7524330f7c522d Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Wed, 10 May 2023 17:10:59 +0200 Subject: [PATCH] Refactoring --- .../admin-platform.component.html | 23 ++++++------ .../admin-platform.component.ts | 36 +++++-------------- ...te-or-update-account-platform.component.ts | 2 +- .../admin-settings.component.html | 2 ++ .../admin-settings.component.ts | 8 ++++- 5 files changed, 29 insertions(+), 42 deletions(-) diff --git a/apps/client/src/app/components/admin-platform/admin-platform.component.html b/apps/client/src/app/components/admin-platform/admin-platform.component.html index c8a07805b..305fda673 100644 --- a/apps/client/src/app/components/admin-platform/admin-platform.component.html +++ b/apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -1,6 +1,17 @@
+ - -
- - Add Platform - -
diff --git a/apps/client/src/app/components/admin-platform/admin-platform.component.ts b/apps/client/src/app/components/admin-platform/admin-platform.component.ts index ea99dc2dd..f3fbb348d 100644 --- a/apps/client/src/app/components/admin-platform/admin-platform.component.ts +++ b/apps/client/src/app/components/admin-platform/admin-platform.component.ts @@ -1,4 +1,5 @@ import { + ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, @@ -13,8 +14,7 @@ import { CreatePlatformDto } from '@ghostfolio/api/app/platform/create-platform. import { UpdatePlatformDto } from '@ghostfolio/api/app/platform/update-platform.dto'; import { AdminService } from '@ghostfolio/client/services/admin.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; -import { hasPermission, permissions } from '@ghostfolio/common/permissions'; -import { Platform, Platform as PlatformModel } from '@prisma/client'; +import { Platform } from '@prisma/client'; import { get } from 'lodash'; import { DeviceDetectorService } from 'ngx-device-detector'; import { Subject, takeUntil } from 'rxjs'; @@ -22,6 +22,7 @@ import { Subject, takeUntil } from 'rxjs'; import { CreateOrUpdatePlatformDialog } from './create-or-update-platform-dialog/create-or-update-account-platform.component'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, selector: 'gf-admin-platform', styleUrls: ['./admin-platform.component.scss'], templateUrl: './admin-platform.component.html' @@ -32,9 +33,7 @@ export class AdminPlatformComponent implements OnInit, OnDestroy { public dataSource: MatTableDataSource = new MatTableDataSource(); public deviceType: string; public displayedColumns = ['name', 'url', 'accounts', 'actions']; - public hasPermissionToCreatePlatform: boolean; - public hasPermissionToDeletePlatform: boolean; - public platforms: PlatformModel[]; + public platforms: Platform[]; private unsubscribeSubject = new Subject(); @@ -50,9 +49,9 @@ export class AdminPlatformComponent implements OnInit, OnDestroy { this.route.queryParams .pipe(takeUntil(this.unsubscribeSubject)) .subscribe((params) => { - if (params['createDialog'] && this.hasPermissionToCreatePlatform) { + if (params['createPlatformDialog']) { this.openCreatePlatformDialog(); - } else if (params['editDialog']) { + } else if (params['editPlatformDialog']) { if (this.platforms) { const platform = this.platforms.find(({ id }) => { return id === params['platformId']; @@ -69,25 +68,6 @@ export class AdminPlatformComponent implements OnInit, OnDestroy { public ngOnInit() { this.deviceType = this.deviceService.getDeviceInfo().deviceType; - this.userService.stateChanged - .pipe(takeUntil(this.unsubscribeSubject)) - .subscribe((state) => { - if (state?.user) { - const user = state.user; - - this.hasPermissionToCreatePlatform = hasPermission( - user.permissions, - permissions.createPlatform - ); - this.hasPermissionToDeletePlatform = hasPermission( - user.permissions, - permissions.deletePlatform - ); - - this.changeDetectorRef.markForCheck(); - } - }); - this.fetchPlatforms(); } @@ -101,9 +81,9 @@ export class AdminPlatformComponent implements OnInit, OnDestroy { } } - public onUpdatePlatform(aPlatform: PlatformModel) { + public onUpdatePlatform({ id }: Platform) { this.router.navigate([], { - queryParams: { platformId: aPlatform.id, editDialog: true } + queryParams: { editPlatformDialog: true, platformId: id } }); } diff --git a/apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-account-platform.component.ts b/apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-account-platform.component.ts index 65dd6f755..55d466a9a 100644 --- a/apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-account-platform.component.ts +++ b/apps/client/src/app/components/admin-platform/create-or-update-platform-dialog/create-or-update-account-platform.component.ts @@ -5,9 +5,9 @@ import { Subject } from 'rxjs'; import { CreateOrUpdatePlatformDialogParams } from './interfaces/interfaces'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'h-100' }, selector: 'gf-create-or-update-platform-dialog', - changeDetection: ChangeDetectionStrategy.OnPush, styleUrls: ['./create-or-update-platform-dialog.scss'], templateUrl: 'create-or-update-platform-dialog.html' }) diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.html b/apps/client/src/app/components/admin-settings/admin-settings.component.html index 2649ffdab..aa4395b27 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.html +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.html @@ -5,9 +5,11 @@ + diff --git a/apps/client/src/app/components/admin-settings/admin-settings.component.ts b/apps/client/src/app/components/admin-settings/admin-settings.component.ts index ccf1fb0ba..97066d533 100644 --- a/apps/client/src/app/components/admin-settings/admin-settings.component.ts +++ b/apps/client/src/app/components/admin-settings/admin-settings.component.ts @@ -1,7 +1,13 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + OnDestroy, + OnInit +} from '@angular/core'; import { Subject } from 'rxjs'; @Component({ + changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'page' }, selector: 'gf-admin-settings', styleUrls: ['./admin-settings.component.scss'],