Skip to content

Commit 0e2e3e5

Browse files
authored
Merge pull request #57 from ashchan/update-chart-on-portfolio-change
Fix GrowthChart not updating issue by adding PortfolioSettings
2 parents 9fc0cc7 + 5ae7f56 commit 0e2e3e5

3 files changed

Lines changed: 3 additions & 3 deletions

File tree

Shared/Models/Portfolio/PortfolioConfig.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ extension Portfolio {
4646
startAt = Calendar.utc.date(from: components)!.startOfMonth
4747
currencyCode = config.currencyCode
4848

49-
// TODO: only rebuild if startAt has been changed
5049
sortedAccounts.forEach { $0.rebuildRecords() }
5150
}
5251
}

macOS/Views/PortfolioView/GrowthChart.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import SwiftUI
99
import Charts
1010

1111
struct GrowthChart: NSViewRepresentable {
12+
@EnvironmentObject var portfolioSettings: PortfolioSettings
1213
@State var portfolio: Portfolio
1314

1415
typealias NSViewType = LineChartView
@@ -17,7 +18,6 @@ struct GrowthChart: NSViewRepresentable {
1718
let view = LineChartView()
1819
view.leftAxis.axisMinimum = 0
1920
view.leftAxis.drawGridLinesEnabled = false
20-
view.leftAxis.valueFormatter = ChartValueFormatter(portfolio: portfolio)
2121
view.xAxis.labelPosition = .bottom
2222
view.xAxis.drawGridLinesEnabled = false
2323
view.xAxis.valueFormatter = ChartDateFormatter()
@@ -31,6 +31,7 @@ struct GrowthChart: NSViewRepresentable {
3131
}
3232

3333
func updateNSView(_ nsView: LineChartView, context: Context) {
34+
nsView.leftAxis.valueFormatter = ChartValueFormatter(portfolio: portfolio)
3435
nsView.data = chartData
3536
if let max = nsView.data?.yMax {
3637
nsView.leftAxis.axisMaximum = max + 2_000

macOS/Views/Sidebar/PortfolioRow.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ struct PortfolioRow: View {
3838
})
3939
) {
4040
NavigationLink(
41-
destination: PortfolioView(portfolio: portfolio, showingConfigureSheet: $showingConfigureSheet),
41+
destination: PortfolioView(portfolio: portfolio, showingConfigureSheet: $showingConfigureSheet).environmentObject(portfolioSettings),
4242
tag: "\(portfolio.tag)-overview",
4343
selection: $selection
4444
) {

0 commit comments

Comments
 (0)