Added support for multi-column stacked charts

This commit is contained in:
Andrés Santibáñez
2020-11-07 19:40:23 -05:00
parent e11c5ca375
commit a002d2f041
2 changed files with 17 additions and 0 deletions

View File

@@ -16,6 +16,7 @@
this.chart.destroy()
}
const stacked = component.get('columnChartModel.isStacked');
const animated = component.get('columnChartModel.animated');
const onColumnClickEventName = component.get('columnChartModel.onColumnClickEventName')
const dataLabels = component.get('columnChartModel.dataLabels');
@@ -38,6 +39,7 @@
chart: {
type: 'bar',
height: '100%',
stacked: stacked,
toolbar: { show: false },

View File

@@ -7,6 +7,7 @@ namespace Asantibanez\LivewireCharts\Models;
* Class ColumnChartModel
* @package Asantibanez\LivewireCharts\Models
* @property boolean $isMultiColumn
* @property boolean $isStacked
*/
class ColumnChartModel extends BaseChartModel
{
@@ -14,6 +15,8 @@ class ColumnChartModel extends BaseChartModel
public $isMultiColumn;
public $isStacked;
public $onColumnClickEventName;
public $data;
@@ -28,6 +31,8 @@ class ColumnChartModel extends BaseChartModel
$this->isMultiColumn = false;
$this->isStacked = false;
$this->data = collect();
}
@@ -45,6 +50,13 @@ class ColumnChartModel extends BaseChartModel
return $this;
}
public function stacked()
{
$this->isStacked = true;
return $this;
}
public function setOpacity($opacity)
{
$this->opacity = $opacity;
@@ -93,6 +105,7 @@ class ColumnChartModel extends BaseChartModel
'onColumnClickEventName' => $this->onColumnClickEventName,
'opacity' => $this->opacity,
'isMultiColumn' => $this->isMultiColumn,
'isStacked' => $this->isStacked,
'data' => $this->data->toArray(),
]);
}
@@ -107,6 +120,8 @@ class ColumnChartModel extends BaseChartModel
$this->isMultiColumn = data_get($array, 'isMultiColumn', false);
$this->isStacked = data_get($array, 'isStacked', false);
$this->data = collect(data_get($array, 'data', []));
}
}