Commit 87c777df authored by Kevin Yumang's avatar Kevin Yumang

SERV-2286 - refactor structure of chart data manager objects

parent e0962a92
...@@ -30,10 +30,6 @@ Class ChartDataManager { ...@@ -30,10 +30,6 @@ Class ChartDataManager {
$this->markLine = null; $this->markLine = null;
} }
public static function getSeriesDataInstance(): ISeriesData
{
return new SeriesData();
}
public function setTitle(string $value) public function setTitle(string $value)
{ {
......
...@@ -4,5 +4,4 @@ namespace Ceetrox\Managers\ChartManager; ...@@ -4,5 +4,4 @@ namespace Ceetrox\Managers\ChartManager;
interface ISeriesData interface ISeriesData
{ {
public function getIndex(): int; public function getIndex(): int;
public function toArray(): array;
} }
<?php
namespace Ceetrox\Managers\ChartManager;
class LineSeriesData implements ISeriesData
{
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()
{
$this->categoryValues = [];
$this->index = 0;
$this->type = null;
$this->stackName = null;
$this->showPointValues = null;
$this->isArea = null;
$this->markLine = null;
}
public function getIndex() : int
{
return $this->index;
}
public function setName(string $name)
{
$this->name = $name;
}
public function setCategoryValues($values)
{
if(is_array($values)) {
$this->categoryValues = array_merge($this->categoryValues, $values);
} else {
$this->categoryValues[] = $values;
}
}
public function setIndex(int $index)
{
$this->index = $index;
}
public function setType(string $value)
{
$this->type = $value;
}
public function setStackName(string $value)
{
$this->stackName = $value;
}
public function setShowPointValues(bool $value)
{
$this->showPointValues = $value;
}
public function setIsArea(bool $value)
{
$this->isArea = $value;
}
public function setMarkLine(string $value)
{
$this->markLine = $value;
}
public function toArray(): array
{
$data = [];
$data['name'] = $this->name;
$data['data'] = $this->categoryValues;
$data['index'] = $this->index;
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;
}
}
...@@ -8,8 +8,6 @@ class SeriesData implements ISeriesData ...@@ -8,8 +8,6 @@ class SeriesData implements ISeriesData
private int $index; private int $index;
private ?string $type; private ?string $type;
private ?string $stackName; private ?string $stackName;
private ?bool $showPointValues;
private ?bool $isArea;
private ?string $markLine; private ?string $markLine;
public function __construct() public function __construct()
...@@ -18,8 +16,6 @@ class SeriesData implements ISeriesData ...@@ -18,8 +16,6 @@ class SeriesData implements ISeriesData
$this->index = 0; $this->index = 0;
$this->type = null; $this->type = null;
$this->stackName = null; $this->stackName = null;
$this->showPointValues = null;
$this->isArea = null;
$this->markLine = null; $this->markLine = null;
} }
...@@ -57,22 +53,12 @@ class SeriesData implements ISeriesData ...@@ -57,22 +53,12 @@ class SeriesData implements ISeriesData
$this->stackName = $value; $this->stackName = $value;
} }
public function setShowPointValues(bool $value)
{
$this->showPointValues = $value;
}
public function setIsArea(bool $value)
{
$this->isArea = $value;
}
public function setMarkLine(string $value) public function setMarkLine(string $value)
{ {
$this->markLine = $value; $this->markLine = $value;
} }
public function toArray(): array public function getParentData(): array
{ {
$data = []; $data = [];
...@@ -82,9 +68,7 @@ class SeriesData implements ISeriesData ...@@ -82,9 +68,7 @@ class SeriesData implements ISeriesData
if(!is_null($this->type)) $data['type'] = $this->type; if(!is_null($this->type)) $data['type'] = $this->type;
if(!is_null($this->stackName)) $data['stacked'] = $this->stackName; 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->markLine)) $data['markLine'] = $this->markLine;
if(!is_null($this->isArea)) $data['isArea'] = $this->isArea;
return $data; return $data;
} }
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace Ceetrox\Sidekick\Views\Limitless\Barchart\Attachments; namespace Ceetrox\Sidekick\Views\Limitless\Barchart\Attachments;
use Ceetrox\Managers\ChartManager\ChartDataManager; use Ceetrox\Managers\ChartManager\ChartDataManager;
use Ceetrox\Managers\ChartManager\ISeriesData;
Class BarChartData extends ChartDataManager { Class BarChartData extends ChartDataManager {
...@@ -21,6 +22,11 @@ Class BarChartData extends ChartDataManager { ...@@ -21,6 +22,11 @@ Class BarChartData extends ChartDataManager {
return new self; return new self;
} }
public static function getSeriesDataInstance(): ISeriesData
{
return new BarSeriesData();
}
public function setIsHorizontal(bool $value) public function setIsHorizontal(bool $value)
{ {
$this->isHorizontal = $value; $this->isHorizontal = $value;
......
<?php
namespace Ceetrox\Sidekick\Views\Limitless\Barchart\Attachments;
use Ceetrox\Managers\ChartManager\ISeriesData;
use Ceetrox\Managers\ChartManager\SeriesData;
class BarSeriesData extends SeriesData implements ISeriesData
{
private ?bool $showBarValues;
public function __construct()
{
parent::__construct();
$this->showBarValues = null;
}
public function setShowBarValues(bool $value)
{
$this->showBarValues = $value;
}
public function toArray(): array
{
$data = [];
if(!is_null($this->showBarValues)) $data['showBarValues'] = $this->showBarValues;
$data = array_merge($data, $this->getParentData());
return $data;
}
}
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace Ceetrox\Sidekick\Views\Limitless\Linechart\Attachments; namespace Ceetrox\Sidekick\Views\Limitless\Linechart\Attachments;
use Ceetrox\Managers\ChartManager\ChartDataManager; use Ceetrox\Managers\ChartManager\ChartDataManager;
use Ceetrox\Managers\ChartManager\ISeriesData;
Class LineChartData extends ChartDataManager { Class LineChartData extends ChartDataManager {
...@@ -31,6 +32,11 @@ Class LineChartData extends ChartDataManager { ...@@ -31,6 +32,11 @@ Class LineChartData extends ChartDataManager {
return new self; return new self;
} }
public static function getSeriesDataInstance(): ISeriesData
{
return new LineSeriesData();
}
public function setTitle($value) public function setTitle($value)
{ {
if(is_array($value)) { if(is_array($value)) {
......
<?php
namespace Ceetrox\Sidekick\Views\Limitless\Linechart\Attachments;
use Ceetrox\Managers\ChartManager\ISeriesData;
use Ceetrox\Managers\ChartManager\SeriesData;
class LineSeriesData extends SeriesData implements ISeriesData
{
private ?bool $showPointValues;
private ?bool $isArea;
public function __construct()
{
parent::__construct();
$this->showPointValues = null;
$this->isArea = null;
}
public function setShowPointValues(bool $value)
{
$this->showPointValues = $value;
}
public function setIsArea(bool $value)
{
$this->isArea = $value;
}
public function toArray(): array
{
$data = [];
if(!is_null($this->showPointValues)) $data['pointValues'] = $this->showPointValues;
if(!is_null($this->isArea)) $data['isArea'] = $this->isArea;
$data = array_merge($data, $this->getParentData());
return $data;
}
}
...@@ -3,7 +3,6 @@ namespace Ceetrox\Sidekick\Views\Limitless\Piechart\Attachments; ...@@ -3,7 +3,6 @@ namespace Ceetrox\Sidekick\Views\Limitless\Piechart\Attachments;
use Ceetrox\Managers\ChartManager\ChartDataManager; use Ceetrox\Managers\ChartManager\ChartDataManager;
use Ceetrox\Managers\ChartManager\ISeriesData; use Ceetrox\Managers\ChartManager\ISeriesData;
use Ceetrox\Managers\ChartManager\PieSeriesData;
Class PieChartData extends ChartDataManager { Class PieChartData extends ChartDataManager {
......
<?php <?php
namespace Ceetrox\Managers\ChartManager; namespace Ceetrox\Sidekick\Views\Limitless\Piechart\Attachments;
use Ceetrox\Managers\ChartManager\ISeriesData;
class PieSeriesData implements ISeriesData class PieSeriesData implements ISeriesData
{ {
......
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