balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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 );