Files
fizzy/app/views/entropy/_knob.html.erb
T
Jorge Manrubia b9dd7fe808 Tidy up code
2025-06-05 08:54:31 +02:00

34 lines
1.2 KiB
Plaintext

<%
period = form.object.send(name)
current_index = knob_options.index(period.to_i / 1.day)
%>
<fieldset class="knob" data-controller="knob" data-knob-target="field" style="--knob-options: <%= knob_options.length %>; --knob-index: <%= current_index %>">
<div class="position-relative" role="radiogroup" aria-labelledby="<%= dom_id(form.object, name) %>">
<% knob_options.each_with_index do |value, index| %>
<label class="knob__option" style="--i: <%= index %>">
<%= form.radio_button name,
value.days,
data: {
action: "change->knob#optionChanged change->form#submit",
index: index,
knob_target: "option"
} %>
<span><%= value %></span>
</label>
<% end %>
<%= form.range_field :slider,
class: "knob__slider",
data: { action: "input->knob#sliderChanged change->form#submit", knob_target: "slider" },
"aria-hidden": true,
max: knob_options.length - 1,
min: 0
%>
<div class="knob__knob" aria-hidden></div>
</div>
<div id="<%= dom_id(form.object, name) %>" class="knob__label">Days</div>
</fieldset>