/*=========================================================================================
File Name: slider-spinner.js
Description: jQuery UI sliders and spinners
----------------------------------------------------------------------------------------
Item Name: Modern Admin - Clean Bootstrap 4 Dashboard HTML Template
Author: PIXINVENT
Author URL: http://www.themeforest.net/user/pixinvent
==========================================================================================*/
$(document).ready(function(){
/****************************
* Slider *
*****************************/
// Default
$( ".jui-slider-default" ).slider();
$( ".jui-slider-custom-start" ).slider({
value: 60
});
$( ".jui-slider-increment-steps" ).slider({
value:20,
min: 0,
max: 100,
step: 5
});
$( ".jui-slider-animation" ).slider({
value:40,
min: 0,
max: 100,
animate: "fast"
});
// Fixed minimum
$(".jui-slider-min").slider({
range: "min",
value: 15,
min: 1,
max: 150
});
// Fixed maximum
$(".jui-slider-max").slider({
range: "max",
min: 1,
max: 100,
value: 10
});
$( ".jui-slider-range" ).slider({
range: true,
min: 0,
max: 500,
values: [ 75, 300 ],
});
$( ".jui-slider-disabled" ).slider({
value: 20,
disabled: true
});
/************************************
* Advance Sliders *
************************************/
// Show All Labels
$(".jui-slider-all-labels")
.slider({
max: 12
})
.slider("pips", {
rest: "label"
});
// Hide Labels & Pips
$(".jui-slider-hide-labels-pips")
.slider({
max: 20,
range: true,
values: [5, 15]
})
.slider("pips", {
rest: false
});
// Only Show Pips
$(".jui-slider-only-pips")
.slider({
max: 30
})
.slider("pips", {
first: "pip",
last: "pip"
});
// Prefix / Suffix
$(".jui-slider-prefix-suffix")
.slider({
min: 0,
max: 90,
value: 50,
step: 10
})
.slider("pips", {
rest: "label",
prefix: "$",
suffix: ".00¢"
});
// Months
// set up an array to hold the months
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
// lets be fancy for the demo and select the current month.
var activeMonth = new Date().getMonth();
$(".jui-slider-months")
// activate the slider with options
.slider({
min: 0,
max: months.length-1,
value: activeMonth
})
// add pips with the labels set to "months"
.slider("pips", {
rest: "label",
labels: months
});
// More Custom Labels
var hanzi = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十"];
$(".jui-slider-more-custom-labels")
.slider({
min: 0,
max: hanzi.length-1,
value: 3
})
.slider("pips", {
rest: "label",
labels: hanzi
})
.slider("float", {
labels: hanzi
});
// Steps
$(".jui-slider-pip-steps")
.slider({
min: 0,
max: 100,
step: 20
})
.slider("pips", {
rest: "label"
});
$(".jui-slider-multiplicative-steps")
.slider({
min: 0,
max: 100,
step: 10
})
.slider("pips", {
rest: "label",
step: 2
})
.slider("float");
/************************************
* Vertical Sliders *
************************************/
// Default
$(".jui-vert-slider-default > span").each(function() {
// Read initial values
var val = parseInt( $( this ).text(), 10 );
// Empty span text
$( this ).empty();
$( this ).slider({
value: val,
animate: "fast",
orientation: "vertical"
});
});
// Min Range slider
$(".jui-vert-min-range-slider > span").each(function() {
// Read initial values
var val = parseInt( $( this ).text(), 10 );
// Empty span text
$( this ).empty();
$( this ).slider({
value: val,
range: "min",
animate: true,
orientation: "vertical"
}).slider('float');
});
// Max Range slider
$(".jui-vert-max-range-slider > span").each(function() {
// Read initial values
var val = parseInt( $( this ).text(), 10 );
// Empty span text
$( this ).empty();
$( this ).slider({
value: val,
range: "max",
animate: true,
orientation: "vertical"
}).slider('float');
});
/********************************************
* Vertical Advance Sliders *
********************************************/
// Only Pips
$(".jui-vert-slider-pips > span").each(function() {
var val = parseInt($(this).text(), 10);
$(this).empty();
$(this).slider({
min: 0,
max: 25,
value: val,
animate: "fast",
range: 'min',
orientation: "vertical"
});
});
$(".jui-vert-slider-pips > span").slider("pips", {
first: "pip",
last: "pip"
});
$(".jui-vert-slider-pips > span").slider("float");
// With labels
$( ".jui-vert-slider-pips-lables > span" ).each(function() {
var val = parseInt($(this).text(), 10);
$(this).empty();
$(this).slider({
min: 0,
max: 8,
value: val,
animate: "fast",
range: 'min',
orientation: "vertical"
});
});
$(".jui-vert-slider-pips-lables > span").slider("pips" , {
rest: "label"
});
$(".jui-vert-slider-pips-lables > span").slider("float");
// Hide Labels & Pips
$( ".jui-vert-hide-label-pip > span" ).each(function() {
var val = parseInt($(this).text(), 10);
$(this).empty();
$(this).slider({
min: 0,
max: 10,
value: val,
animate: "fast",
range: 'min',
orientation: "vertical"
});
});
$(".jui-vert-hide-label-pip > span").slider("pips",{
rest: false
});
$(".jui-vert-hide-label-pip > span").slider("float");
/********************************************
* Vertical Sliders Sizing *
********************************************/
$(".jui-vert-slider-size-default > span").each(function() {
// Read initial values
var val = parseInt( $( this ).text(), 10 );
// Empty span text
$( this ).empty();
$( this ).slider({
value: val,
range: "min",
animate: true,
orientation: "vertical"
}).slider('float');
});
$(".jui-vert-slider-size-pips > span").each(function() {
// Read initial values
var val = parseInt( $( this ).text(), 10 );
// Empty span text
$( this ).empty();
$( this ).slider({
min: 0,
max: 10,
value: val,
range: "min",
animate: true,
orientation: "vertical"
})
.slider('pips')
.slider('float');
});
// Fixed maximum
$(".ui-slider-vertical-range-max > span").each(function() {
// Read initial values from markup and remove that
var value = parseInt( $( this ).text(), 10 );
$( this ).empty().slider({
value: value,
range: "max",
animate: true,
orientation: "vertical"
});
});
// Default handle
$(".ui-slider-vertical-handle-default > span").each(function() {
// Read initial values from markup and remove that
var value = parseInt( $( this ).text(), 10 );
$( this ).empty().slider({
value: value,
range: "min",
animate: true,
orientation: "vertical"
});
});
/************************************
* Color Sliders *
************************************/
$( ".jui-default-color-slider, .jui-primary-color-slider, .jui-info-color-slider, .jui-success-color-slider, .jui-warning-color-slider, .jui-danger-color-slider" ).slider({
range: true,
min: 0,
max: 500,
values: [ 100, 400 ],
});
/************************************
* Sliders Sizing *
************************************/
$( ".jui-slider-sizing-xl, .jui-slider-sizing-lg, .jui-slider-sizing-default, .jui-slider-sizing-sm, .jui-slider-sizing-xs" ).slider({
range: true,
min: 0,
max: 500,
values: [ 100, 400 ],
});
// With Pips & Float
$( ".jui-slider-sizing-pips-xl, .jui-slider-sizing-pips-lg, .jui-slider-sizing-pips-default, .jui-slider-sizing-pips-sm, .jui-slider-sizing-pips-xs" )
.slider({
max: 50,
min: 0,
range: true,
values: [10, 40]
})
.slider("pips", {
first: "pip",
last: "pip"
})
.slider("float");
/**********************************
* Progress Bars *
**********************************/
$( ".pgbar-basic" ).progressbar({
value: 67
});
$( ".pgbar-striped" ).progressbar({
value: 34
});
$( ".pgbar-striped-animated" ).progressbar({
value: 86
});
$( ".pgbar-custom-label" ).progressbar({
value: 67
});
var progressbar = $(".pgbar-custom-label-bar"),
progressLabel = $(".pgbar-custom-label");
progressbar.progressbar({
value: false,
change: function() {
progressLabel.text(progressbar.progressbar("value") + "%");
},
complete: function() {
progressLabel.text("Complete!");
}
});
function progress() {
var val = progressbar.progressbar("value") || 0;
progressbar.progressbar("value", val + 2);
if (val < 99) {
setTimeout(progress, 80);
}
}
setTimeout(progress, 2000);
$( ".pgbar-max" ).progressbar({
max: 1024,
value: 840
});
$( ".pgbar-disabled" ).progressbar({
disabled: true,
value: 86
});
/****************************
* Spinner *
*****************************/
// Default
$( ".jui-spinner-default" ).spinner();
// Decimal
$( ".jui-spinner-decimal" ).spinner({
step: 0.01,
numberFormat: "n"
});
$( ".change-decimal-culture" ).on( "change", function() {
var current = $( ".jui-spinner-decimal" ).spinner( "value" );
Globalize.culture( $(this).val() );
$( ".jui-spinner-decimal" ).spinner( "value", current );
});
// Currency
$( ".change-currency" ).on( "change", function() {
$( ".jui-spinner-currency" ).spinner( "option", "culture", $( this ).val() );
});
$( ".jui-spinner-currency" ).spinner({
min: 5,
max: 2500,
step: 25,
start: 1000,
numberFormat: "C"
});
// Max
$( ".jui-spinner-max" ).spinner({
max: 50
});
// Min
$( ".jui-spinner-min" ).spinner({
min: 5
});
// Overflow
$(".jui-spinner-overflow").spinner({
spin: function(event, ui) {
if (ui.value > 10) {
$(this).spinner("value", -10);
return false;
} else if (ui.value < -10) {
$(this).spinner("value", 10);
return false;
}
}
});
// Time
$.widget("ui.timespinner", $.ui.spinner, {
options: {
// seconds
step: 60 * 1000,
// hours
page: 60
},
_parse: function(value) {
if (typeof value === "string") {
// already a timestamp
if (Number(value) == value) {
return Number(value);
}
return +Globalize.parseDate(value);
}
return value;
},
_format: function(value) {
return Globalize.format(new Date(value), "t");
}
});
$(".jui-spinner-time").timespinner();
$(".change-time-culture").on("change", function() {
var current = $(".jui-spinner-time").timespinner("value");
Globalize.culture($(this).val());
$(".jui-spinner-time").timespinner("value", current);
});
// Set Value
$( '.jui-spinner-set-value' ).spinner();
$( ".spinner-set-value-btn" ).on( "click", function() {
$( '.jui-spinner-set-value' ).spinner( "value", 5 );
});
// Step
$( ".jui-spinner-steps" ).spinner({
step: 10
});
// Change Buttons
$.widget( "ui.customspinner", $.ui.spinner, {
_buttonHtml: function() {
return "" +
"" +
"" +
"" +
"" +
"" +
"" +
"" +
"";
}
});
$( ".jui-spinner-color-buttons" ).customspinner();
// Disabled
$( ".jui-spinner-disabled" ).spinner({
disabled: true
});
});