Added ability to specify custom json config to charts
This commit is contained in:
@@ -18,6 +18,7 @@ class BaseChartModel
|
||||
use HasSparkline;
|
||||
use HasGrid;
|
||||
use HasColors;
|
||||
use HasJsonConfig;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@@ -30,6 +31,7 @@ class BaseChartModel
|
||||
$this->initSparkline();
|
||||
$this->initGrid();
|
||||
$this->initColors();
|
||||
$this->initJsonConfig();
|
||||
}
|
||||
|
||||
public function reactiveKey()
|
||||
@@ -48,7 +50,8 @@ class BaseChartModel
|
||||
$this->dataLabelsToArray(),
|
||||
$this->sparklineToArray(),
|
||||
$this->gridToArray(),
|
||||
$this->colorsToArray()
|
||||
$this->colorsToArray(),
|
||||
$this->jsonConfigToArray()
|
||||
);
|
||||
}
|
||||
|
||||
@@ -63,5 +66,6 @@ class BaseChartModel
|
||||
$this->sparklineFromArray($array);
|
||||
$this->gridFromArray($array);
|
||||
$this->colorsFromArray($array);
|
||||
$this->jsonConfigFromArray($array);
|
||||
}
|
||||
}
|
||||
|
||||
39
src/Models/HasJsonConfig.php
Normal file
39
src/Models/HasJsonConfig.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Asantibanez\LivewireCharts\Models;
|
||||
|
||||
|
||||
trait HasJsonConfig
|
||||
{
|
||||
private $jsonConfig;
|
||||
|
||||
public function setJsonConfig($jsonConfig)
|
||||
{
|
||||
$this->jsonConfig = $jsonConfig;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
protected function initJsonConfig()
|
||||
{
|
||||
$this->jsonConfig = [];
|
||||
}
|
||||
|
||||
private function defaultJsonConfig()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
protected function jsonConfigFromArray($array)
|
||||
{
|
||||
$this->jsonConfig = data_get($array, 'jsonConfig', $this->defaultJsonConfig());
|
||||
}
|
||||
|
||||
protected function jsonConfigToArray()
|
||||
{
|
||||
return [
|
||||
'jsonConfig' => $this->jsonConfig,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user