![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/dceprojects.corals.io/vendor/consoletvs/charts/src/Classes/Echarts/ |
<?php namespace ConsoleTVs\Charts\Classes\Echarts; use ConsoleTVs\Charts\Classes\DatasetClass; use ConsoleTVs\Charts\Features\Echarts\Dataset as DatasetFeatures; use Illuminate\Support\Collection; class Dataset extends DatasetClass { use DatasetFeatures; /** * Store the private datasets that contains a special formating. * * @var array */ public $specialDatasets = ['pie']; /** * Creates a new dataset with the given values. * * @param string $name * @param string $type * @param array $values */ public function __construct(string $name, string $type, array $values) { parent::__construct($name, $type, $values); } /** * Formats the dataset for chartjs. * * @return array */ public function format(array $labels = []) { return array_merge($this->options, [ 'data' => $this->getValues($labels), 'name' => $this->name, 'type' => strtolower($this->type), ]); } /** * Get the formated values. * * @param array $labels * * @return array */ protected function getValues(array $labels) { if (in_array(strtolower($this->type), $this->specialDatasets)) { return Collection::make($this->values) ->map(function ($value, $key) use ($labels) { return [ 'name' => $labels[$key], 'value' => $value, ]; })->toArray(); } return $this->values; } }