Data.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace ThurData\Servers\KerioEmail\Core\UI\Widget\Graphs\Models;
  3. /**
  4. * Description of ChartData
  5. *
  6. * @autor ThurData <info@thurdata.ch>
  7. */
  8. class Data
  9. {
  10. protected $labels = [];
  11. /**
  12. * @var DataSet[]
  13. */
  14. protected $datasets = [];
  15. public function __construct(array $labels = [], array $datasets = [])
  16. {
  17. $this->labels = $labels;
  18. $this->datasets = $datasets;
  19. }
  20. public function addLabel($label = '')
  21. {
  22. $this->labels[] = $label;
  23. return $this;
  24. }
  25. public function setLabels(array $labels = [])
  26. {
  27. $this->labels = $labels;
  28. return $this;
  29. }
  30. public function addDataSet(DataSet $dataset)
  31. {
  32. $this->datasets[] = $dataset;
  33. return $this;
  34. }
  35. public function setDataSets(array $dataSets = [])
  36. {
  37. $this->datasets = $dataSets;
  38. return $this;
  39. }
  40. public function toArray()
  41. {
  42. $return = [
  43. 'labels' => $this->labels,
  44. 'datasets' => []
  45. ];
  46. foreach ($this->datasets as $dataset)
  47. {
  48. $return['datasets'][] = $dataset->toArray();
  49. }
  50. return $return;
  51. }
  52. }