akaunting 3.0 (the last dance)
This commit is contained in:
30
resources/views/components/reports/summary/chart.blade.php
Normal file
30
resources/views/components/reports/summary/chart.blade.php
Normal file
@ -0,0 +1,30 @@
|
||||
@php $charts = $class->getCharts($table_key); @endphp
|
||||
|
||||
<div class="w-full lg:w-6/12 lg:ltr:pl-24 lg:rtl:pr-24">
|
||||
<div class="relative mb-10" x-data="{ toggle: 'donut' }">
|
||||
<div class="flex border-b pb-2">
|
||||
<div class="w-full lg:w-11/12 text-xl text-left text-black-400">
|
||||
<h2 x-show="toggle === 'donut'">{{ trans('general.timeline') }}</h2>
|
||||
<h2 x-show="toggle === 'bar'">{{ trans('general.distribution') }}</h2>
|
||||
</div>
|
||||
|
||||
<div class="w-full lg:w-1/12 flex items-center justify-center text-right cursor-pointer hover:shadow-lg hover:translate-y-0 hover:rounded-md" x-on:click="toggle === 'bar' ? toggle = 'donut' : toggle = 'bar'">
|
||||
<span class="material-icons-outlined" x-bind:class="toggle === 'donut' ? 'block': 'hidden'" title="{{ trans('general.distribution') }}">donut_small</span>
|
||||
<span class="material-icons" x-bind:class="toggle === 'bar' ? 'block': 'hidden'" title="{{ trans('general.timeline') }}">signal_cellular_alt</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div x-show="toggle === 'donut'">
|
||||
{!! $charts['bar']->container() !!}
|
||||
</div>
|
||||
|
||||
<div x-show="toggle === 'bar'">
|
||||
{!! $charts['donut']->container() !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@push('body_scripts')
|
||||
{!! $charts['bar']->script() !!}
|
||||
{!! $charts['donut']->script() !!}
|
||||
@endpush
|
@ -0,0 +1,7 @@
|
||||
@php $grand_total = array_sum($class->footer_totals[$table_key]); @endphp
|
||||
|
||||
<div class="w-full lg:w-6/12">
|
||||
@include($class->views['summary.table.header'])
|
||||
@include($class->views['summary.table.body'])
|
||||
@include($class->views['summary.table.footer'])
|
||||
</div>
|
@ -0,0 +1,19 @@
|
||||
<div>
|
||||
<div class="flex items-center justify-between text-xl text-black-400 border-b pb-2">
|
||||
<h2>{{ $table_name }}</h2>
|
||||
<span>{{ $class->has_money ? money($grand_total, default_currency(), true) : $grand_total }}</span>
|
||||
</div>
|
||||
@if (!empty($class->row_values[$table_key]))
|
||||
<ul class="space-y-2 my-3">
|
||||
@foreach($class->row_tree_nodes[$table_key] as $id => $node)
|
||||
@include($class->views['summary.table.row'], ['tree_level' => 0])
|
||||
@endforeach
|
||||
</ul>
|
||||
@else
|
||||
<tr>
|
||||
<td colspan="{{ count($class->dates) + 2 }}">
|
||||
<div class="text-muted pl-0">{{ trans('general.no_records') }}</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
</div>
|
@ -0,0 +1,88 @@
|
||||
<!-- if it HAS NOT subcategories -->
|
||||
@if (is_null($node))
|
||||
@php
|
||||
$rows = $class->row_values[$table_key][$id];
|
||||
@endphp
|
||||
|
||||
@if ($row_total = array_sum($rows))
|
||||
@if (isset($parent_id))
|
||||
<li class="collapse-sub" data-collapse="child-{{ $parent_id }}">
|
||||
@else
|
||||
<li>
|
||||
@endif
|
||||
<div class="flex justify-between border-0 m-0 p-0">
|
||||
@if (isset($parent_id))
|
||||
<div class="flex items-center" style="padding-left: {{ $tree_level * 20 }}px;">
|
||||
@else
|
||||
<div class="flex items-center">
|
||||
@endif
|
||||
<span>{{ $class->row_names[$table_key][$id] }}</span>
|
||||
</div>
|
||||
<span>{{ $class->has_money ? money($row_total, default_currency(), true) : $row_total }}</span>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
@endif
|
||||
|
||||
<!-- if it HAS subcategories -->
|
||||
@if (is_array($node))
|
||||
<!-- parent part -->
|
||||
@php
|
||||
$parent_row_values = $class->row_values[$table_key][$id];
|
||||
|
||||
array_walk_recursive($node, function ($value, $key) use ($class, $table_key, $id, &$parent_row_values) {
|
||||
if ($key == $id) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach($class->row_values[$table_key][$key] as $date => $amount) {
|
||||
$parent_row_values[$date] += $amount;
|
||||
}
|
||||
});
|
||||
@endphp
|
||||
|
||||
@if ($row_total = array_sum($parent_row_values))
|
||||
@if (isset($parent_id))
|
||||
<li class="collapse-sub" data-collapse="child-{{ $parent_id }}">
|
||||
@else
|
||||
<li>
|
||||
@endif
|
||||
<div class="flex justify-between border-0 m-0 p-0">
|
||||
<div class="flex items-center" style="padding-left: {{ $tree_level * 20 }}px;">
|
||||
<span>{{ $class->row_names[$table_key][$id] }}</span>
|
||||
@if (array_sum($parent_row_values) != array_sum($class->row_values[$table_key][$id]))
|
||||
<button type="button" class="align-text-top" node="child-{{ $id }}" onClick="toggleSub('child-{{ $id }}', event)">
|
||||
<span class="material-icons transform transition-all rotate-90 text-lg leading-none">navigate_next</span>
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
<span>{{ $class->has_money ? money($row_total, setting('default.currency'), true) : $row_total }}</span>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<!-- no categories part -->
|
||||
@php $rows = $class->row_values[$table_key][$id]; @endphp
|
||||
@if (($row_total = array_sum($rows)) && array_sum($parent_row_values) != array_sum($rows))
|
||||
<li class="collapse-sub" data-collapse="child-{{ $id }}">
|
||||
<div class="flex justify-between border-0 m-0 p-0">
|
||||
<div class="flex items-center" style="padding-left: {{ ($tree_level + 1) * 20 }}px;">
|
||||
<span>{{ $class->row_names[$table_key][$id] }}</span>
|
||||
</div>
|
||||
<span>{{ $class->has_money ? money($row_total, setting('default.currency'), true) : $row_total }}</span>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<!-- subcategories part -->
|
||||
@php
|
||||
$parent_id = $id;
|
||||
$tree_level++;
|
||||
@endphp
|
||||
|
||||
@foreach($node as $id => $node)
|
||||
@if ($parent_id != $id)
|
||||
@include($class->views['summary.table.row'], ['parent_id' => $parent_id, 'tree_level' => $tree_level])
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
Reference in New Issue
Block a user