app/views/schools/transport_surveys/edit.html.erb
<% content_for :head do %>
<%= javascript_include_tag 'transport_surveys', type: :module, defer: true %>
<% end %>
<%= render 'header_nav' %>
<%= render 'tab_nav' %>
<%= render 'no_javascript_warning' %>
<div id="page-notifier" role="alert"></div>
<div id="unsaved-responses"></div>
<%= render 'intro' %>
<button type="button" class="btn btn-primary jsonly" data-toggle="modal" data-target="#transport_survey_modal">
<%= t('schools.transport_surveys.edit.buttons.launch_survey_app') %>
</button>
<div class="modal fade modal-fullscreen-xs modal-fullscreen-sm modal-fullscreen-md" id="transport_survey_modal" data-backdrop="true" data-keyboard="false" tabindex="-1" aria-labelledby="transport_survey_modal_label" aria-hidden="true">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title" id="transport_survey_modal_label"><%= t('schools.transport_surveys.edit.title') %></h1>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true"><h1>×</h1></span>
</button>
</div>
<div class="modal-body">
<div id="app-notifier" role="alert"></div>
<%= form_with(url: school_transport_surveys_url(@school), method: :patch, local: true, id: 'transport_survey') do |f| %>
<%= render 'app_config' %>
<div id="setup" class="panel">
<h2><%= t('schools.transport_surveys.edit.steps.weather') %></h2>
<%= hidden_field_tag :weather, '', class: 'selected' %>
<div class="container">
<div class="row">
<% TransportSurvey::Response.weather_images.each do |label, symbol| %>
<%= render 'option',
{ label: TransportSurvey::Response.human_enum_name(:weather, label),
content: symbol,
identifier: label,
action: 'start' } %>
<% end %>
</div>
</div>
</div>
<div id="survey" style="display: none;">
<%= render partial: 'progress_bar' %>
<fieldset class="panel" id="time">
<h2><%= t('schools.transport_surveys.edit.steps.time') %></h2>
<%= hidden_field_tag :journey_minutes, '', class: 'selected' %>
<div class="container">
<div class="row">
<% TransportSurvey::Response.journey_minutes_options.each do |time| %>
<%= render 'option',
{ label: t('schools.transport_surveys.edit.labels.minutes'),
content: time,
identifier: time,
action: 'time' } %>
<% end %>
</div>
</div>
</fieldset>
<fieldset class="panel" id="transport" style="display: none;">
<h2><%= t('schools.transport_surveys.edit.steps.transport') %></h2>
<%= hidden_field_tag :transport_type_id, '', class: 'selected' %>
<div class="container">
<div class="row">
<% TransportSurvey::TransportType.all.by_position.each do |transport_type| %>
<%= render 'option',
{ label: transport_type.name,
content: transport_type.image,
identifier: transport_type.id,
action: 'transport' } %>
<% end %>
</div>
</div>
<%= button_tag t('schools.transport_surveys.edit.buttons.back'),
type: 'button',
class: 'previous btn btn-outline-secondary w-100' %>
</fieldset>
<fieldset class="panel" id="sharing" style="display: none;">
<%= hidden_field_tag :passengers, '', class: 'selected' %>
<h2 class="pb-0"><%= t('schools.transport_surveys.edit.steps.sharing_html',
transport: '<span id="transport_type_name"></span>'.html_safe) %></h2>
<h2><small class="pb-4"><%= t('schools.transport_surveys.edit.steps.sharing_note') %></small></h2>
<div class="container">
<div class="row">
<% TransportSurvey::Response.passengers_options.each do |passengers| %>
<%= render 'option',
{ label: t('schools.transport_surveys.edit.pupils', count: passengers),
content: TransportSurvey::Response.passenger_symbol * passengers,
identifier: passengers, action: 'sharing' } %>
<% end %>
</div>
</div>
<%= button_tag t('schools.transport_surveys.edit.buttons.back'),
type: 'button',
class: 'previous btn btn-outline-secondary w-100' %>
</fieldset>
<fieldset class="panel" id="confirm" style="display: none;">
<h2><%= t('schools.transport_surveys.edit.steps.confirm') %></h2>
<div class="container">
<div class="row">
<%= render 'option',
{ label: t('schools.transport_surveys.edit.labels.minutes'),
content: 'x',
identifier: 'confirm-time',
action: '' } %>
<%= render 'option',
{ label: t('schools.transport_surveys.edit.labels.transport'),
content: 'x',
identifier: 'confirm-transport',
action: '' } %>
<%= render 'option',
{ label: t('schools.transport_surveys.edit.labels.pupils'),
content: 'x',
identifier: 'confirm-passengers',
action: '' } %>
</div>
</div>
<p>
<%= button_tag t('schools.transport_surveys.edit.buttons.confirm'),
type: 'button',
class: 'confirm btn btn-primary w-100 mb-2 mt-2' %>
<%= button_tag t('schools.transport_surveys.edit.buttons.back'),
type: 'button',
class: 'previous-transport btn btn-outline-secondary w-100' %>
</p>
</fieldset>
<fieldset class="panel" id="summary" style="display: none;">
<h2><%= t('schools.transport_surveys.edit.steps.summary_html',
time: '<span id="display-time"></span>'.html_safe,
transport: '<span id="display-transport"></span>'.html_safe) %></h2>
<hr>
<h2><%= t('schools.transport_surveys.edit.steps.carbon_html',
carbon: '<span id="display-carbon" class="badge badge-secondary"></span>'.html_safe) %></h2>
<hr>
<h2 class="mb-0"><span id="display-carbon-equivalent"></span></h2>
<p><%= button_tag t('schools.transport_surveys.edit.buttons.next_pupil'),
type: 'button',
class: 'summary btn btn-primary w-100' %></p>
</fieldset>
</div>
<% end %>
</div>
<div class="modal-footer">
<%= button_tag(type: 'submit', class: 'submit btn btn-light', id: 'save-results', disabled: true) do %>
<%= t('schools.transport_surveys.edit.buttons.finish_and_save') %> <span id="unsaved-responses-count" class="badge"></span>
<% end %>
</div>
</div>
</div>
</div>