LJ Range Slider
LJ Range Slider plugin for Craft CMS 3 and Craft CMS 4.
An easy-to-use, flexible and responsive range slider for Craft CMS.
Requirements
This plugin requires Craft CMS 3 or later.
Installation
You can install the plugin via the Craft Plugin Store.
LJ Range Slider Overview
This plugin adds the following fieldtype:
- LJ Range Slider
Simple start, basic params
Set min value, max value and start point.
min: 100,
max: 1000,
from: 550
Set type to double, specify range, show grid and add a prefix "$".
type: "double",
grid: true,
min: 0,
max: 1000,
from: 200,
to: 800,
prefix: "$"
Set up range and step
Set up range with negative values.
type: "double",
grid: true,
min: -1000,
max: 1000,
from: -500,
to: 500
Force fractional values, using fractional step 0.1.
type: "double",
grid: true,
min: -12.8,
max: 12.8,
from: -3.2,
to: 3.2,
step: 0.1
UI controls
Hide min and max labels
min: 100,
max: 1000,
from: 550,
hide_min_max: true
Hide from and to labels
min: 100,
max: 1000,
from: 550,
hide_min_max: true,
hide_from_to: true
Using array of custom values
When using custom values, FROM and TO should be zero-based index of values array. So in the example below 0=0, 1=10, 2=100, 3=1000, 4=10000 etc.
type: "double",
grid: true,
from: 2,
to: 5,
values: [0, 10, 100, 1000, 10000, 100000, 1000000]
Values array could be anything, even strings.
grid: true,
from: new Date().getMonth(),
values: [
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
]
Same as above, but using Twig logic.
grid: true,
from: {{ now|date('n') - 1 }},
values: [
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
]
Change visual look of numbers (prettify).
Improve readability of big numbers, like 1000000.
grid: true,
min: 1000,
max: 1000000,
from: 100000,
step: 1000,
prettify_enabled: true,
prettify_separator: ","
Decorating numbers with prefixes, postfixes and other symbols.
Adding currency symbol and + symbol to the maximum number.
grid: true,
min: 0,
max: 100,
from: 50,
step: 5,
max_postfix: "+",
prefix: "$"
grid: true,
min: 0,
max: 100,
from: 50,
step: 5,
postfix: " €"
Using prefix and postfix at the same time.
grid: true,
min: 0,
max: 100,
from: 21,
max_postfix: "+",
prefix: "Age: ",
postfix: " years"
Customising Grid
Divide the grid.
grid: true,
min: 0,
max: 100,
from: 20,
grid_num: 4
grid: true,
min: 0,
max: 100,
from: 20,
grid_num: 5
Callbacks
Using sliders callbacks.
min: 0,
max: 5,
from: 3,
prefix: "Warp factor: ",
grid: true,
grid_num: 5,
onStart: function (data) {
// fired when range slider is ready
},
onChange: function (data) {
// fired on every range slider update
if (data.from <= 4) {
console.log("Scotty, we need more power!");
} else {
console.log("Captain, she cannae take anymore!");
}
},
onFinish: function (data) {
// fired on pointer release
}
Twig logic
The Slider Parameters field can use Twig logic and even Craft element queries.
{% set values %}
{% for i in currentUser.friendlyName|split('') %}
"{{ i|upper }}"{{ not loop.last ? ',' }}
{% endfor %}
{% endset %}
type: "double",
grid: true,
grid_num: {{ currentUser.friendlyName|length - 1 }},
values: [ {{ values }} ]
You can even fetch your Slider Parameters from a template.
{% include '_myRangeSliderParams' ignore missing %}
Skins
Big skin
min: 100,
max: 1000,
from: 550,
skin: "big"
Modern skin
min: 100,
max: 1000,
from: 550,
skin: "modern"
Sharp skin
min: 100,
max: 1000,
from: 550,
skin: "sharp"
Round skin
min: 100,
max: 1000,
from: 550,
skin: "round"
Square skin
min: 100,
max: 1000,
from: 550,
skin: "square"
Additional Options
See the original ion.rangeSlider project for additional options.
Templating
"Single" Range Slider fields return a single FROM value.
{{ entry.myRangeSliderField }}
// Prints something like: 550
"Double" Range Slider fields returns FROM and TO values, separated by ; character.
{{ entry.myRangeSliderField }}
// Prints something like: 200;800
{% set myRangeSliderField = entry.myRangeSliderField|split(';') %}
{{ myRangeSliderField[0] }}
// 200
{{ myRangeSliderField[1] }}
// 800
This plugin is based on the ion.rangeSlider plugin [MIT licence], with thanks to the original developer.
Brought to you by Lewis Jenkins.
Standard
Plus $10/year after one year.
To install this plugin, copy the command above to your terminal.
This plugin doesn't have any reviews.