slider.js (922B)
1 ( function ( $, rwmb ) { 2 'use strict'; 3 4 function transform() { 5 var $input = $( this ), 6 $slider = $input.siblings( '.rwmb-slider-ui' ), 7 $label = $slider.siblings( '.rwmb-slider-label' ).find( 'span' ), 8 value = $input.val(), 9 options = $slider.data( 'options' ); 10 11 $slider.html( '' ); 12 $label.text( value ); 13 14 if ( true === options.range ) { 15 value = value.split( '|' ); 16 options.values = value; 17 } else { 18 options.value = value; 19 } 20 21 options.slide = function ( event, ui ) { 22 var value = ui.value; 23 if ( options.range === true ) { 24 value = ui.values[ 0 ] + '|' + ui.values[ 1 ]; 25 } 26 27 $input.val( value ).trigger( 'change' ); 28 $label.html( value ); 29 }; 30 31 $slider.slider( options ); 32 } 33 34 function init( e ) { 35 $( e.target ).find( '.rwmb-slider' ).each( transform ); 36 } 37 38 rwmb.$document 39 .on( 'mb_ready', init ) 40 .on( 'clone', '.rwmb-slider', transform ); 41 } )( jQuery, rwmb );