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 {
$this->markLine = null;
}
public static function getSeriesDataInstance(): ISeriesData
{
return new SeriesData();
}
public function setTitle(string $value)
{
......
......@@ -4,5 +4,4 @@ namespace Ceetrox\Managers\ChartManager;
interface ISeriesData
{
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
private int $index;
private ?string $type;
private ?string $stackName;
private ?bool $showPointValues;
private ?bool $isArea;
private ?string $markLine;
public function __construct()
......@@ -18,8 +16,6 @@ class SeriesData implements ISeriesData
$this->index = 0;
$this->type = null;
$this->stackName = null;
$this->showPointValues = null;
$this->isArea = null;
$this->markLine = null;
}
......@@ -57,22 +53,12 @@ class SeriesData implements ISeriesData
$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
public function getParentData(): array
{
$data = [];
......@@ -82,9 +68,7 @@ class SeriesData implements ISeriesData
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;
}
......
......@@ -2,6 +2,7 @@
namespace Ceetrox\Sidekick\Views\Limitless\Barchart\Attachments;
use Ceetrox\Managers\ChartManager\ChartDataManager;
use Ceetrox\Managers\ChartManager\ISeriesData;
Class BarChartData extends ChartDataManager {
......@@ -21,6 +22,11 @@ Class BarChartData extends ChartDataManager {
return new self;
}
public static function getSeriesDataInstance(): ISeriesData
{
return new BarSeriesData();
}
public function setIsHorizontal(bool $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 @@
namespace Ceetrox\Sidekick\Views\Limitless\Linechart\Attachments;
use Ceetrox\Managers\ChartManager\ChartDataManager;
use Ceetrox\Managers\ChartManager\ISeriesData;
Class LineChartData extends ChartDataManager {
......@@ -31,6 +32,11 @@ Class LineChartData extends ChartDataManager {
return new self;
}
public static function getSeriesDataInstance(): ISeriesData
{
return new LineSeriesData();
}
public function setTitle($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;
use Ceetrox\Managers\ChartManager\ChartDataManager;
use Ceetrox\Managers\ChartManager\ISeriesData;
use Ceetrox\Managers\ChartManager\PieSeriesData;
Class PieChartData extends ChartDataManager {
......
<?php
namespace Ceetrox\Managers\ChartManager;
namespace Ceetrox\Sidekick\Views\Limitless\Piechart\Attachments;
use Ceetrox\Managers\ChartManager\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