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;
Class ChartDataManager {
private $categories;
private $series;
private $numberOfCharts;
private $titles;
private $colors;
private $hasBoundaryGap;
private $isInverted;
private $hasDataZoom;
private $animationDuration;
private $yAxisLabelValueFormat;
private $rawData;
// these attributes should also be available on seriesData object.
private $showPointValues;
private $isStacked;
private $isArea;
private $markLine;
private array $categories;
private Series $series;
private ?int $numberOfCharts;
private array $titles;
private array $colors;
private ?bool $hasBoundaryGap;
private ?bool $isInverted;
private ?bool $hasDataZoom;
private ?int $animationDuration;
private ?string $yAxisLabelValueFormat;
private ?string $rawData;
private ?bool $showPointValues;
private ?bool $isStacked;
private ?bool $isArea;
private ?bool $markLine;
public function __construct()
{
......@@ -27,6 +26,7 @@ Class ChartDataManager {
$this->series = new Series();
$this->numberOfCharts = null;
$this->colors = [];
$this->titles = [];
$this->hasBoundaryGap = null;
$this->isInverted = null;
$this->hasDataZoom = null;
......@@ -50,22 +50,12 @@ Class ChartDataManager {
return new SeriesData();
}
public function getSeries() : Series
{
return $this->series;
}
private function getCategories() : array
{
return $this->categories;
}
private function getNumberOfCharts() : int
{
return $this->series->numberOfCharts();
}
private function getTitles()
private function getTitles() : array
{
return $this->titles;
}
......@@ -220,8 +210,8 @@ Class ChartDataManager {
public function addSeries(SeriesData $series) : ChartDataManager
{
$this->getSeries()->push($series);
$this->numberOfCharts = $this->getSeries()->numberOfCharts();
$this->series->push($series);
$this->numberOfCharts = $this->series->numberOfCharts();
return $this;
}
......@@ -237,24 +227,24 @@ Class ChartDataManager {
if(!is_null($this->numberOfCharts)) $data['charts'] = $this->numberOfCharts;
if(count($this->series) > 0) $data['series'] = $this->getSeries()->toArray();
if(count($this->categories) > 0) $data['categories'] = $this->getCategories();
if(!is_null($this->titles)) $data['titles'] = $this->getTitles();
if(count($this->colors) > 0) $data['colors'] = $this->getColors();
if(count($this->series) > 0) $data['series'] = $this->series->toArray();
if(count($this->categories) > 0) $data['categories'] = $this->categories;
if(count($this->titles) > 0) $data['titles'] = $this->titles;
if(count($this->colors) > 0) $data['colors'] = $this->colors;
if(!is_null($this->hasBoundaryGap)) $data['boundaryGap'] = $this->getHasBoundaryGap();
if(!is_null($this->isInverted)) $data['inverted'] = $this->getIsInverted();
if(!is_null($this->hasDataZoom)) $data['dataZoom'] = $this->getHasDataZoom();
if(!is_null($this->animationDuration)) $data['animationDuration'] = $this->getAnimationDuration();
if(!is_null($this->yAxisLabelValueFormat)) $data['yAxisLabelValueFormat'] = $this->getYAxisLabelValueFormat();
if(!is_null($this->rawData)) $data['raw'] = json_encode(json_decode($this->getRawData()));
if(!is_null($this->hasBoundaryGap)) $data['boundaryGap'] = $this->hasBoundaryGap;
if(!is_null($this->isInverted)) $data['inverted'] = $this->isInverted;
if(!is_null($this->hasDataZoom)) $data['dataZoom'] = $this->hasDataZoom;
if(!is_null($this->animationDuration)) $data['animationDuration'] = $this->animationDuration;
if(!is_null($this->yAxisLabelValueFormat)) $data['yAxisLabelValueFormat'] = $this->yAxisLabelValueFormat;
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->isStacked)) $data['stacked'] = $this->getIsStacked();
if(!is_null($this->isArea)) $data['isArea'] = $this->getIsArea();
if(!is_null($this->markLine)) $data['markLine'] = $this->getMarkLine();
if(!is_null($this->showPointValues)) $data['pointValues'] = $this->showPointValues;
if(!is_null($this->isStacked)) $data['stacked'] = $this->isStacked;
if(!is_null($this->isArea)) $data['isArea'] = $this->isArea;
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;
class SeriesData
{
private $name;
private $categoryValues;
private $index;
private $type;
private $stackName;
private $showPointValues;
private $isArea;
private $markLine;
private string $name;
private array $categoryValues;
private int $index;
private ?string $type;
private ?string $stackName;
private ?bool $showPointValues;
private ?bool $isArea;
private ?string $markLine;
public function __construct()
{
......@@ -125,11 +125,11 @@ class SeriesData
$data['data'] = $this->getCategoryValues();
$data['index'] = $this->getIndex();
if(!is_null($this->type)) $data['type'] = $this->getType();
if(!is_null($this->stackName)) $data['stacked'] = $this->getStackName();
if(!is_null($this->showPointValues)) $data['pointValues'] = $this->getShowPointValues();
if(!is_null($this->markLine)) $data['markLine'] = $this->getMarkLine();
if(!is_null($this->isArea)) $data['isArea'] = $this->getIsArea();
if(!is_null($this->type)) $data['type'] = $this->type;
if(!is_null($this->stackName)) $data['stacked'] = $this->stackName;
if(!is_null($this->showPointValues)) $data['pointValues'] = $this->showPointValues;
if(!is_null($this->markLine)) $data['markLine'] = $this->markLine;
if(!is_null($this->isArea)) $data['isArea'] = $this->isArea;
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