37 lines
1.6 KiB
Plaintext
37 lines
1.6 KiB
Plaintext
<div class="card-count__selector txt-x-small" data-controller="dialog" data-action="keydown.esc->dialog#close click@document->dialog#closeOnClickOutside">
|
|
<button class="btn borderless btn--circle"
|
|
data-action="click->dialog#open:stop"
|
|
aria-haspopup="dialog"
|
|
aria-expanded="false"
|
|
aria-controls="display-count-dialog">
|
|
<span><%= display_count %></span>
|
|
</button>
|
|
|
|
<dialog id="display-count-dialog"
|
|
class="popup panel flex-column align-start justify-start fill-white shadow"
|
|
data-dialog-target="dialog"
|
|
aria-label="Select number of tickets to display">
|
|
<% display_count_options.each do |option| %>
|
|
<div class="btn fill-transparent popup__item full-width">
|
|
<%= form_tag request.path, method: :get, class: "full-width" do %>
|
|
<% filter.as_params.each do |key, value| %>
|
|
<% if value.is_a?(Array) %>
|
|
<% value.each do |v| %>
|
|
<%= filter_hidden_field_tag key, v %>
|
|
<% end %>
|
|
<% else %>
|
|
<%= filter_hidden_field_tag key, value %>
|
|
<% end %>
|
|
<% end %>
|
|
<%= hidden_field_tag :set_display_count, option[:value] %>
|
|
<input type="checkbox"
|
|
id="<%= option[:id] %>"
|
|
<%= "checked" if option[:selected] %>
|
|
onChange="this.form.submit()"
|
|
aria-label="<%= option[:label] %>">
|
|
<label for="<%= option[:id] %>" class="overflow-ellipsis"><%= option[:label] %></label>
|
|
<% end %>
|
|
</div>
|
|
<% end %>
|
|
</dialog>
|
|
</div> |