mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-28 18:24:00 -04:00
Give each row in a table a heading
The first columns of our tables are always headings for the subsequent columns, even though they go horizontally. HTML has the `<th>` tag, which doesn’t just have to be used for headings along the top of a table. So this commit changes the first column to be a `<th>`. This then allows us to style these elements differently, specifically making them 50% wide. This makes pages like the dashboard align more nicely.
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
.table {
|
.table {
|
||||||
margin-bottom: $gutter;
|
margin-bottom: $gutter;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-heading {
|
.table-heading {
|
||||||
@@ -13,6 +14,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.table-row {
|
||||||
|
th {
|
||||||
|
width: 52.5%;
|
||||||
|
|
||||||
|
a {
|
||||||
|
max-height: 1.25em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
%table-field,
|
%table-field,
|
||||||
.table-field {
|
.table-field {
|
||||||
|
|
||||||
@@ -77,6 +88,10 @@
|
|||||||
width: 15px;
|
width: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&-date {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 0 0 5px 0;
|
margin: 0 0 5px 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,7 @@
|
|||||||
table {
|
table {
|
||||||
th {
|
th {
|
||||||
@include core-16;
|
@include core-16;
|
||||||
padding-top: 0;
|
border-bottom: 0;
|
||||||
border: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
|
|||||||
@@ -55,12 +55,24 @@
|
|||||||
</td>
|
</td>
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
|
{% macro row_heading() -%}
|
||||||
|
<th class="table-field">
|
||||||
|
<span>{{ caller() }}</span>
|
||||||
|
</th>
|
||||||
|
{%- endmacro %}
|
||||||
|
|
||||||
{% macro index_field(text) -%}
|
{% macro index_field(text) -%}
|
||||||
<td class="table-field-index">
|
<td class="table-field-index">
|
||||||
<span>{{ text }}</span>
|
<span>{{ text }}</span>
|
||||||
</td>
|
</td>
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
|
{% macro date_field(text) -%}
|
||||||
|
<td class="table-field-date">
|
||||||
|
<span>{{ text }}</span>
|
||||||
|
</td>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
{% macro text_field(text) -%}
|
{% macro text_field(text) -%}
|
||||||
{% call field() %}
|
{% call field() %}
|
||||||
{{ text }}
|
{{ text }}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{% from "components/table.html" import list_table, field, right_aligned_field_heading %}
|
{% from "components/table.html" import list_table, field, right_aligned_field_heading, row_heading %}
|
||||||
{% from "components/big-number.html" import big_number %}
|
{% from "components/big-number.html" import big_number %}
|
||||||
|
|
||||||
{% call(item, row_number) list_table(
|
{% call(item, row_number) list_table(
|
||||||
@@ -8,28 +8,28 @@
|
|||||||
empty_message='You haven’t sent any batch messages yet',
|
empty_message='You haven’t sent any batch messages yet',
|
||||||
field_headings=[
|
field_headings=[
|
||||||
'File',
|
'File',
|
||||||
right_aligned_field_heading('Sending'),
|
'Sending',
|
||||||
right_aligned_field_heading('Delivered'),
|
'Delivered',
|
||||||
right_aligned_field_heading('Failed')
|
'Failed'
|
||||||
],
|
],
|
||||||
field_headings_visible=True
|
field_headings_visible=True
|
||||||
) %}
|
) %}
|
||||||
{% call field() %}
|
{% call row_heading() %}
|
||||||
<div class="file-list">
|
<div class="file-list">
|
||||||
<a class="file-list-filename" href="{{ url_for('.view_job', service_id=current_service.id, job_id=item.id) }}">{{ item.original_file_name }}</a>
|
<a class="file-list-filename" href="{{ url_for('.view_job', service_id=current_service.id, job_id=item.id) }}">{{ item.original_file_name }}</a>
|
||||||
<span class="file-list-hint">Uploaded {{ item.created_at|format_datetime_short }}</span>
|
<span class="file-list-hint">Uploaded {{ item.created_at|format_datetime_short }}</span>
|
||||||
</div
|
</div
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% call field(align='right') %}
|
{% call field() %}
|
||||||
{{ big_number(
|
{{ big_number(
|
||||||
item.get('notifications_sent', 0) - item.get('notifications_delivered', 0) - item.get('notifications_failed', 0),
|
item.get('notifications_sent', 0) - item.get('notifications_delivered', 0) - item.get('notifications_failed', 0),
|
||||||
smaller=True
|
smaller=True
|
||||||
) }}
|
) }}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% call field(align='right') %}
|
{% call field() %}
|
||||||
{{ big_number(item.get('notifications_delivered', 0), smaller=True) }}
|
{{ big_number(item.get('notifications_delivered', 0), smaller=True) }}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% call field(align='right', status='error' if 0 else '') %}
|
{% call field(status='error' if 0 else '') %}
|
||||||
{{ big_number(item.get('notifications_failed', 0), smaller=True) }}
|
{{ big_number(item.get('notifications_failed', 0), smaller=True) }}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
{% endcall %}
|
{% endcall %}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{% extends "withnav_template.html" %}
|
{% extends "withnav_template.html" %}
|
||||||
{% from "components/table.html" import list_table, field, text_field, link_field, right_aligned_field_heading, hidden_field_heading %}
|
{% from "components/table.html" import list_table, field, text_field, link_field, right_aligned_field_heading, hidden_field_heading, row_heading, date_field %}
|
||||||
{% from "components/previous-next-navigation.html" import previous_next_navigation %}
|
{% from "components/previous-next-navigation.html" import previous_next_navigation %}
|
||||||
{% from "components/page-footer.html" import page_footer %}
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
{% from "components/pill.html" import pill %}
|
{% from "components/pill.html" import pill %}
|
||||||
@@ -46,19 +46,19 @@
|
|||||||
caption="Recent activity",
|
caption="Recent activity",
|
||||||
caption_visible=False,
|
caption_visible=False,
|
||||||
empty_message='No messages found',
|
empty_message='No messages found',
|
||||||
field_headings=['Recipient', 'Error', 'Status', 'Started'],
|
field_headings=['Recipient', 'Started', 'Status'],
|
||||||
field_headings_visible=False
|
field_headings_visible=False
|
||||||
) %}
|
) %}
|
||||||
|
|
||||||
{% call field() %}
|
{% call row_heading() %}
|
||||||
<p>
|
<p>
|
||||||
{{ item.to }}
|
{{ item.to }}
|
||||||
</p>
|
</p>
|
||||||
<p class="hint">
|
<p class="hint">
|
||||||
{% if item.job %}
|
{% if item.job %}
|
||||||
From <a class="truncated" href="{{ url_for(".view_job", service_id=current_service.id, job_id=item.job.id) }}">{{ item.job.original_file_name }}</a>
|
From <a href="{{ url_for(".view_job", service_id=current_service.id, job_id=item.job.id) }}">{{ item.job.original_file_name }}</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="truncated" href="{{ url_for('.view_template_version', service_id=current_service.id, template_id=item.template.id, version=item.template_version) }}">{{ item.template.name }}</a>
|
<a href="{{ url_for('.view_template_version', service_id=current_service.id, template_id=item.template.id, version=item.template_version) }}">{{ item.template.name }}</a>
|
||||||
from an API call
|
from an API call
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user