You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
6.1 KiB
167 lines
6.1 KiB
//
|
|
// InfographyView.swift
|
|
// TournamentStats
|
|
//
|
|
// Created by Laurent Morvillier on 15/08/2019.
|
|
// Copyright © 2019 Stax River. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
|
|
class InfographyView: UIView {
|
|
|
|
var generator: ReportGenerator? {
|
|
didSet {
|
|
self._fillView()
|
|
}
|
|
}
|
|
|
|
@IBOutlet weak var infographyTitle: UILabel!
|
|
|
|
@IBOutlet weak var collectionView: UICollectionView!
|
|
|
|
@IBOutlet weak var hStack1a: UIStackView!
|
|
@IBOutlet weak var label11: UILabel!
|
|
@IBOutlet weak var label12: UILabel!
|
|
@IBOutlet weak var label13: UILabel!
|
|
|
|
@IBOutlet weak var hStack1b: UIStackView!
|
|
@IBOutlet weak var tableView11: TableView!
|
|
@IBOutlet weak var tableView12: TableView!
|
|
@IBOutlet weak var tableView13: TableView!
|
|
|
|
@IBOutlet weak var hStack2a: UIStackView!
|
|
@IBOutlet weak var label21: UILabel!
|
|
@IBOutlet weak var label22: UILabel!
|
|
@IBOutlet weak var label23: UILabel!
|
|
|
|
@IBOutlet weak var hStack2b: UIStackView!
|
|
@IBOutlet weak var container21: UIView!
|
|
@IBOutlet weak var container22: UIView!
|
|
@IBOutlet weak var container23: UIView!
|
|
|
|
@IBOutlet weak var hStack3a: UIStackView!
|
|
@IBOutlet weak var label31: UILabel!
|
|
@IBOutlet weak var label32: UILabel!
|
|
@IBOutlet weak var label33: UILabel!
|
|
|
|
@IBOutlet weak var hStack3b: UIStackView!
|
|
@IBOutlet weak var tableView31: TableView!
|
|
@IBOutlet weak var tableView32: TableView!
|
|
@IBOutlet weak var tableView33: TableView!
|
|
|
|
@IBOutlet weak var hStack4a: UIStackView!
|
|
@IBOutlet weak var label41: UILabel!
|
|
@IBOutlet weak var label42: UILabel!
|
|
|
|
@IBOutlet weak var hStack4b: UIStackView!
|
|
@IBOutlet weak var container41: UIView!
|
|
@IBOutlet weak var container42: UIView!
|
|
|
|
@IBOutlet weak var hStack5a: UIStackView!
|
|
@IBOutlet weak var label51: UILabel!
|
|
|
|
@IBOutlet weak var hStack5b: UIStackView!
|
|
@IBOutlet weak var collectionView51: UICollectionView!
|
|
|
|
override func awakeFromNib() {
|
|
super.awakeFromNib()
|
|
|
|
self._createBackground()
|
|
}
|
|
|
|
fileprivate func _createBackground() {
|
|
|
|
let gradient: CAGradientLayer = CAGradientLayer()
|
|
|
|
let startColor = UIColor(red: 23/255, green: 72/255, blue: 61/255, alpha: 1)
|
|
let endColor = UIColor(red: 47/255, green: 149/255, blue: 126/255, alpha: 1)
|
|
|
|
gradient.colors = [startColor.cgColor, endColor.cgColor]
|
|
gradient.locations = [0.2 , 1.0]
|
|
gradient.startPoint = CGPoint(x: 0.0, y: 0.0)
|
|
gradient.endPoint = CGPoint(x: 1.0, y: 1.0)
|
|
gradient.frame = self.bounds
|
|
|
|
self.layer.insertSublayer(gradient, at: 0)
|
|
|
|
}
|
|
|
|
fileprivate func _fillView() {
|
|
|
|
guard let generator = self.generator else {
|
|
return
|
|
}
|
|
|
|
self.infographyTitle.text = "2019 WSOP"
|
|
self.infographyTitle.textColor = UIColor.white
|
|
self.infographyTitle.font = Fonts.mainTitle
|
|
|
|
self.collectionView.register(UINib(nibName: "StatCollectionViewCell", bundle: Bundle.main), forCellWithReuseIdentifier: "Stat")
|
|
self.collectionView.delegate = generator.festivalStats
|
|
self.collectionView.dataSource = generator.festivalStats
|
|
|
|
/////
|
|
|
|
// self.label11.text = "Biggest Winners".uppercased()
|
|
self.label12.text = "Most Cashes".uppercased()
|
|
self.label13.text = "Best average cash (7+)".uppercased()
|
|
|
|
self.tableView11.setData(data: generator.biggestWinners)
|
|
self.tableView11.setHeader(header: "Biggest Winners")
|
|
self.tableView11.setFooter(footer: "* denotes a Main Event finalist")
|
|
self.tableView12.setData(data: generator.mostCashes, maxRows: 5)
|
|
self.tableView13.setData(data: generator.averageCash, maxRows: 5)
|
|
|
|
/////
|
|
|
|
self.label21.text = "Buy-in distribution".uppercased()
|
|
self.label22.text = "First prizes distribution".uppercased()
|
|
self.label23.text = "Prizepool distribution".uppercased()
|
|
|
|
let pieChartFrame = CGRect(x: 0, y: 0, width: 500, height: 500)
|
|
let buyinDistribPie = PieChart(frame: pieChartFrame)
|
|
buyinDistribPie.data = generator.tournamentBuyinDistribution.pieChartData
|
|
self.container21.addSubview(buyinDistribPie)
|
|
|
|
let firstPrizeDistributionPie = PieChart(frame: pieChartFrame)
|
|
firstPrizeDistributionPie.data = generator.firstPrizeDistribution.pieChartData
|
|
self.container22.addSubview(firstPrizeDistributionPie)
|
|
|
|
let prizepoolDistribPie = PieChart(frame: pieChartFrame)
|
|
prizepoolDistribPie.data = generator.tournamentPrizepoolDistribution.pieChartData
|
|
self.container23.addSubview(prizepoolDistribPie)
|
|
|
|
/////
|
|
|
|
// self.label31.text = "Events by prizepool".uppercased()
|
|
// self.label32.text = "Events by entries".uppercased()
|
|
|
|
self.tableView31.setHeader(header: "Events by prizepool".uppercased())
|
|
self.tableView31.setData(data: generator.tourniesByPrizepool, maxRows: 5)
|
|
self.tableView32.setHeader(header: "Events by entries".uppercased())
|
|
self.tableView32.setData(data: generator.tourniesByEntries, maxRows: 5)
|
|
|
|
/////
|
|
|
|
self.label41.text = "USA vs World bracelets".uppercased()
|
|
self.label42.text = "Hold'em vs not hold'em".uppercased()
|
|
|
|
let USABraceletsDistribPie = PieChart(frame: pieChartFrame)
|
|
USABraceletsDistribPie.data = generator.USAvsWorldWins.pieChartData
|
|
self.container41.addSubview(USABraceletsDistribPie)
|
|
|
|
let holdemDistributionPie = PieChart(frame: pieChartFrame)
|
|
holdemDistributionPie.data = generator.holdemTournamentsDistribution.pieChartData
|
|
self.container42.addSubview(holdemDistributionPie)
|
|
|
|
self.label51.text = "Average Event".uppercased()
|
|
let ds = generator.averageEvent.first
|
|
self.collectionView51.register(UINib(nibName: "StatCollectionViewCell", bundle: Bundle.main), forCellWithReuseIdentifier: "Stat")
|
|
self.collectionView51.dataSource = ds
|
|
self.collectionView51.delegate = ds
|
|
|
|
}
|
|
|
|
}
|
|
|