howto init ion-range-slider function in gentelella template

1.8k Views Asked by At

I'm in confusion to how to initialize some basic js components, like the "grid slider": enter image description here

that is included in the package for laravel: https://colorlib.com/polygon/gentelella/form_advanced.html

and it comes from this plugin: http://ionden.com/a/plugins/ion.rangeSlider/en.html

that's my code:

        <input type="text" id="test_range" name="example_name" value="" />

 $(document).ready(function(e) {
        $('#tabS').DataTable();
        $("#test_range").ionRangeSlider({
            min: 100,
            max: 1000,
            from: 550});});

I've tried 2 way:

  1. with no explict import the error is: enter image description here
  2. importing the cdn in the child view in the "@stack('script')" part like:

src="https://cdnjs.cloudflare.com/ajax/libs/ion-angeslider/2.2.0/js/ion.rangeSlider.min.js">

the erros is something like:

enter image description here

how can i correctly initialize this component?

1

There are 1 best solutions below

6
On BEST ANSWER

You need these prerequisites:

  • the css: ion.rangeSlider.min.css
  • a theme: ion.rangeSlider.skinFlat.min.css
  • jquery
  • and the js: ion.rangeSlider.min.js

Source for ion-rangeslider cdn: https://cdnjs.com/libraries/ion-rangeslider

Working snippet:

$("#range_02").ionRangeSlider({
    min: 100,
    max: 1000,
    from: 550
});
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.2.0/css/ion.rangeSlider.min.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.2.0/css/ion.rangeSlider.skinFlat.min.css">
<input id="range_02" class="irs-hidden-input" tabindex="-1" readonly="">


<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/ion-rangeslider/2.2.0/js/ion.rangeSlider.min.js"></script>

In the case of gentelella, they use this in the source code:

$(".range_time24").ionRangeSlider({
  min: +moment().subtract(12, "hours").format("X"),
  max: +moment().format("X"),
  from: +moment().subtract(6, "hours").format("X"),
  grid: true,
  force_edges: true,
  prettify: function(num) {
    var m = moment(num, "X");
    return m.format("Do MMMM, HH:mm");
  }
});

As can be seen, they heavily make use of moment function, which is a prerequisite. Moment JS to be exact. Import that too and you should no longer have issues