education/classroom

View on GitHub
app/views/assignments/_filterable_assignment_roster_list.html.erb

Summary

Maintainability
Test Coverage
<% list_type = local_assigns.fetch(:list_type) %>

<% placeholder = "Search by GitHub login" %>
<% if list_type == :roster_entries %>
  <% placeholder = "Search by student identifier" %>
<% end%>

<%= render partial: "shared/search_and_sort", locals: {
  submit_url: organization_assignment_path,
  select_menu_title: "Sort assignments by:",
  search_placeholder: placeholder,
  query: @query,
  options: @assignment_sort_modes.keys,
  option_links: @assignment_sort_modes_links,
  selected_option: @current_sort_mode
} %>

<div class='assignment-repo-list' id='assignment-repo-list'>
  <%= render partial: 'assignments/assignment_roster_list', locals: {
    organization: @organization,
    assignment: @assignment,
    list_type: @list_type,
    roster_entries: @roster_entries,
    assignment_repos: @assignment_repos,
  } %>
</div>

<div id='assignment-repo-pagination'>
  <% if list_type == :roster_entries %>
    <%= render partial: 'shared/pagination', locals: { collection: @roster_entries, param_name: :students_page } %>
  <% else %>
    <%= render partial: 'shared/pagination', locals: { collection: @assignment_repos, param_name: :page } %>
  <% end %>
</div>