redux-spinner.js (1439B)
1 /* global redux */ 2 3 (function( $ ) { 4 'use strict'; 5 6 redux.field_objects = redux.field_objects || {}; 7 redux.field_objects.spinner = redux.field_objects.spinner || {}; 8 9 redux.field_objects.spinner.init = function( selector ) { 10 selector = $.redux.getSelector( selector, 'spinner' ); 11 12 $( selector ).each( 13 function() { 14 var el = $( this ); 15 var parent = el; 16 17 if ( ! el.hasClass( 'redux-field-container' ) ) { 18 parent = el.parents( '.redux-field-container:first' ); 19 } 20 21 if ( parent.is( ':hidden' ) ) { 22 return; 23 } 24 25 if ( parent.hasClass( 'redux-field-init' ) ) { 26 parent.removeClass( 'redux-field-init' ); 27 } else { 28 return; 29 } 30 31 el.find( '.redux_spinner' ).each( 32 function() { 33 34 // Slider init. 35 var spinner = $( this ).find( '.spinner-input' ).data(); 36 37 spinner.id = $( this ).find( '.spinner-input' ).attr( 'id' ); 38 39 el.find( '#' + spinner.id ).spinner( 40 { 41 value: parseFloat( spinner.val, null ), 42 min: parseFloat( spinner.min, null ), 43 max: parseFloat( spinner.max, null ), 44 step: parseFloat( spinner.step, null ), 45 addText: spinner.plus, 46 subText: spinner.minus, 47 prefix: spinner.prefix, 48 suffix: spinner.suffix, 49 places: spinner.places, 50 point: spinner.point 51 } 52 ); 53 } 54 ); 55 } 56 ); 57 }; 58 })( jQuery );