Commit 1b3596b2 authored by Kevin Yumang's avatar Kevin Yumang

SERV-2286 - refactor chart data maanger and series data objects

parent dfc18147
...@@ -3,23 +3,22 @@ namespace Ceetrox\Sidekick\Views\Limitless\Linechart\ChartManager; ...@@ -3,23 +3,22 @@ namespace Ceetrox\Sidekick\Views\Limitless\Linechart\ChartManager;
Class ChartDataManager { Class ChartDataManager {
private $categories; private array $categories;
private $series; private Series $series;
private $numberOfCharts; private ?int $numberOfCharts;
private $titles; private array $titles;
private $colors; private array $colors;
private $hasBoundaryGap; private ?bool $hasBoundaryGap;
private $isInverted; private ?bool $isInverted;
private $hasDataZoom; private ?bool $hasDataZoom;
private $animationDuration; private ?int $animationDuration;
private $yAxisLabelValueFormat; private ?string $yAxisLabelValueFormat;
private $rawData; private ?string $rawData;
// these attributes should also be available on seriesData object. private ?bool $showPointValues;
private $showPointValues; private ?bool $isStacked;
private $isStacked; private ?bool $isArea;
private $isArea; private ?bool $markLine;
private $markLine;
public function __construct() public function __construct()
{ {
...@@ -27,6 +26,7 @@ Class ChartDataManager { ...@@ -27,6 +26,7 @@ Class ChartDataManager {
$this->series = new Series(); $this->series = new Series();
$this->numberOfCharts = null; $this->numberOfCharts = null;
$this->colors = []; $this->colors = [];
$this->titles = [];
$this->hasBoundaryGap = null; $this->hasBoundaryGap = null;
$this->isInverted = null; $this->isInverted = null;
$this->hasDataZoom = null; $this->hasDataZoom = null;
...@@ -50,22 +50,12 @@ Class ChartDataManager { ...@@ -50,22 +50,12 @@ Class ChartDataManager {
return new SeriesData(); return new SeriesData();
} }
public function getSeries() : Series
{
return $this->series;
}
private function getCategories() : array
{
return $this->categories;
}
private function getNumberOfCharts() : int private function getNumberOfCharts() : int
{ {
return $this->series->numberOfCharts(); return $this->series->numberOfCharts();
} }
private function getTitles() private function getTitles() : array
{ {
return $this->titles; return $this->titles;
} }
...@@ -220,8 +210,8 @@ Class ChartDataManager { ...@@ -220,8 +210,8 @@ Class ChartDataManager {
public function addSeries(SeriesData $series) : ChartDataManager public function addSeries(SeriesData $series) : ChartDataManager
{ {
$this->getSeries()->push($series); $this->series->push($series);
$this->numberOfCharts = $this->getSeries()->numberOfCharts(); $this->numberOfCharts = $this->series->numberOfCharts();
return $this; return $this;
} }
...@@ -237,24 +227,24 @@ Class ChartDataManager { ...@@ -237,24 +227,24 @@ Class ChartDataManager {
if(!is_null($this->numberOfCharts)) $data['charts'] = $this->numberOfCharts; if(!is_null($this->numberOfCharts)) $data['charts'] = $this->numberOfCharts;
if(count($this->series) > 0) $data['series'] = $this->getSeries()->toArray(); if(count($this->series) > 0) $data['series'] = $this->series->toArray();
if(count($this->categories) > 0) $data['categories'] = $this->getCategories(); if(count($this->categories) > 0) $data['categories'] = $this->categories;
if(!is_null($this->titles)) $data['titles'] = $this->getTitles(); if(count($this->titles) > 0) $data['titles'] = $this->titles;
if(count($this->colors) > 0) $data['colors'] = $this->getColors(); if(count($this->colors) > 0) $data['colors'] = $this->colors;
if(!is_null($this->hasBoundaryGap)) $data['boundaryGap'] = $this->getHasBoundaryGap(); if(!is_null($this->hasBoundaryGap)) $data['boundaryGap'] = $this->hasBoundaryGap;
if(!is_null($this->isInverted)) $data['inverted'] = $this->getIsInverted(); if(!is_null($this->isInverted)) $data['inverted'] = $this->isInverted;
if(!is_null($this->hasDataZoom)) $data['dataZoom'] = $this->getHasDataZoom(); if(!is_null($this->hasDataZoom)) $data['dataZoom'] = $this->hasDataZoom;
if(!is_null($this->animationDuration)) $data['animationDuration'] = $this->getAnimationDuration(); if(!is_null($this->animationDuration)) $data['animationDuration'] = $this->animationDuration;
if(!is_null($this->yAxisLabelValueFormat)) $data['yAxisLabelValueFormat'] = $this->getYAxisLabelValueFormat(); if(!is_null($this->yAxisLabelValueFormat)) $data['yAxisLabelValueFormat'] = $this->yAxisLabelValueFormat;
if(!is_null($this->rawData)) $data['raw'] = json_encode(json_decode($this->getRawData())); if(!is_null($this->rawData)) $data['raw'] = json_encode(json_decode($this->rawData));
if(!is_null($this->showPointValues)) $data['pointValues'] = $this->getShowPointValues(); if(!is_null($this->showPointValues)) $data['pointValues'] = $this->showPointValues;
if(!is_null($this->isStacked)) $data['stacked'] = $this->getIsStacked(); if(!is_null($this->isStacked)) $data['stacked'] = $this->isStacked;
if(!is_null($this->isArea)) $data['isArea'] = $this->getIsArea(); if(!is_null($this->isArea)) $data['isArea'] = $this->isArea;
if(!is_null($this->markLine)) $data['markLine'] = $this->getMarkLine(); if(!is_null($this->markLine)) $data['markLine'] = $this->markLine;
return $data; return $data ?? [];
} }
} }
\ No newline at end of file
...@@ -3,14 +3,14 @@ namespace Ceetrox\Sidekick\Views\Limitless\Linechart\ChartManager; ...@@ -3,14 +3,14 @@ namespace Ceetrox\Sidekick\Views\Limitless\Linechart\ChartManager;
class SeriesData class SeriesData
{ {
private $name; private string $name;
private $categoryValues; private array $categoryValues;
private $index; private int $index;
private $type; private ?string $type;
private $stackName; private ?string $stackName;
private $showPointValues; private ?bool $showPointValues;
private $isArea; private ?bool $isArea;
private $markLine; private ?string $markLine;
public function __construct() public function __construct()
{ {
...@@ -125,11 +125,11 @@ class SeriesData ...@@ -125,11 +125,11 @@ class SeriesData
$data['data'] = $this->getCategoryValues(); $data['data'] = $this->getCategoryValues();
$data['index'] = $this->getIndex(); $data['index'] = $this->getIndex();
if(!is_null($this->type)) $data['type'] = $this->getType(); if(!is_null($this->type)) $data['type'] = $this->type;
if(!is_null($this->stackName)) $data['stacked'] = $this->getStackName(); if(!is_null($this->stackName)) $data['stacked'] = $this->stackName;
if(!is_null($this->showPointValues)) $data['pointValues'] = $this->getShowPointValues(); if(!is_null($this->showPointValues)) $data['pointValues'] = $this->showPointValues;
if(!is_null($this->markLine)) $data['markLine'] = $this->getMarkLine(); if(!is_null($this->markLine)) $data['markLine'] = $this->markLine;
if(!is_null($this->isArea)) $data['isArea'] = $this->getIsArea(); if(!is_null($this->isArea)) $data['isArea'] = $this->isArea;
return $data; return $data;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment