mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Chart fixes
This commit is contained in:
@@ -172,7 +172,7 @@ public class BaseChartController: ChartThemeContainer {
|
||||
|
||||
public var setDetailsViewPositionClosure: ((CGFloat) -> Void)?
|
||||
public var setDetailsChartVisibleClosure: ((Bool, Bool) -> Void)?
|
||||
public var setDetailsViewModel: ((ChartDetailsViewModel, Bool) -> Void)?
|
||||
public var setDetailsViewModel: ((ChartDetailsViewModel, Bool, Bool) -> Void)?
|
||||
public var getDetailsData: ((Date, @escaping (ChartsCollection?) -> Void) -> Void)?
|
||||
public var setChartTitleClosure: ((String, Bool) -> Void)?
|
||||
public var setBackButtonVisibilityClosure: ((Bool, Bool) -> Void)?
|
||||
|
||||
@@ -196,7 +196,7 @@ class GeneralChartComponentController: ChartThemeContainer {
|
||||
|
||||
var detailsVisible = false
|
||||
func showDetailsView(at chartPosition: CGFloat, detailsViewPosition: CGFloat, dataIndex: Int, date: Date, animted: Bool) {
|
||||
setDetailsViewModel?(chartDetailsViewModel(closestDate: date, pointIndex: dataIndex), animted)
|
||||
setDetailsViewModel?(chartDetailsViewModel(closestDate: date, pointIndex: dataIndex), animted, false)
|
||||
setDetailsChartVisibleClosure?(true, true)
|
||||
setDetailsViewPositionClosure?(detailsViewPosition)
|
||||
detailsVisible = true
|
||||
@@ -226,7 +226,7 @@ class GeneralChartComponentController: ChartThemeContainer {
|
||||
var setChartTitleClosure: ((String, Bool) -> Void)?
|
||||
var setDetailsViewPositionClosure: ((CGFloat) -> Void)?
|
||||
var setDetailsChartVisibleClosure: ((Bool, Bool) -> Void)?
|
||||
var setDetailsViewModel: ((ChartDetailsViewModel, Bool) -> Void)?
|
||||
var setDetailsViewModel: ((ChartDetailsViewModel, Bool, Bool) -> Void)?
|
||||
var chartRangePagingClosure: ((Bool, CGFloat) -> Void)? // isEnabled, PageSize
|
||||
|
||||
func apply(theme: ChartTheme, animated: Bool) {
|
||||
|
||||
@@ -134,7 +134,7 @@ public class BaseLinesChartController: BaseChartController {
|
||||
public override func didTapZoomIn(date: Date, pointIndex: Int) {
|
||||
guard isZoomed == false else { return }
|
||||
|
||||
setDetailsViewModel?(chartDetailsViewModel(closestDate: date, pointIndex: pointIndex, loading: true), false)
|
||||
setDetailsViewModel?(chartDetailsViewModel(closestDate: date, pointIndex: pointIndex, loading: true), false, false)
|
||||
|
||||
self.getDetailsData?(date, { updatedCollection in
|
||||
if let updatedCollection = updatedCollection {
|
||||
|
||||
@@ -147,7 +147,7 @@ public class GeneralLinesChartController: BaseLinesChartController {
|
||||
|
||||
let chartValue: CGFloat = CGFloat(closestDate.timeIntervalSince1970)
|
||||
let detailsViewPosition = (chartValue - horizontalRange.lowerBound) / horizontalRange.distance * chartFrame.width + chartFrame.minX
|
||||
self.setDetailsViewModel?(chartDetailsViewModel(closestDate: closestDate, pointIndex: minIndex, loading: false), chartInteractionWasBegin)
|
||||
self.setDetailsViewModel?(chartDetailsViewModel(closestDate: closestDate, pointIndex: minIndex, loading: false), chartInteractionWasBegin, !chartInteractionWasBegin)
|
||||
self.setDetailsChartVisibleClosure?(true, true)
|
||||
self.setDetailsViewPositionClosure?(detailsViewPosition)
|
||||
self.verticalLineRenderer.values = [chartValue]
|
||||
|
||||
@@ -176,7 +176,7 @@ public class TwoAxisLinesChartController: BaseLinesChartController {
|
||||
|
||||
let chartValue: CGFloat = CGFloat(closestDate.timeIntervalSince1970)
|
||||
let detailsViewPosition = (chartValue - horizontalRange.lowerBound) / horizontalRange.distance * chartFrame.width + chartFrame.minX
|
||||
self.setDetailsViewModel?(chartDetailsViewModel(closestDate: closestDate, pointIndex: minIndex, loading: false), chartInteractionWasBegin)
|
||||
self.setDetailsViewModel?(chartDetailsViewModel(closestDate: closestDate, pointIndex: minIndex, loading: false), chartInteractionWasBegin, !chartInteractionWasBegin)
|
||||
self.setDetailsChartVisibleClosure?(true, true)
|
||||
self.setDetailsViewPositionClosure?(detailsViewPosition)
|
||||
self.verticalLineRenderer.values = [chartValue]
|
||||
|
||||
@@ -59,8 +59,8 @@ public class PercentPieChartController: BaseChartController {
|
||||
controller.setDetailsChartVisibleClosure = { [unowned self] (visible, animated) in
|
||||
self.setDetailsChartVisibleClosure?(visible, animated)
|
||||
}
|
||||
controller.setDetailsViewModel = { [unowned self] (viewModel, animated) in
|
||||
self.setDetailsViewModel?(viewModel, animated)
|
||||
controller.setDetailsViewModel = { [unowned self] (viewModel, animated, feedback) in
|
||||
self.setDetailsViewModel?(viewModel, animated, feedback)
|
||||
}
|
||||
controller.updatePreviewRangeClosure = { [unowned self] (fraction, animated) in
|
||||
self.chartRangeUpdatedClosure?(fraction, animated)
|
||||
|
||||
@@ -136,7 +136,7 @@ class PieChartComponentController: GeneralChartComponentController {
|
||||
func updateSelectedDataLabelIfNeeded() {
|
||||
if let segment = pieChartRenderer.selectedSegment {
|
||||
self.setDetailsChartVisibleClosure?(true, true)
|
||||
self.setDetailsViewModel?(chartDetailsViewModel(segmentInde: segment), false)
|
||||
self.setDetailsViewModel?(chartDetailsViewModel(segmentInde: segment), false, false)
|
||||
self.setDetailsViewPositionClosure?(chartFrame().width / 4)
|
||||
} else {
|
||||
self.setDetailsChartVisibleClosure?(false, true)
|
||||
|
||||
@@ -193,7 +193,7 @@ class BarsComponentController: GeneralChartComponentController {
|
||||
color: .white,
|
||||
visible: visibleChartValues.count > 1)
|
||||
} else {
|
||||
viewModel.title = ""
|
||||
viewModel.title = "\(Int(closestDate.timeIntervalSince1970)):00"
|
||||
}
|
||||
return viewModel
|
||||
}
|
||||
|
||||
@@ -51,8 +51,8 @@ public class DailyBarsChartController: BaseChartController {
|
||||
controller.setDetailsChartVisibleClosure = { [unowned self] (visible, animated) in
|
||||
self.setDetailsChartVisibleClosure?(visible, animated)
|
||||
}
|
||||
controller.setDetailsViewModel = { [unowned self] (viewModel, animated) in
|
||||
self.setDetailsViewModel?(viewModel, animated)
|
||||
controller.setDetailsViewModel = { [unowned self] (viewModel, animated, feedback) in
|
||||
self.setDetailsViewModel?(viewModel, animated, feedback)
|
||||
}
|
||||
controller.updatePreviewRangeClosure = { [unowned self] (fraction, animated) in
|
||||
self.chartRangeUpdatedClosure?(fraction, animated)
|
||||
|
||||
@@ -54,8 +54,8 @@ public class StackedBarsChartController: BaseChartController {
|
||||
controller.setDetailsChartVisibleClosure = { [unowned self] (visible, animated) in
|
||||
self.setDetailsChartVisibleClosure?(visible, animated)
|
||||
}
|
||||
controller.setDetailsViewModel = { [unowned self] (viewModel, animated) in
|
||||
self.setDetailsViewModel?(viewModel, animated)
|
||||
controller.setDetailsViewModel = { [unowned self] (viewModel, animated, feedback) in
|
||||
self.setDetailsViewModel?(viewModel, animated, feedback)
|
||||
}
|
||||
controller.updatePreviewRangeClosure = { [unowned self] (fraction, animated) in
|
||||
self.chartRangeUpdatedClosure?(fraction, animated)
|
||||
|
||||
@@ -54,8 +54,8 @@ public class StepBarsChartController: BaseChartController {
|
||||
controller.setDetailsChartVisibleClosure = { [unowned self] (visible, animated) in
|
||||
self.setDetailsChartVisibleClosure?(visible, animated)
|
||||
}
|
||||
controller.setDetailsViewModel = { [unowned self] (viewModel, animated) in
|
||||
self.setDetailsViewModel?(viewModel, animated)
|
||||
controller.setDetailsViewModel = { [unowned self] (viewModel, animated, feedback) in
|
||||
self.setDetailsViewModel?(viewModel, animated, feedback)
|
||||
}
|
||||
controller.updatePreviewRangeClosure = { [unowned self] (fraction, animated) in
|
||||
self.chartRangeUpdatedClosure?(fraction, animated)
|
||||
|
||||
@@ -193,7 +193,7 @@ public class TwoAxisStepBarsChartController: BaseLinesChartController {
|
||||
|
||||
let chartValue: CGFloat = CGFloat(closestDate.timeIntervalSince1970)
|
||||
let detailsViewPosition = (chartValue - horizontalRange.lowerBound) / horizontalRange.distance * chartFrame.width + chartFrame.minX + barOffset
|
||||
self.setDetailsViewModel?(chartDetailsViewModel(closestDate: closestDate, pointIndex: minIndex, loading: false), chartInteractionWasBegin)
|
||||
self.setDetailsViewModel?(chartDetailsViewModel(closestDate: closestDate, pointIndex: minIndex, loading: false), chartInteractionWasBegin, !chartInteractionWasBegin)
|
||||
self.setDetailsChartVisibleClosure?(true, true)
|
||||
self.setDetailsViewPositionClosure?(detailsViewPosition)
|
||||
self.verticalLineRenderer.values = [chartValue]
|
||||
|
||||
Reference in New Issue
Block a user