range.html 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. {% assign min = include.min | default: 0 %}
  2. {% assign max = include.max | default: 100 %}
  3. {% assign step = include.step | default: 10 %}
  4. {% assign value = include.value | default: 50 %}
  5. {% assign id = include.id %}
  6. {% if id %}
  7. <div class="form-range mb-2{% if include.class %} {{ include.class }}{% endif %}" id="range-{{ id }}"></div>
  8. {% comment %}
  9. {% capture_global scripts %}
  10. <script>
  11. // @formatter:off
  12. {% assign value = value | split: ',' %}
  13. document.addEventListener("DOMContentLoaded", function () {
  14. window.noUiSlider && (noUiSlider.create(document.getElementById('range-{{ id }}'), {
  15. start: {% if value.size > 1 %}[{{ value | join: ', ' }}]{% else %}{{ value }}{% endif %},
  16. {% if value.size > 1 or include.connect %}
  17. connect: [{% for i in (2..value.size) %}{% cycle 'false', 'true' %}, {% endfor %}true, false],
  18. {% endif %}
  19. step: {{ step }},
  20. range: {
  21. min: {{ min }},
  22. max: {{ max }}
  23. }
  24. }));
  25. });
  26. // @formatter:on
  27. </script>
  28. {% endcapture_global %}
  29. {% endcomment %}
  30. {% else %}
  31. <input type="range" class="form-range mb-2{% if include.class %} {{ include.class }}{% endif %}" value="{{ value }}" min="{{ min }}" max="{{ max }}" step="{{ step }}">
  32. {% endif %}