gitcoinco/code_fund_ads

View on GitHub
app/views/shared/_data_list.html.erb

Summary

Maintainability
Test Coverage
<div class="page-section">
  <div class="card card-fluid">
    <div class="card-header nav-scroller">
      <ul class="nav nav-tabs card-header-tabs">
        <% @scopable_values.flatten.each_with_index do |item| %>
          <li class="nav-item">
            <%= tag.span class: "nav-link show pointer #{"active" if item == @scoped_by}", data: navigable_expandos(reflex: "click->ScopableReflex#scope", scoped_by: item) do %>
              <%= item.capitalize %>
            <% end %>
          </li>
        <% end %>
      </ul>
    </div>
    <div class="card-body">
      <div class="row">
        <%= tag.div class: "col-auto d-none d-sm-flex", data: navigable_expandos(controller: "sortable-list") do %>
          <div class="dropdown">
            <div class="btn-group" role="group" aria-label="sort">
              <%= tag.button current_sort_direction_icon, class: "btn btn-secondary", aria: {label: "flip list order"}, data: navigable_expandos(action: "click->sortable-list#flip") %>
              <button class="btn btn-secondary" style="min-width:112px;" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="sort options">
                <%= @sorted_by.titleize %>
                <span class="fa fa-caret-down"></span>
              </button>
              <div class="dropdown-menu dropdown-menu-right stop-propagation">
                <div class="dropdown-arrow"></div>
                <h6 class="dropdown-header"> Sort By </h6>
                <% @sortable_columns.each do |column_name| %>
                  <label class="custom-control custom-radio">
                    <input type="radio" class="custom-control-input" name="sortCampaignBy" data-action="click->sortable-list#sort" data-sorted-by="<%= column_name %>" />
                    <span class="custom-control-label"><%= column_name.titleize %> </span>
                  </label>
                <% end %>
              </div>
            </div>
          </div>
        <% end %>
      </div>
    </div>
    <div class="tab-content pt-3">
      <div class="tab-pane fade show active">
        <div class="list-group list-group-flush list-group-divider">
          <%= render partial: "/#{resource_name}/list_group_item", collection: collection, as: resource_name&.singularize&.to_sym %>
        </div>
        <%= pagination_wrapper do %>
          <span>
            <%= render "/shared/paginator" %>
          </span>
          <span class="ml-auto">
            <%= pagy_entries(pagy) %>
          </span>
        <% end if pagy.pages > 1 %>
      </div>
    </div>
  </div>
</div>