Browse Source

Refactoring

pull/2448/head
Thomas 2 years ago
parent
commit
0a0b50d949
  1. 4
      apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts
  2. 58
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts
  3. 12
      apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

4
apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.ts

@ -177,8 +177,8 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit {
dialogRef
.afterClosed()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(({ withRefresh }) => {
this.marketDataChanged.next(withRefresh);
.subscribe((data) => {
this.marketDataChanged.next(data?.withRefresh ?? false);
});
}

58
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts

@ -45,7 +45,7 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
public countries: {
[code: string]: { name: string; value: number };
};
public historicalDataAsString: string;
public historicalDataAsCsvString: string;
public isBenchmark = false;
public marketDataDetails: MarketData[] = [];
public sectors: {
@ -138,6 +138,34 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
.subscribe(() => {});
}
public onImportHistoricalData() {
const inputHistoricalData = this.historicalDataAsCsvString;
const inputSplittedByLine = inputHistoricalData.split('\n');
const dataBulkUpdate: UpdateMarketDataDto[] = inputSplittedByLine.map(
(line) => {
const [dateString, marketPriceString] = line.split(';');
return {
date: parseISO(dateString),
marketPrice: Number(marketPriceString)
};
}
);
this.adminService
.postMarketData({
dataSource: this.data.dataSource,
marketData: { marketData: dataBulkUpdate },
symbol: this.data.symbol
})
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => {
this.initialize();
});
this.historicalDataAsCsvString = '';
}
public onMarketDataChanged(withRefresh: boolean = false) {
if (withRefresh) {
this.initialize();
@ -203,34 +231,6 @@ export class AssetProfileDialog implements OnDestroy, OnInit {
});
}
public importHistoricalData() {
const inputHistoricalData = this.historicalDataAsString;
const inputSplittedByLine = inputHistoricalData.split('\n');
const dataBulkUpdate: UpdateMarketDataDto[] = inputSplittedByLine.map(
(line) => {
const [dateString, marketPriceString] = line.split(';');
return {
date: parseISO(dateString),
marketPrice: Number(marketPriceString)
};
}
);
this.adminService
.postMarketData({
dataSource: this.data.dataSource,
marketData: { marketData: dataBulkUpdate },
symbol: this.data.symbol
})
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => {
this.dataService.updateInfo();
});
this.historicalDataAsString = '';
}
public ngOnDestroy() {
this.unsubscribeSubject.next();
this.unsubscribeSubject.complete();

12
apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html

@ -64,14 +64,20 @@
placeholder="e.g. 20230601;1.61"
type="text"
[ngModelOptions]="{standalone: true}"
[(ngModel)]="historicalDataAsString"
[(ngModel)]="historicalDataAsCsvString"
(keyup.enter)="$event.stopPropagation()"
></textarea>
</mat-form-field>
</div>
<div class="d-flex justify-content-end mt-2">
<button color="accent" mat-flat-button (click)="importHistoricalData()">
<ng-container i18n>Import Historical Data </ng-container>
<button
color="accent"
mat-flat-button
type="button"
(click)="onImportHistoricalData()"
>
<ng-container i18n>Import</ng-container>
</button>
</div>

Loading…
Cancel
Save