File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ <%#
2+ "Renders a sorting widget
3+
4+ Variables:
5+ types : Array<String> of available sorting types
6+ ? default_order : Defualt sorting order, if any
7+ ? default_type : Default sorting type, if any
8+ "%>
9+
10+ <%
11+ # Defaults
12+ default_order = defined?(default_order) ? default_order : nil
13+ default_type = defined?(default_type) ? default_type : nil
14+ %>
15+
16+ <div class ="flex gap-sm ">
17+ < div class ="button-list is-gutterless ">
18+ <% [ :asc , :desc ] . each do |order | %>
19+ <% is_active = params [ :order ] &.to_sym == order || ( params [ :order ] . nil? && default_order == order ) %>
20+ <%= link_to order . to_s . humanize , request . params . merge ( order : order ) ,
21+ class : "button is-muted is-outlined #{ 'is-active' if is_active } " ,
22+ role : 'button' ,
23+ aria : { label : "#{ order . to_s . humanize } ending order" } %>
24+ <% end %>
25+ </ div >
26+
27+ < div class ="button-list is-gutterless ">
28+ <% types . each do |type | %>
29+ <% is_active = params [ :sort ] == type || ( params [ :sort ] . nil? && default_type . to_s == type ) %>
30+ <%= link_to type . humanize , request . params . merge ( sort : type ) ,
31+ class : "button is-muted is-outlined #{ 'is-active' if is_active } " ,
32+ role : 'button' ,
33+ aria : { label : "Sort by #{ type . humanize . downcase } " } %>
34+ <% end %>
35+ </ div >
36+ </ div >
You can’t perform that action at this time.
0 commit comments