From aa767fa79de3ad7e8856c7fe17df7d7d335bbaab Mon Sep 17 00:00:00 2001 From: andileco <daniel@andile.co> Date: Mon, 22 May 2017 09:36:11 -0400 Subject: [PATCH] Incorporate 2879594 and add menu link to Charts API Example display on Config page. --- charts.install | 1 + .../charts_api_example.links.menu.yml | 5 +++ .../charts_c3/src/Charts/C3ChartsRender.php | 31 +++++++++++-------- .../src/Settings/CThree/ChartData.php | 4 +++ 4 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 modules/charts_api_example/charts_api_example.links.menu.yml diff --git a/charts.install b/charts.install index ed6529d..bd42a90 100644 --- a/charts.install +++ b/charts.install @@ -1,4 +1,5 @@ <?php + /** * @file * Install and update functions for the Charts module. diff --git a/modules/charts_api_example/charts_api_example.links.menu.yml b/modules/charts_api_example/charts_api_example.links.menu.yml new file mode 100644 index 0000000..0caceee --- /dev/null +++ b/modules/charts_api_example/charts_api_example.links.menu.yml @@ -0,0 +1,5 @@ +charts_api_example.display: + title: 'Charts API example' + description: 'Displays a chart rendered using the API.' + parent: system.admin_config_content + route_name: charts_api_example.display diff --git a/modules/charts_c3/src/Charts/C3ChartsRender.php b/modules/charts_c3/src/Charts/C3ChartsRender.php index c89cd31..9a40154 100644 --- a/modules/charts_c3/src/Charts/C3ChartsRender.php +++ b/modules/charts_c3/src/Charts/C3ChartsRender.php @@ -74,22 +74,27 @@ class C3ChartsRender implements ChartsRenderInterface { array_unshift($categories, 'x'); array_push($c3Data, $categories); $chartData->setColumns($c3Data); - } else { - if ($options['type'] == 'column') { - $chartData->setType('bar'); - $chartAxis->setRotated(FALSE); - array_unshift($categories, 'x'); - array_push($c3Data, $categories); - $chartData->setColumns($c3Data); - } else { - array_unshift($categories, 'x'); - array_push($c3Data, $categories); - $chartData->setColumns($c3Data); - } + } + else if ($options['type'] == 'column') { + $chartData->setType('bar'); + $chartAxis->setRotated(FALSE); + array_unshift($categories, 'x'); + array_push($c3Data, $categories); + $chartData->setColumns($c3Data); + } + else if ($options['type'] == 'pie') { + $chartData->setColumns($c3Data); + } + else { + array_unshift($categories, 'x'); + array_push($c3Data, $categories); + $chartData->setColumns($c3Data); } $chartData->types = $types; - $c3->setAxis($chartAxis); + if ($options['type'] != 'pie') { + $c3->setAxis($chartAxis); + } $chartColor = new ChartColor(); $seriesColors = []; diff --git a/modules/charts_c3/src/Settings/CThree/ChartData.php b/modules/charts_c3/src/Settings/CThree/ChartData.php index 017c050..0870037 100644 --- a/modules/charts_c3/src/Settings/CThree/ChartData.php +++ b/modules/charts_c3/src/Settings/CThree/ChartData.php @@ -70,6 +70,10 @@ class ChartData implements \JsonSerializable { public function jsonSerialize() { $vars = get_object_vars($this); + if ($vars['type'] == 'pie') { + unset($vars['x']); + } + return $vars; } -- GitLab