Mercurial > public > stock-charts
annotate Sources/StockCharts/LineChart/Helpers/ChartLabel.swift @ 116:5057c45046c1
Add default initializers
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Mon, 09 Aug 2021 16:32:45 +0100 |
parents | f53d8b9ca92b |
children |
rev | line source |
---|---|
5
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
1 // |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
2 // ChartLabel.swift |
21
5135ff3343ae
Rename project to StockCharts
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
20
diff
changeset
|
3 // StockCharts |
5
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
4 // |
21
5135ff3343ae
Rename project to StockCharts
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
20
diff
changeset
|
5 // Created by Dennis Concepción Martín on 30/4/21. |
5
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
6 // |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
7 |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
8 import SwiftUI |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
9 |
20
24dfde3727c1
Make variables and structures public
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
14
diff
changeset
|
10 public struct ChartLabel: View { |
116
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
11 public var lineChartController: LineChartController |
5
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
12 |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
13 @Binding var indexPosition: Int // Data point position |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
14 |
20
24dfde3727c1
Make variables and structures public
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
14
diff
changeset
|
15 public var body: some View { |
5
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
16 HStack { |
116
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
17 if let dates = lineChartController.dates { |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
18 let date = formatStringDate(dates[indexPosition]) |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
19 Text(date) |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
20 .opacity(0.5) |
5
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
21 } |
116
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
22 |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
23 if let hours = lineChartController.hours { |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
24 let hour = hours[indexPosition] |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
25 Text(hour) |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
26 .opacity(0.5) |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
27 } |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
28 |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
29 Text("\(lineChartController.prices[indexPosition], specifier: "%.2f")") |
5057c45046c1
Add default initializers
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
108
diff
changeset
|
30 .foregroundColor(lineChartController.labelColor) |
5
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
31 } |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
32 } |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
33 |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
34 /* |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
35 Take string in format yy-MM-dd (2021-01-01) and transform it |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
36 to long default string format |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
37 */ |
20
24dfde3727c1
Make variables and structures public
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
14
diff
changeset
|
38 public func formatStringDate(_ stringDate: String) -> String { |
5
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
39 let dateFormatter = DateFormatter() |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
40 dateFormatter.dateFormat = "yy-MM-dd" |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
41 let date = dateFormatter.date(from: stringDate) |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
42 |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
43 // Format date to the final format |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
44 dateFormatter.dateStyle = .long |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
45 let finalDate = dateFormatter.string(from: date!) |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
46 |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
47 return finalDate |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
48 } |
f828c7c408d4
Add source code
Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
parents:
diff
changeset
|
49 } |