Feature/add missing dates to edit historical market data in asset profile details dialog (#3206)

* Add missing dates to edit historical market data in asset profile details dialog

* Update changelog
pull/3208/head^2
Fedron 8 months ago committed by GitHub
parent 0581b8b9ec
commit a668a66e84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
### Fixed
- Added missing dates to edit historical market data in the asset profile details dialog of the admin control panel
## 2.68.0 - 2024-03-29 ## 2.68.0 - 2024-03-29
### Added ### Added

@ -9,11 +9,7 @@
[showYAxis]="true" [showYAxis]="true"
[symbol]="symbol" [symbol]="symbol"
/> />
<div <div *ngFor="let itemByMonth of marketDataByMonth | keyvalue" class="d-flex">
*ngFor="let itemByMonth of marketDataByMonth | keyvalue"
class="d-flex"
[hidden]="!marketData.length > 0"
>
<div class="date px-1 text-nowrap">{{ itemByMonth.key }}</div> <div class="date px-1 text-nowrap">{{ itemByMonth.key }}</div>
<div class="align-items-center d-flex flex-grow-1 px-1"> <div class="align-items-center d-flex flex-grow-1 px-1">
<div <div

@ -19,15 +19,17 @@ import { MatDialog } from '@angular/material/dialog';
import { DataSource, MarketData } from '@prisma/client'; import { DataSource, MarketData } from '@prisma/client';
import { import {
addDays, addDays,
addMonths,
format, format,
isBefore, isBefore,
isSameDay, isSameDay,
isToday, isToday,
isValid, isValid,
min,
parse, parse,
parseISO parseISO
} from 'date-fns'; } from 'date-fns';
import { last } from 'lodash'; import { first, last } from 'lodash';
import { DeviceDetectorService } from 'ngx-device-detector'; import { DeviceDetectorService } from 'ngx-device-detector';
import { Subject, takeUntil } from 'rxjs'; import { Subject, takeUntil } from 'rxjs';
@ -135,6 +137,27 @@ export class AdminMarketDataDetailComponent implements OnChanges, OnInit {
marketPrice: marketDataItem.marketPrice marketPrice: marketDataItem.marketPrice
}; };
} }
if (this.dateOfFirstActivity) {
// Fill up missing months
const dates = Object.keys(this.marketDataByMonth).sort();
const startDate = min([
parseISO(this.dateOfFirstActivity),
parseISO(first(dates))
]);
const endDate = parseISO(last(dates));
let currentDate = startDate;
while (isBefore(currentDate, endDate)) {
const key = format(currentDate, 'yyyy-MM');
if (!this.marketDataByMonth[key]) {
this.marketDataByMonth[key] = {};
}
currentDate = addMonths(currentDate, 1);
}
}
} }
public isDateOfInterest(aDateString: string) { public isDateOfInterest(aDateString: string) {

Loading…
Cancel
Save