Implemented some more charts.

This commit is contained in:
James Cole
2015-06-27 20:39:50 +02:00
parent 48624d0a34
commit f137a08493
14 changed files with 887 additions and 39 deletions

View File

@@ -2,7 +2,9 @@
namespace FireflyIII\Generator\Chart\Category;
use Config;
use Illuminate\Support\Collection;
use Preferences;
/**
@@ -20,6 +22,27 @@ class ChartJsCategoryChartGenerator implements CategoryChartGenerator
*/
public function all(Collection $entries)
{
// language:
$language = Preferences::get('language', 'en')->data;
$format = Config::get('firefly.month.' . $language);
$data = [
'count' => 1,
'labels' => [],
'datasets' => [
[
'label' => 'Spent',
'data' => []
]
],
];
foreach ($entries as $entry) {
$data['labels'][] = $entry[0]->formatLocalized($format);
$data['datasets'][0]['data'][] = round($entry[1], 2);
}
return $data;
}
/**
@@ -42,7 +65,7 @@ class ChartJsCategoryChartGenerator implements CategoryChartGenerator
foreach ($entries as $entry) {
if ($entry['sum'] != 0) {
$data['labels'][] = $entry['name'];
$data['datasets'][0]['data'][] = round($entry['sum'],2);
$data['datasets'][0]['data'][] = round($entry['sum'], 2);
}
}
@@ -56,6 +79,8 @@ class ChartJsCategoryChartGenerator implements CategoryChartGenerator
*/
public function month(Collection $entries)
{
return $this->all($entries);
}
/**
@@ -66,5 +91,29 @@ class ChartJsCategoryChartGenerator implements CategoryChartGenerator
*/
public function year(Collection $categories, Collection $entries)
{
// language:
$language = Preferences::get('language', 'en')->data;
$format = Config::get('firefly.month.' . $language);
$data = [
'count' => 0,
'labels' => [],
'datasets' => [],
];
foreach ($categories as $category) {
$data['labels'][] = $category->name;
}
foreach ($entries as $entry) {
$date = $entry[0]->formatLocalized($format);
array_shift($entry);
$data['count']++;
$data['datasets'][] = ['label' => $date, 'data' => $entry];
}
return $data;
}
}