Browse Source
Bugfix/allocate remaining percentage to unknown data in portfolio proportion chart (#6054)
* Allocate remaining percentage to unknown data in portfolio proportion chart
* Update changelog
pull/6034/head^2
David Requeno
5 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
29 additions and
1 deletions
-
CHANGELOG.md
-
libs/ui/src/lib/portfolio-proportion-chart/portfolio-proportion-chart.component.ts
|
|
|
@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 |
|
|
|
- Moved the notification module to `@ghostfolio/ui` |
|
|
|
- Improved the language localization for German (`de`) |
|
|
|
|
|
|
|
### Fixed |
|
|
|
|
|
|
|
- Fixed a calculation issue that resulted in the incorrect assignment of unknown data in the portfolio proportion chart component |
|
|
|
|
|
|
|
## 2.222.0 - 2025-12-07 |
|
|
|
|
|
|
|
### Added |
|
|
|
|
|
|
|
@ -1,6 +1,6 @@ |
|
|
|
import { getTooltipOptions } from '@ghostfolio/common/chart-helper'; |
|
|
|
import { UNKNOWN_KEY } from '@ghostfolio/common/config'; |
|
|
|
import { getLocale, getTextColor } from '@ghostfolio/common/helper'; |
|
|
|
import { getLocale, getSum, getTextColor } from '@ghostfolio/common/helper'; |
|
|
|
import { |
|
|
|
AssetProfileIdentifier, |
|
|
|
PortfolioPosition |
|
|
|
@ -193,6 +193,30 @@ export class GfPortfolioProportionChartComponent |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
if (this.isInPercent) { |
|
|
|
const totalValueInPercentage = getSum( |
|
|
|
Object.values(chartData).map(({ value }) => { |
|
|
|
return value; |
|
|
|
}) |
|
|
|
); |
|
|
|
|
|
|
|
const unknownValueInPercentage = new Big(1).minus(totalValueInPercentage); |
|
|
|
|
|
|
|
if (unknownValueInPercentage.gt(0)) { |
|
|
|
// If total is below 100%, allocate the remaining percentage to UNKNOWN_KEY
|
|
|
|
if (chartData[UNKNOWN_KEY]) { |
|
|
|
chartData[UNKNOWN_KEY].value = chartData[UNKNOWN_KEY].value.plus( |
|
|
|
unknownValueInPercentage |
|
|
|
); |
|
|
|
} else { |
|
|
|
chartData[UNKNOWN_KEY] = { |
|
|
|
name: UNKNOWN_KEY, |
|
|
|
value: unknownValueInPercentage |
|
|
|
}; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
let chartDataSorted = Object.entries(chartData) |
|
|
|
.sort((a, b) => { |
|
|
|
return a[1].value.minus(b[1].value).toNumber(); |
|
|
|
|