Files
firefly-iii/app/Generator/Chart/PiggyBank/ChartJsPiggyBankChartGenerator.php

57 lines
1.3 KiB
PHP
Raw Normal View History

2015-06-27 20:52:06 +02:00
<?php
2016-05-20 11:59:54 +02:00
/**
* ChartJsPiggyBankChartGenerator.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*/
2016-02-05 12:08:25 +01:00
declare(strict_types = 1);
2015-06-27 20:52:06 +02:00
namespace FireflyIII\Generator\Chart\PiggyBank;
use Carbon\Carbon;
use Illuminate\Support\Collection;
/**
* Class ChartJsPiggyBankChartGenerator
2015-06-27 20:52:06 +02:00
*
* @package FireflyIII\Generator\Chart\PiggyBank
*/
class ChartJsPiggyBankChartGenerator implements PiggyBankChartGeneratorInterface
2015-06-27 20:52:06 +02:00
{
/**
* @param Collection $set
*
* @return array
*/
2016-02-18 07:21:48 +01:00
public function history(Collection $set): array
2015-06-27 20:52:06 +02:00
{
// language:
$format = (string)trans('config.month_and_day');
2015-06-27 20:52:06 +02:00
$data = [
'count' => 1,
'labels' => [],
'datasets' => [
[
'label' => 'Diff',
2016-01-15 23:12:52 +01:00
'data' => [],
],
2015-06-27 20:52:06 +02:00
],
];
$sum = '0';
2016-05-01 07:09:58 +02:00
foreach ($set as $key => $value) {
$date = new Carbon($key);
$sum = bcadd($sum, $value);
2015-06-27 20:52:06 +02:00
$data['labels'][] = $date->formatLocalized($format);
$data['datasets'][0]['data'][] = round($sum, 2);
}
return $data;
}
2015-06-28 08:24:12 +02:00
}