redux-dimensions.js (1607B)
1 /* global jQuery, redux */ 2 3 (function( $ ) { 4 'use strict'; 5 6 redux.field_objects = redux.field_objects || {}; 7 redux.field_objects.dimensions = redux.field_objects.dimensions || {}; 8 9 redux.field_objects.dimensions.init = function( selector ) { 10 selector = $.redux.getSelector( selector, 'dimensions' ); 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-dimensions-units' ).select2(); 32 33 el.find( '.redux-dimensions-input' ).on( 34 'change', 35 function() { 36 var units = $( this ).parents( '.redux-field:first' ).find( '.field-units' ).val(); 37 if ( 0 !== $( this ).parents( '.redux-field:first' ).find( '.redux-dimensions-units' ).length ) { 38 units = $( this ).parents( '.redux-field:first' ).find( '.redux-dimensions-units option:selected' ).val(); 39 } 40 if ( 'undefined' !== typeof units ) { 41 el.find( '#' + $( this ).attr( 'rel' ) ).val( $( this ).val() + units ); 42 } else { 43 el.find( '#' + $( this ).attr( 'rel' ) ).val( $( this ).val() ); 44 } 45 } 46 ); 47 48 el.find( '.redux-dimensions-units' ).on( 49 'change', 50 function() { 51 $( this ).parents( '.redux-field:first' ).find( '.redux-dimensions-input' ).change(); 52 } 53 ); 54 } 55 ); 56 }; 57 })( jQuery );