holderdeord/hdo-site

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

Summary

Maintainability
Test Coverage
<%= form_tag search.url, method: :get, class: 'form-search' do -%>
  <% search.query.except(:q).each do |key, value| %>
    <%= hidden_field_tag key, value -%>
  <% end %>

  <% search.navigators.each do |nav| %>
    <div class="navigator navigator-<%= nav.param %>">
      <h4><%= nav.title %></h4>

      <% if nav.keyword? %>
        <%= text_field_tag 'q', nav.value, tabindex: 2, type: 'search', class: 'search-query' %>
      <% elsif nav.facet? %>

        <ul class="unstyled">
          <% nav.each_term do |term| %>
            <li class="term <%= 'active' if term.active %>">
              <% if term.active %>
                <%= link_to 'X', term.clear_url, class: 'pull-right' %>
              <% end %>

              <%= link_to term.name.to_s.truncate(50), term.filter_url %> (<%= term.count %>)
            </li>
          <% end %>
        </ul>
      <% elsif nav.boolean? %>
        <div class="term <%= 'active' if nav.active? %>">
          <% if nav.active? %>
            <%= link_to 'X', nav.clear_url, class: 'pull-right' %>
          <% end %>

          <%= link_to nav.title, nav.filter_url %>
        </div>
      <% end %>
    </div>
  <% end %>
<% end -%>



<%= content_for :document_ready do %>
<script>
  $(function() {
    // focus search field with forward slash
    // everyone should have this
    $(document).keypress(function(e) {
      if (e.which == 47 && e.target.tagName !== 'INPUT') {
        e.preventDefault();
        $("input[name=q]").focus();
      }
    });
  })
</script>
<% end %>