mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-05-31 03:20:28 -04:00
Both `<button type='submit'>Submit<button>` and `<input type='submit' value='Submit'>` can be used to submit a form. We have historically[1] used `<input>` because it’s better-supported by IE6 in that: - the `submit` attribute is mandatory on `<button>`, not on `<input>` - the `innerHTML` of a button will be submitted to the server, not the value (as in other browsers) Reasons to now use `<button>` instead: - IE6/7 support is no longer a concern (especially with deprecation of TLS 1.0 on the way) - Because an `<input>` element can’t have children, the pseudo-element hack[2] used to ensure the top edge of the button is clickable doesn’t work. We’re seeing this bug[3] affect real users in research. 1. We inhereted our buttons from Digital Marketplace, here is me making that change in their code:8df7e2e79e (diff-b1420f7b7a25657d849edf90a70ef541)2.24e1906c0d (diff-ef0e4eb6f1e90b44b0c3fe39dce274a4R79)3. https://github.com/alphagov/govuk_elements/issues/545
94 lines
3.8 KiB
HTML
94 lines
3.8 KiB
HTML
{% extends "withnav_template.html" %}
|
|
{% from "components/banner.html" import banner_wrapper %}
|
|
{% from "components/radios.html" import radio_select %}
|
|
{% from "components/table.html" import list_table, field, text_field, index_field, hidden_field_heading %}
|
|
{% from "components/file-upload.html" import file_upload %}
|
|
{% from "components/page-footer.html" import page_footer %}
|
|
{% from "components/message-count-label.html" import message_count_label %}
|
|
|
|
{% set file_contents_header_id = 'file-preview' %}
|
|
{% macro skip_to_file_contents() %}
|
|
<p class="visually-hidden">
|
|
<a href="#{{ file_contents_header_id }}">Skip to file contents</a>
|
|
</p>
|
|
{% endmacro %}
|
|
|
|
{% block service_page_title %}
|
|
{{ "Preview of {}".format(template.name) }}
|
|
{% endblock %}
|
|
|
|
{% block maincolumn_content %}
|
|
|
|
<h1 class="heading-large">
|
|
Preview of {{ template.name }}
|
|
</h1>
|
|
{{ skip_to_file_contents() }}
|
|
|
|
{{ template|string }}
|
|
|
|
<div class="bottom-gutter-3-2">
|
|
<form method="post" enctype="multipart/form-data" action="{{url_for('main.start_job', service_id=current_service.id, upload_id=upload_id)}}" class='page-footer'>
|
|
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
|
|
<input type="hidden" name="help" value="{{ '3' if help else 0 }}" />
|
|
{% if choose_time_form and template.template_type != 'letter' %}
|
|
{{ radio_select(
|
|
choose_time_form.scheduled_for,
|
|
wrapping_class='bottom-gutter-2-3'
|
|
) }}
|
|
{% endif %}
|
|
{% if template.template_type != 'letter' or not request.args.from_test %}
|
|
<button type="submit" class="button">Send {{ count_of_recipients }} {{ message_count_label(count_of_recipients, template.template_type, suffix='') }}</button>
|
|
{% else %}
|
|
<a href="{{ url_for('main.check_messages_preview', service_id=current_service.id, template_type=template.template_type, upload_id=upload_id, filetype='pdf') }}" download class="button">Download as a printable PDF</a>
|
|
{% endif %}
|
|
<a href="{{ back_link }}" class="page-footer-back-link">Back</a>
|
|
</form>
|
|
</div>
|
|
|
|
{% if not request.args.from_test %}
|
|
|
|
<h2 class="heading-medium" id="{{ file_contents_header_id }}">{{ original_file_name }}</h2>
|
|
|
|
<div class="fullscreen-content" data-module="fullscreen-table">
|
|
{% call(item, row_number) list_table(
|
|
recipients.initial_annotated_rows_with_errors if row_errors and not recipients.missing_column_headers else recipients.initial_annotated_rows,
|
|
caption=original_file_name,
|
|
caption_visible=False,
|
|
field_headings=[
|
|
'<span class="visually-hidden">Row in file</span><span aria-hidden="true">1</span>'|safe
|
|
] + recipients.column_headers
|
|
) %}
|
|
{% call index_field() %}
|
|
<span>
|
|
{% if (item.index + 2) == preview_row %}
|
|
{{ item.index + 2 }}
|
|
{% else %}
|
|
<a href="{{ url_for('.check_messages', service_id=current_service.id, template_type=template.template_type, upload_id=upload_id, row_index=(item.index + 2)) }}">{{ item.index + 2 }}</a>
|
|
{% endif %}
|
|
</span>
|
|
{% endcall %}
|
|
{% for column in recipients.column_headers %}
|
|
{% if item['columns'][column].ignore %}
|
|
{{ text_field(item['columns'][column].data or '', status='default') }}
|
|
{% else %}
|
|
{{ text_field(item['columns'][column].data or '') }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% if item['columns'].get(None) %}
|
|
{% for column in item['columns'][None].data %}
|
|
{{ text_field(column, status='default') }}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endcall %}
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
{% if count_of_displayed_recipients < count_of_recipients %}
|
|
<p class="table-show-more-link">
|
|
Only showing the first {{ count_of_displayed_recipients }} rows
|
|
</p>
|
|
{% endif %}
|
|
|
|
{% endblock %}
|