diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
index 6f6c6edc1..696174699 100644
--- a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
+++ b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts
@@ -14,7 +14,6 @@ import {
} from '@ghostfolio/common/interfaces';
import { AdminMarketDataItem } from '@ghostfolio/common/interfaces/admin-market-data.interface';
import { hasPermission, permissions } from '@ghostfolio/common/permissions';
-import { AssetProfileDialogParams } from '@ghostfolio/ui/admin-market-data-detail/interfaces/interfaces';
import { translate } from '@ghostfolio/ui/i18n';
import { SelectionModel } from '@angular/cdk/collections';
@@ -42,6 +41,7 @@ import { AdminMarketDataService } from './admin-market-data.service';
import { AssetProfileDialog } from './asset-profile-dialog/asset-profile-dialog.component';
import { CreateAssetProfileDialog } from './create-asset-profile-dialog/create-asset-profile-dialog.component';
import { CreateAssetProfileDialogParams } from './create-asset-profile-dialog/interfaces/interfaces';
+import { AssetProfileDialogParams } from './interfaces/interfaces';
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss
index 190018a17..7057aad83 100644
--- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss
+++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.scss
@@ -3,8 +3,9 @@
.mat-mdc-dialog-content {
max-height: unset;
- }
- gf-line-chart {
- aspect-ratio: 16/9;
+
+ gf-line-chart {
+ aspect-ratio: 16/9;
+ }
}
}
diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
index 90f45f9cc..322ed41c8 100644
--- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
+++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
@@ -13,7 +13,6 @@ import {
User,
LineChartItem
} from '@ghostfolio/common/interfaces';
-import { AssetProfileDialogParams } from '@ghostfolio/ui/admin-market-data-detail/interfaces/interfaces';
import { translate } from '@ghostfolio/ui/i18n';
import {
@@ -36,6 +35,8 @@ import { format } from 'date-fns';
import { EMPTY, Subject } from 'rxjs';
import { catchError, takeUntil } from 'rxjs/operators';
+import { AssetProfileDialogParams } from '../interfaces/interfaces';
+
@Component({
host: { class: 'd-flex flex-column h-100' },
selector: 'gf-asset-profile-dialog',
diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
index 91bb31f3b..65f7d1059 100644
--- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
+++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html
@@ -68,7 +68,6 @@
-
Line
-
diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts
index e235ffd27..ceea421a3 100644
--- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts
+++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.module.ts
@@ -1,8 +1,8 @@
import { AdminMarketDataService } from '@ghostfolio/client/components/admin-market-data/admin-market-data.service';
import { GfAssetProfileIconComponent } from '@ghostfolio/client/components/asset-profile-icon/asset-profile-icon.component';
-import { AdminMarketDataDetailComponent } from '@ghostfolio/ui/admin-market-data-detail';
import { GfCurrencySelectorComponent } from '@ghostfolio/ui/currency-selector';
import { GfLineChartComponent } from '@ghostfolio/ui/line-chart';
+import { GfMarketDataDetailComponent } from '@ghostfolio/ui/market-data-detail';
import { GfPortfolioProportionChartComponent } from '@ghostfolio/ui/portfolio-proportion-chart';
import { GfValueComponent } from '@ghostfolio/ui/value';
@@ -23,7 +23,7 @@ import { AssetProfileDialog } from './asset-profile-dialog.component';
@NgModule({
declarations: [AssetProfileDialog],
imports: [
- AdminMarketDataDetailComponent,
+ GfMarketDataDetailComponent,
CommonModule,
FormsModule,
GfAssetProfileIconComponent,
diff --git a/libs/ui/src/lib/admin-market-data-detail/interfaces/interfaces.ts b/apps/client/src/app/components/admin-market-data/interfaces/interfaces.ts
similarity index 100%
rename from libs/ui/src/lib/admin-market-data-detail/interfaces/interfaces.ts
rename to apps/client/src/app/components/admin-market-data/interfaces/interfaces.ts
diff --git a/libs/ui/src/lib/admin-market-data-detail/index.ts b/libs/ui/src/lib/admin-market-data-detail/index.ts
deleted file mode 100644
index b74bee25d..000000000
--- a/libs/ui/src/lib/admin-market-data-detail/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './admin-market-data-detail.component';
diff --git a/libs/ui/src/lib/market-data-detail/index.ts b/libs/ui/src/lib/market-data-detail/index.ts
new file mode 100644
index 000000000..6641378fc
--- /dev/null
+++ b/libs/ui/src/lib/market-data-detail/index.ts
@@ -0,0 +1 @@
+export * from './market-data-detail.component';
diff --git a/libs/ui/src/lib/admin-market-data-detail/market-data-detail-dialog/interfaces/interfaces.ts b/libs/ui/src/lib/market-data-detail/market-data-detail-dialog/interfaces/interfaces.ts
similarity index 100%
rename from libs/ui/src/lib/admin-market-data-detail/market-data-detail-dialog/interfaces/interfaces.ts
rename to libs/ui/src/lib/market-data-detail/market-data-detail-dialog/interfaces/interfaces.ts
diff --git a/libs/ui/src/lib/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.component.ts b/libs/ui/src/lib/market-data-detail/market-data-detail-dialog/market-data-detail-dialog.component.ts
similarity index 100%
rename from libs/ui/src/lib/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.component.ts
rename to libs/ui/src/lib/market-data-detail/market-data-detail-dialog/market-data-detail-dialog.component.ts
diff --git a/libs/ui/src/lib/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html b/libs/ui/src/lib/market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html
similarity index 100%
rename from libs/ui/src/lib/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html
rename to libs/ui/src/lib/market-data-detail/market-data-detail-dialog/market-data-detail-dialog.html
diff --git a/libs/ui/src/lib/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.scss b/libs/ui/src/lib/market-data-detail/market-data-detail-dialog/market-data-detail-dialog.scss
similarity index 100%
rename from libs/ui/src/lib/admin-market-data-detail/market-data-detail-dialog/market-data-detail-dialog.scss
rename to libs/ui/src/lib/market-data-detail/market-data-detail-dialog/market-data-detail-dialog.scss
diff --git a/libs/ui/src/lib/admin-market-data-detail/admin-market-data-detail.component.html b/libs/ui/src/lib/market-data-detail/market-data-detail.component.html
similarity index 100%
rename from libs/ui/src/lib/admin-market-data-detail/admin-market-data-detail.component.html
rename to libs/ui/src/lib/market-data-detail/market-data-detail.component.html
diff --git a/libs/ui/src/lib/admin-market-data-detail/admin-market-data-detail.component.scss b/libs/ui/src/lib/market-data-detail/market-data-detail.component.scss
similarity index 90%
rename from libs/ui/src/lib/admin-market-data-detail/admin-market-data-detail.component.scss
rename to libs/ui/src/lib/market-data-detail/market-data-detail.component.scss
index a03533589..cc835a90e 100644
--- a/libs/ui/src/lib/admin-market-data-detail/admin-market-data-detail.component.scss
+++ b/libs/ui/src/lib/market-data-detail/market-data-detail.component.scss
@@ -2,10 +2,6 @@
display: block;
font-size: 0.9rem;
- gf-line-chart {
- aspect-ratio: 16/9;
- }
-
.date {
font-feature-settings: 'tnum';
font-variant-numeric: tabular-nums;
diff --git a/libs/ui/src/lib/admin-market-data-detail/admin-market-data-detail.component.ts b/libs/ui/src/lib/market-data-detail/market-data-detail.component.ts
similarity index 87%
rename from libs/ui/src/lib/admin-market-data-detail/admin-market-data-detail.component.ts
rename to libs/ui/src/lib/market-data-detail/market-data-detail.component.ts
index 1625fda34..52bd895a7 100644
--- a/libs/ui/src/lib/admin-market-data-detail/admin-market-data-detail.component.ts
+++ b/libs/ui/src/lib/market-data-detail/market-data-detail.component.ts
@@ -6,14 +6,12 @@ import {
getLocale
} from '@ghostfolio/common/helper';
import { LineChartItem, User } from '@ghostfolio/common/interfaces';
-import { AssetProfileDialogParams } from '@ghostfolio/ui/admin-market-data-detail/interfaces/interfaces';
import { CommonModule } from '@angular/common';
import {
ChangeDetectionStrategy,
Component,
EventEmitter,
- Inject,
Input,
OnChanges,
OnInit,
@@ -21,7 +19,7 @@ import {
} from '@angular/core';
import { FormBuilder, ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
-import { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
+import { MatDialog } from '@angular/material/dialog';
import { MatInputModule } from '@angular/material/input';
import { MatSnackBar } from '@angular/material/snack-bar';
import { DataSource, MarketData } from '@prisma/client';
@@ -38,6 +36,7 @@ import {
parseISO
} from 'date-fns';
import { first, last } from 'lodash';
+import ms from 'ms';
import { DeviceDetectorService } from 'ngx-device-detector';
import { parse as csvToJson } from 'papaparse';
import { EMPTY, Subject, takeUntil } from 'rxjs';
@@ -48,13 +47,13 @@ import { MarketDataDetailDialogComponent } from './market-data-detail-dialog/mar
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
- imports: [CommonModule, ReactiveFormsModule, MatButtonModule, MatInputModule],
- selector: 'gf-admin-market-data-detail',
+ imports: [CommonModule, MatButtonModule, MatInputModule, ReactiveFormsModule],
+ selector: 'gf-market-data-details',
standalone: true,
- styleUrls: ['./admin-market-data-detail.component.scss'],
- templateUrl: './admin-market-data-detail.component.html'
+ styleUrls: ['./market-data-detail.component.scss'],
+ templateUrl: './market-data-detail.component.html'
})
-export class AdminMarketDataDetailComponent implements OnChanges, OnInit {
+export class GfMarketDataDetailComponent implements OnChanges, OnInit {
@Input() currency: string;
@Input() dataSource: DataSource;
@Input() dateOfFirstActivity: string;
@@ -64,11 +63,16 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit {
@Input() user: User;
@Output() marketDataChanged = new EventEmitter();
- @Output() updateHistoricalData = new EventEmitter();
+ @Output() historicalDataUpdated = new EventEmitter();
public days = Array(31);
public defaultDateFormat: string;
public deviceType: string;
+ public historicalDataForm = this.formBuilder.group({
+ historicalData: this.formBuilder.group({
+ csvString: ''
+ })
+ });
public historicalDataItems: LineChartItem[];
public marketDataByMonth: {
[yearMonth: string]: {
@@ -76,12 +80,6 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit {
};
} = {};
- public historicalDataForm = this.formBuilder.group({
- historicalData: this.formBuilder.group({
- csvString: ''
- })
- });
-
private static readonly HISTORICAL_DATA_TEMPLATE = `date;marketPrice\n${format(
new Date(),
DATE_FORMAT
@@ -91,11 +89,10 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit {
public constructor(
private adminService: AdminService,
- @Inject(MAT_DIALOG_DATA) public data: AssetProfileDialogParams,
private deviceService: DeviceDetectorService,
+ private formBuilder: FormBuilder,
private dialog: MatDialog,
- private snackBar: MatSnackBar,
- private formBuilder: FormBuilder
+ private snackBar: MatSnackBar
) {
this.deviceType = this.deviceService.getDeviceInfo().deviceType;
}
@@ -236,38 +233,38 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit {
this.adminService
.postMarketData({
- dataSource: this.data.dataSource,
+ dataSource: this.dataSource,
marketData: {
marketData
},
- symbol: this.data.symbol
+ symbol: this.symbol
})
.pipe(
catchError(({ error, message }) => {
this.snackBar.open(`${error}: ${message[0]}`, undefined, {
- duration: 3000
+ duration: ms('3 seconds')
});
return EMPTY;
}),
takeUntil(this.unsubscribeSubject)
)
.subscribe(() => {
- this.updateHistoricalData.emit();
+ this.historicalDataUpdated.emit();
this.initializeHistoricalDataForm();
});
} catch {
this.snackBar.open(
$localize`Oops! Could not parse historical data.`,
undefined,
- { duration: 3000 }
+ { duration: ms('3 seconds') }
);
}
}
- public initializeHistoricalDataForm() {
+ private initializeHistoricalDataForm() {
this.historicalDataForm.setValue({
historicalData: {
- csvString: AdminMarketDataDetailComponent.HISTORICAL_DATA_TEMPLATE
+ csvString: GfMarketDataDetailComponent.HISTORICAL_DATA_TEMPLATE
}
});
}