mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Merge commit '8ad27b9ef21990ebc224f9110b8e3ad6e83b2fd0'
This commit is contained in:
@@ -72,6 +72,18 @@ enum BaseConstants {
|
||||
return numberFormatter
|
||||
}()
|
||||
|
||||
static let starNumberFormatter: NumberFormatter = {
|
||||
let numberFormatter = NumberFormatter()
|
||||
numberFormatter.allowsFloats = true
|
||||
numberFormatter.numberStyle = .decimal
|
||||
numberFormatter.usesGroupingSeparator = true
|
||||
numberFormatter.groupingSeparator = " "
|
||||
numberFormatter.minimumIntegerDigits = 1
|
||||
numberFormatter.minimumFractionDigits = 0
|
||||
numberFormatter.maximumFractionDigits = 2
|
||||
return numberFormatter
|
||||
}()
|
||||
|
||||
static let detailsNumberFormatter: NumberFormatter = {
|
||||
let detailsNumberFormatter = NumberFormatter()
|
||||
detailsNumberFormatter.allowsFloats = false
|
||||
|
||||
@@ -13,7 +13,23 @@ import Cocoa
|
||||
import UIKit
|
||||
#endif
|
||||
|
||||
public enum GraphCurrency : String {
|
||||
case xtr = "XTR"
|
||||
case ton = "TON"
|
||||
|
||||
var formatter: NumberFormatter {
|
||||
switch self {
|
||||
case .xtr:
|
||||
return BaseConstants.starNumberFormatter
|
||||
case .ton:
|
||||
return BaseConstants.tonNumberFormatter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class StackedBarsChartController: BaseChartController {
|
||||
|
||||
|
||||
let barsController: BarsComponentController
|
||||
let zoomedBarsController: BarsComponentController
|
||||
|
||||
@@ -23,12 +39,12 @@ public class StackedBarsChartController: BaseChartController {
|
||||
}
|
||||
}
|
||||
|
||||
public init(chartsCollection: ChartsCollection, isCrypto: Bool = false, rate: Double = 1.0) {
|
||||
public init(chartsCollection: ChartsCollection, currency: GraphCurrency? = nil, drawCurrency:((CGContext, UIColor, CGPoint)->Void)? = nil, rate: Double = 1.0) {
|
||||
let horizontalScalesRenderer = HorizontalScalesRenderer()
|
||||
let verticalScalesRenderer = VerticalScalesRenderer()
|
||||
var secondaryScalesRenderer: VerticalScalesRenderer?
|
||||
if isCrypto {
|
||||
verticalScalesRenderer.isCrypto = true
|
||||
if let _ = currency {
|
||||
verticalScalesRenderer.drawCurrency = drawCurrency
|
||||
secondaryScalesRenderer = VerticalScalesRenderer()
|
||||
secondaryScalesRenderer?.isRightAligned = true
|
||||
}
|
||||
@@ -38,10 +54,10 @@ public class StackedBarsChartController: BaseChartController {
|
||||
verticalScalesRenderer: verticalScalesRenderer,
|
||||
secondaryScalesRenderer: secondaryScalesRenderer,
|
||||
previewBarsChartRenderer: BarChartRenderer())
|
||||
if isCrypto {
|
||||
if let currency {
|
||||
barsController.conversionRate = rate
|
||||
barsController.verticalLimitsNumberFormatter = BaseConstants.tonNumberFormatter
|
||||
barsController.detailsNumberFormatter = BaseConstants.tonNumberFormatter
|
||||
barsController.verticalLimitsNumberFormatter = currency.formatter
|
||||
barsController.detailsNumberFormatter = currency.formatter
|
||||
}
|
||||
zoomedBarsController = BarsComponentController(isZoomed: true,
|
||||
mainBarsRenderer: BarChartRenderer(),
|
||||
|
||||
Reference in New Issue
Block a user