BathHacked/energy-sparks

View on GitHub
app/views/admin/shared/_preview_section.html.erb

Summary

Maintainability
Test Coverage
<% locales = [:en] unless local_assigns[:locales] %>

<ul class="nav nav-tabs mb-2 preview-tabs" id="<%= scope %>-content-preview" role="tablist">

  <% locales.each do |locale| %>
    <li class="nav-item">
      <a class="nav-link <%= 'active' if current_locale?(locale) %>" href="#<%= scope %>-<%= locale %>-content" id="<%= scope %>-content-tab" data-toggle="tab"  role="tab" aria-controls="<%= scope %>-<%= locale %>-content" aria-selected="true">
        <span class="text-danger d-none"><%= fa_icon('exclamation-triangle') %></span>
        Content (<%= t("languages.#{locale}") %>)
      </a>
    </li>
  <% end %>

  <% unless local_assigns[:no_timings] %>
    <li class="nav-item">
      <a class="nav-link" href="#<%= scope %>-timings" id="<%= scope %>-timings-tab" data-toggle="tab"  role="tab" aria-controls="<%= scope %>-timings" aria-selected="true">
        <span class="text-danger d-none"><%= fa_icon('exclamation-triangle') %></span>
        Timings
      </a>
    </li>
  <% end %>
  <% unless local_assigns[:no_weightings] %>
    <li class="nav-item">
      <a class="nav-link" href="#<%= scope %>-weightings" id="<%= scope %>-weightings-tab" data-toggle="tab"  role="tab" aria-controls="<%= scope %>-weightings" aria-selected="true">
        <span class="text-danger d-none"><%= fa_icon('exclamation-triangle') %></span>
        Priority weighting
      </a>
    </li>
  <% end %>
  <% locales.each do |locale| %>
    <li class="nav-item">
      <a class="nav-link preview-tab" href="#<%= scope %>-preview-<%= locale %>" id="<%= scope %>-preview-<%= locale %>-tab" data-toggle="tab"  role="tab" aria-controls="<%= scope %>-preview">
        Preview (<%= t("languages.#{locale}") %>)
      </a>
    </li>
  <% end %>
</ul>

<div class="tab-content" id="<%= scope %>-content-panes">

  <% locales.each do |locale| %>
    <div class="tab-pane fade show <%= 'active' if current_locale?(locale) %>" id="<%= scope %>-<%= locale %>-content" role="tabpanel" aria-labelledby="<%= scope %>-<%= locale %>-content-tab">
      <%= yield "#{locale}" %>
    </div>
  <% end %>

  <% unless local_assigns[:no_timings] %>
    <div class="tab-pane fade show" id="<%= scope %>-timings" role="tabpanel" aria-labelledby="<%= scope %>-timings-tab">
      <div class="row">
        <div class="col-md-6">
          <%= content.input :"#{scope}_start_date", as: :tempus_dominus_date, label: 'Start date' %>
        </div>
        <div class="col-md-6">
          <%= content.input :"#{scope}_end_date", as: :tempus_dominus_date, label: 'End date' %>
        </div>
      </div>
    </div>
  <% end %>

  <% unless local_assigns[:no_weightings] %>
    <div class="tab-pane fade show" id="<%= scope %>-weightings" role="tabpanel" aria-labelledby="<%= scope %>-weightings-tab">
      <%= content.input :"#{scope}_weighting", label: 'Weighting', hint: 'Normal range 0.0-10.0. Default 5.0. 10 = high priority (i.e. shown first)' %>
    </div>
  <% end %>

  <% locales.each do |locale| %>
    <div class='d-flex justify-content-center'>
      <%= select_tag "schools", options_from_collection_for_select(School.process_data.order(:name), "slug", "name", "1"), id: 'school-selector', "data-content-url": path_with_locale(preview_url, locale), class: "form-select d-none" %>
    </div>
    <div class="tab-pane fade show" id="<%= scope %>-preview-<%= locale %>" role="tabpanel" aria-labelledby="<%= scope %>-preview-tab" data-content-url="<%= path_with_locale(preview_url, locale) %>">
      <div class="loading">
        <h3 class="mb-3 mt-3"><%= fa_icon('spinner') %> Loading...</h3>
      </div>
      <div class="content pt-3 pb-3">
      </div>
    </div>
  <% end %>
</div>