From a002d2f041220a9f7fb1c9d1343ff99a2a17d557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Santib=C3=A1=C3=B1ez?= Date: Sat, 7 Nov 2020 19:40:23 -0500 Subject: [PATCH] Added support for multi-column stacked charts --- .../views/livewire-multi-column-chart.blade.php | 2 ++ src/Models/ColumnChartModel.php | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/resources/views/livewire-multi-column-chart.blade.php b/resources/views/livewire-multi-column-chart.blade.php index 92cfa57..fd6c5ed 100644 --- a/resources/views/livewire-multi-column-chart.blade.php +++ b/resources/views/livewire-multi-column-chart.blade.php @@ -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 }, diff --git a/src/Models/ColumnChartModel.php b/src/Models/ColumnChartModel.php index 0802664..96ca19f 100644 --- a/src/Models/ColumnChartModel.php +++ b/src/Models/ColumnChartModel.php @@ -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', [])); } }