Browse Source

Refactoring

pull/5618/head
Thomas Kaul 4 weeks ago
parent
commit
3756999a50
  1. 9
      libs/common/src/lib/interfaces/user.interface.ts
  2. 10
      libs/ui/src/lib/assistant/assistant.component.ts
  3. 2
      libs/ui/src/lib/assistant/assistant.html
  4. 4
      libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts

9
libs/common/src/lib/interfaces/user.interface.ts

@ -1,6 +1,9 @@
import { SubscriptionType } from '@ghostfolio/common/types/subscription-type.type'; import {
AccountWithPlatform,
SubscriptionType
} from '@ghostfolio/common/types';
import { Access, Account, Tag } from '@prisma/client'; import { Access, Tag } from '@prisma/client';
import { SubscriptionOffer } from './subscription-offer.interface'; import { SubscriptionOffer } from './subscription-offer.interface';
import { SystemMessage } from './system-message.interface'; import { SystemMessage } from './system-message.interface';
@ -9,7 +12,7 @@ import { UserSettings } from './user-settings.interface';
// TODO: Compare with UserWithSettings // TODO: Compare with UserWithSettings
export interface User { export interface User {
access: Pick<Access, 'alias' | 'id' | 'permissions'>[]; access: Pick<Access, 'alias' | 'id' | 'permissions'>[];
accounts: Account[]; accounts: AccountWithPlatform[];
activitiesCount: number; activitiesCount: number;
dateOfFirstActivity: Date; dateOfFirstActivity: Date;
id: string; id: string;

10
libs/ui/src/lib/assistant/assistant.component.ts

@ -4,7 +4,7 @@ import { getAssetProfileIdentifier } from '@ghostfolio/common/helper';
import { Filter, PortfolioPosition, User } from '@ghostfolio/common/interfaces'; import { Filter, PortfolioPosition, User } from '@ghostfolio/common/interfaces';
import { InternalRoute } from '@ghostfolio/common/routes/interfaces/internal-route.interface'; import { InternalRoute } from '@ghostfolio/common/routes/interfaces/internal-route.interface';
import { internalRoutes } from '@ghostfolio/common/routes/routes'; import { internalRoutes } from '@ghostfolio/common/routes/routes';
import { AccountWithValue, DateRange } from '@ghostfolio/common/types'; import { AccountWithPlatform, DateRange } from '@ghostfolio/common/types';
import { FocusKeyManager } from '@angular/cdk/a11y'; import { FocusKeyManager } from '@angular/cdk/a11y';
import { import {
@ -119,7 +119,6 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
} }
} }
@Input() accountsWithValue: AccountWithValue[] = [];
@Input() deviceType: string; @Input() deviceType: string;
@Input() hasPermissionToAccessAdminControl: boolean; @Input() hasPermissionToAccessAdminControl: boolean;
@Input() hasPermissionToChangeDateRange: boolean; @Input() hasPermissionToChangeDateRange: boolean;
@ -138,7 +137,7 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
public static readonly SEARCH_RESULTS_DEFAULT_LIMIT = 5; public static readonly SEARCH_RESULTS_DEFAULT_LIMIT = 5;
public accounts: AccountWithValue[] = []; public accounts: AccountWithPlatform[] = [];
public assetClasses: Filter[] = []; public assetClasses: Filter[] = [];
public dateRangeFormControl = new FormControl<string>(undefined); public dateRangeFormControl = new FormControl<string>(undefined);
public dateRangeOptions: IDateRangeOption[] = []; public dateRangeOptions: IDateRangeOption[] = [];
@ -360,11 +359,6 @@ export class GfAssistantComponent implements OnChanges, OnDestroy, OnInit {
} }
public ngOnChanges() { public ngOnChanges() {
this.accounts = (this.user?.accounts ?? []).map(({ id, name }) => ({
id,
name
})) as AccountWithValue[];
this.dateRangeOptions = [ this.dateRangeOptions = [
{ {
label: $localize`Today`, label: $localize`Today`,

2
libs/ui/src/lib/assistant/assistant.html

@ -183,7 +183,7 @@
<div class="p-3"> <div class="p-3">
<gf-portfolio-filter-form <gf-portfolio-filter-form
#portfolioFilterForm #portfolioFilterForm
[accounts]="accounts" [accounts]="user?.accounts"
[assetClasses]="assetClasses" [assetClasses]="assetClasses"
[disabled]="!hasPermissionToChangeFilters" [disabled]="!hasPermissionToChangeFilters"
[formControl]="portfolioFilterFormControl" [formControl]="portfolioFilterFormControl"

4
libs/ui/src/lib/portfolio-filter-form/portfolio-filter-form.component.ts

@ -1,7 +1,7 @@
import { GfSymbolPipe } from '@ghostfolio/client/pipes/symbol/symbol.pipe'; import { GfSymbolPipe } from '@ghostfolio/client/pipes/symbol/symbol.pipe';
import { getAssetProfileIdentifier } from '@ghostfolio/common/helper'; import { getAssetProfileIdentifier } from '@ghostfolio/common/helper';
import { Filter, PortfolioPosition } from '@ghostfolio/common/interfaces'; import { Filter, PortfolioPosition } from '@ghostfolio/common/interfaces';
import { AccountWithValue } from '@ghostfolio/common/types'; import { AccountWithPlatform } from '@ghostfolio/common/types';
import { import {
CUSTOM_ELEMENTS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA,
@ -57,7 +57,7 @@ import { PortfolioFilterFormValue } from './interfaces';
export class GfPortfolioFilterFormComponent export class GfPortfolioFilterFormComponent
implements ControlValueAccessor, OnInit, OnChanges, OnDestroy implements ControlValueAccessor, OnInit, OnChanges, OnDestroy
{ {
@Input() accounts: AccountWithValue[] = []; @Input() accounts: AccountWithPlatform[] = [];
@Input() assetClasses: Filter[] = []; @Input() assetClasses: Filter[] = [];
@Input() holdings: PortfolioPosition[] = []; @Input() holdings: PortfolioPosition[] = [];
@Input() tags: Filter[] = []; @Input() tags: Filter[] = [];

Loading…
Cancel
Save