improve summary rows in reports (#2861)

This commit is contained in:
Kevin Papst
2021-10-16 13:38:08 +02:00
committed by GitHub
parent 8539938b8a
commit e2be5b401c
8 changed files with 95 additions and 69 deletions

View File

@@ -89,6 +89,15 @@ table.dataTable {
opacity: 0.8;
}
}
tfoot {
tr {
/* overwritten if used in tfoot, to switch the border from below to top */
&.summary td {
border-top: 1px solid #ccc;
border-bottom: 0;
}
}
}
}
table.table-hover {

View File

@@ -1,7 +1,6 @@
.dataTable {
.weekend {
background-color: #f9f9f9;
opacity: 0.6;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -6,7 +6,7 @@
"build/app.e22732af.js"
],
"css": [
"build/app.fdf3c5fb.css"
"build/app.c57cdec8.css"
]
},
"invoice": {

View File

@@ -1,5 +1,5 @@
{
"build/app.css": "build/app.fdf3c5fb.css",
"build/app.css": "build/app.c57cdec8.css",
"build/app.js": "build/app.e22732af.js",
"build/invoice.css": "build/invoice.ff32661a.css",
"build/invoice.js": "build/invoice.19f36eca.js",

View File

@@ -25,18 +25,21 @@
{% set totals = {'totals': 0} %}
{% set columns = 2 %}
<table class="table table-bordered table-hover dataTable">
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
{% for day in days.dateTimes %}
<th class="text-center text-nowrap{% if day is weekend %} weekend{% endif %}">
{{ day|day_name(true) }}<br>
{{ day|format_date('short') }}
</th>
{% set columns = columns + 1 %}
{% set totals = totals|merge({(day|report_date): 0}) %}
{% endfor %}
</tr>
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
{% for day in days.dateTimes %}
<th class="text-center text-nowrap{% if day is weekend %} weekend{% endif %}">
{{ day|day_name(true) }}<br>
{{ day|format_date('short') }}
</th>
{% set columns = columns + 1 %}
{% set totals = totals|merge({(day|report_date): 0}) %}
{% endfor %}
</tr>
</thead>
<tbody>
{% set oldCustomer = null %}
{% for pid, project in rows|sort((a,b) => a.project.customer.id <=> b.project.customer.id) %}
{% if oldCustomer is null or oldCustomer != project.project.customer.id %}
@@ -76,15 +79,18 @@
</tr>
{% endfor %}
{% endfor %}
<tr class="summary">
<th></th>
<th class="text-nowrap text-center total">{{ totals['totals']|duration }}</th>
{% for day in days.dateTimes %}
<th class="text-nowrap text-center day-total{% if day is weekend %} weekend{% endif %}">
{{ totals[day|report_date]|duration }}
</th>
{% endfor %}
</tr>
</tbody>
<tfoot>
<tr class="summary">
<td>{{ 'stats.durationTotal'|trans }}</td>
<td class="text-nowrap text-center total">{{ totals['totals']|duration }}</td>
{% for day in days.dateTimes %}
<td class="text-nowrap text-center day-total{% if day is weekend %} weekend{% endif %}">
{{ totals[day|report_date]|duration }}
</td>
{% endfor %}
</tr>
</tfoot>
</table>
{% endblock %}
{% endembed %}

View File

@@ -23,17 +23,20 @@
{% set absoluteTotals = 0 %}
{% set totals = {} %}
<table class="table table-bordered table-hover dataTable">
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
{% for day in stats.0.getDateTimes() %}
<th class="text-center text-nowrap{% if day is weekend %} weekend{% endif %}">
{{ day|day_name(true) }}<br>
{{ day|format_date('short') }}
</th>
{% set totals = totals|merge({(day|report_date): 0}) %}
{% endfor %}
</tr>
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
{% for day in stats.0.getDateTimes() %}
<th class="text-center text-nowrap{% if day is weekend %} weekend{% endif %}">
{{ day|day_name(true) }}<br>
{{ day|format_date('short') }}
</th>
{% set totals = totals|merge({(day|report_date): 0}) %}
{% endfor %}
</tr>
</thead>
<tbody>
{% for userDay in stats %}
{% set usersTotalDuration = 0 %}
<tr class="user">
@@ -59,17 +62,20 @@
{% endfor %}
</tr>
{% endfor %}
<tr>
<th>&nbsp;</th>
<th class="text-center text-nowrap">
{{ absoluteTotals|duration }}
</th>
{% for id, duration in totals %}
<th class="text-center text-nowrap">
{{ duration|duration }}
</th>
{% endfor %}
</tr>
</tbody>
<tfoot>
<tr class="summary">
<td>{{ 'stats.durationTotal'|trans }}</td>
<td class="text-center text-nowrap">
{{ absoluteTotals|duration }}
</td>
{% for id, duration in totals %}
<td class="text-center text-nowrap">
{{ duration|duration }}
</td>
{% endfor %}
</tr>
</tfoot>
</table>
{% endif %}
{% endblock %}

View File

@@ -22,19 +22,22 @@
{% else %}
{% set totals = {} %}
<table class="table table-bordered table-hover dataTable">
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
{% for month in stats.0.getDateTimes() %}
<th class="text-center text-nowrap">
<a href="{{ path('report_monthly_users', {'date': month|report_date}) }}">
{{ month|month_name }}<br>
{{ month|date_format('Y') }}
</a>
</th>
{% set totals = totals|merge({(month|report_date): 0}) %}
{% endfor %}
</tr>
<thead>
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
{% for month in stats.0.getDateTimes() %}
<th class="text-center text-nowrap">
<a href="{{ path('report_monthly_users', {'date': month|report_date}) }}">
{{ month|month_name }}<br>
{{ month|date_format('Y') }}
</a>
</th>
{% set totals = totals|merge({(month|report_date): 0}) %}
{% endfor %}
</tr>
</thead>
<tbody>
{% for userYear in stats|filter(row => row.user is not null) %}
{% set usersTotalDuration = 0 %}
<tr class="user">
@@ -61,15 +64,18 @@
{% endfor %}
</tr>
{% endfor %}
<tr>
<th>&nbsp;</th>
<th>&nbsp;</th>
{% for id, total in totals %}
<th class="text-center text-nowrap">
{{ total|duration }}
</th>
{% endfor %}
</tr>
</tbody>
<tfoot>
<tr class="summary">
<td>{{ 'stats.durationTotal'|trans }}</td>
<td>&nbsp;</td>
{% for id, total in totals %}
<td class="text-center text-nowrap">
{{ total|duration }}
</td>
{% endfor %}
</tr>
</tfoot>
</table>
{% endif %}
{% endblock %}