Browse Source

feat: address review suggestions

pull/3938/head
vitalymatyushik 10 months ago
committed by Thomas Kaul
parent
commit
24a61062af
  1. 79
      libs/ui/src/lib/treemap-chart/treemap-chart.component.ts

79
libs/ui/src/lib/treemap-chart/treemap-chart.component.ts

@ -86,32 +86,38 @@ export class GfTreemapChartComponent
this.isLoading = true;
const { endDate, startDate } = getIntervalFromDateRange(this.dateRange);
const netPerformancePercentsWithCurrencyEffect = this.holdings.map((h) =>
getAnnualizedPerformancePercent({
const netPerformancePercentsWithCurrencyEffect = this.holdings.map(
({ dateOfFirstActivity, netPerformancePercentWithCurrencyEffect }) => {
return getAnnualizedPerformancePercent({
daysInMarket: differenceInDays(
endDate,
max([h.dateOfFirstActivity ?? new Date(0), startDate])
max([dateOfFirstActivity ?? new Date(0), startDate])
),
netPerformancePercentage: new Big(
h.netPerformancePercentWithCurrencyEffect
netPerformancePercentWithCurrencyEffect
)
}).toNumber()
}).toNumber();
}
);
const positiveNetPercents = netPerformancePercentsWithCurrencyEffect.filter(
(v) => v > 0
);
const positiveNetPercentsRange = {
max: Math.max(...positiveNetPercents),
min: Math.min(...positiveNetPercents)
const positiveNetPerformancePercents =
netPerformancePercentsWithCurrencyEffect.filter((v) => {
return v > 0;
});
const positiveNetPerformancePercentsRange = {
max: Math.max(...positiveNetPerformancePercents),
min: Math.min(...positiveNetPerformancePercents)
};
const negativeNetPercents = netPerformancePercentsWithCurrencyEffect.filter(
(v) => v < 0
);
const negativeNetPercentsRange = {
max: Math.max(...negativeNetPercents),
min: Math.min(...negativeNetPercents)
const negativeNetPerformancePercents =
netPerformancePercentsWithCurrencyEffect.filter((v) => {
return v < 0;
});
const negativeNetPerformancePercentsRange = {
max: Math.max(...negativeNetPerformancePercents),
min: Math.min(...negativeNetPerformancePercents)
};
const data: ChartConfiguration['data'] = {
datasets: [
{
@ -129,6 +135,7 @@ export class GfTreemapChartComponent
ctx.raw._data.netPerformancePercentWithCurrencyEffect
)
}).toNumber();
// Round to 2 decimal places
annualizedNetPerformancePercentWithCurrencyEffect =
Math.round(
@ -146,49 +153,51 @@ export class GfTreemapChartComponent
if (annualizedNetPerformancePercentWithCurrencyEffect > 0) {
const range =
positiveNetPercentsRange.max - positiveNetPercentsRange.min;
positiveNetPerformancePercentsRange.max -
positiveNetPerformancePercentsRange.min;
if (
annualizedNetPerformancePercentWithCurrencyEffect >=
positiveNetPercentsRange.max - range * 0.25
positiveNetPerformancePercentsRange.max - range * 0.25
) {
return green[9];
}
if (
} else if (
annualizedNetPerformancePercentWithCurrencyEffect >=
positiveNetPercentsRange.max - range * 0.5
positiveNetPerformancePercentsRange.max - range * 0.5
) {
return green[7];
}
if (
} else if (
annualizedNetPerformancePercentWithCurrencyEffect >=
positiveNetPercentsRange.max - range * 0.75
positiveNetPerformancePercentsRange.max - range * 0.75
) {
return green[5];
}
return green[3];
}
const range =
negativeNetPercentsRange.min - negativeNetPercentsRange.max;
negativeNetPerformancePercentsRange.min -
negativeNetPerformancePercentsRange.max;
if (
annualizedNetPerformancePercentWithCurrencyEffect <=
negativeNetPercentsRange.min + range * 0.25
negativeNetPerformancePercentsRange.min + range * 0.25
) {
return red[9];
}
if (
} else if (
annualizedNetPerformancePercentWithCurrencyEffect <=
negativeNetPercentsRange.min + range * 0.5
negativeNetPerformancePercentsRange.min + range * 0.5
) {
return red[7];
}
if (
} else if (
annualizedNetPerformancePercentWithCurrencyEffect <=
negativeNetPercentsRange.min + range * 0.75
negativeNetPerformancePercentsRange.min + range * 0.75
) {
return red[7];
return red[5];
}
return red[9];
return red[3];
},
borderRadius: 4,
key: 'allocationInPercentage',

Loading…
Cancel
Save