|
@ -27,6 +27,7 @@ import { ColorScheme } from '@ghostfolio/common/types'; |
|
|
import { SymbolProfile } from '@prisma/client'; |
|
|
import { SymbolProfile } from '@prisma/client'; |
|
|
import { |
|
|
import { |
|
|
Chart, |
|
|
Chart, |
|
|
|
|
|
ChartData, |
|
|
LineController, |
|
|
LineController, |
|
|
LineElement, |
|
|
LineElement, |
|
|
LinearScale, |
|
|
LinearScale, |
|
@ -57,7 +58,7 @@ export class BenchmarkComparatorComponent implements OnChanges, OnDestroy { |
|
|
|
|
|
|
|
|
@ViewChild('chartCanvas') chartCanvas; |
|
|
@ViewChild('chartCanvas') chartCanvas; |
|
|
|
|
|
|
|
|
public chart: Chart<any>; |
|
|
public chart: Chart<'line'>; |
|
|
|
|
|
|
|
|
public constructor() { |
|
|
public constructor() { |
|
|
Chart.register( |
|
|
Chart.register( |
|
@ -89,14 +90,14 @@ export class BenchmarkComparatorComponent implements OnChanges, OnDestroy { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private initialize() { |
|
|
private initialize() { |
|
|
const data = { |
|
|
const data: ChartData<'line'> = { |
|
|
datasets: [ |
|
|
datasets: [ |
|
|
{ |
|
|
{ |
|
|
backgroundColor: `rgb(${primaryColorRgb.r}, ${primaryColorRgb.g}, ${primaryColorRgb.b})`, |
|
|
backgroundColor: `rgb(${primaryColorRgb.r}, ${primaryColorRgb.g}, ${primaryColorRgb.b})`, |
|
|
borderColor: `rgb(${primaryColorRgb.r}, ${primaryColorRgb.g}, ${primaryColorRgb.b})`, |
|
|
borderColor: `rgb(${primaryColorRgb.r}, ${primaryColorRgb.g}, ${primaryColorRgb.b})`, |
|
|
borderWidth: 2, |
|
|
borderWidth: 2, |
|
|
data: this.performanceDataItems.map(({ date, value }) => { |
|
|
data: this.performanceDataItems.map(({ date, value }) => { |
|
|
return { x: parseDate(date), y: value }; |
|
|
return { x: parseDate(date).getTime(), y: value }; |
|
|
}), |
|
|
}), |
|
|
label: $localize`Portfolio` |
|
|
label: $localize`Portfolio` |
|
|
}, |
|
|
}, |
|
@ -105,7 +106,7 @@ export class BenchmarkComparatorComponent implements OnChanges, OnDestroy { |
|
|
borderColor: `rgb(${secondaryColorRgb.r}, ${secondaryColorRgb.g}, ${secondaryColorRgb.b})`, |
|
|
borderColor: `rgb(${secondaryColorRgb.r}, ${secondaryColorRgb.g}, ${secondaryColorRgb.b})`, |
|
|
borderWidth: 2, |
|
|
borderWidth: 2, |
|
|
data: this.benchmarkDataItems.map(({ date, value }) => { |
|
|
data: this.benchmarkDataItems.map(({ date, value }) => { |
|
|
return { x: parseDate(date), y: value }; |
|
|
return { x: parseDate(date).getTime(), y: value }; |
|
|
}), |
|
|
}), |
|
|
label: $localize`Benchmark` |
|
|
label: $localize`Benchmark` |
|
|
} |
|
|
} |
|
|