mirror of
				https://github.com/fspc/Yellow-Bike-Database.git
				synced 2025-10-31 17:05:36 -04:00 
			
		
		
		
	Prevents both slider handles from having the same value.
This commit is contained in:
		
							parent
							
								
									cdf99e4005
								
							
						
					
					
						commit
						1979bde7eb
					
				| @ -239,15 +239,52 @@ $(function() { | ||||
| 	} // end function transaction_slider
 | ||||
| 
 | ||||
| 
 | ||||
| 	// make transaction slider keyboard friendly
 | ||||
| 	// Listen to keydown events on the input field.
 | ||||
| 	// make transaction slider keyboard friendly for lower and upper handle
 | ||||
| 	var slider_pointer = $('#gnucash_csv_range'); // slider does exist globally, but keeping namespaces clean
 | ||||
| 	var first_handle = $('#slider_lower'); | ||||
| 	var second_handle = $('#slider_upper'); | ||||
| 	 | ||||
| 	slider_keyboard(slider_pointer,first_handle,"lower"); | ||||
| 	slider_keyboard(slider_pointer,second_handle,"upper");	 | ||||
| 	 | ||||
| 	 | ||||
| 	// Do not allow both handles to have the same value
 | ||||
| 	slider_pointer.on("set",function(){ | ||||
| 		 | ||||
| 		if( $(this).val()[0] == $(this).val()[1] ) { | ||||
| 			console.log("slider handle is on the same value"); | ||||
| 			 | ||||
| 			var Format = wNumb({decimals:0}); | ||||
| 			var value = Format.from( $(this).val()[0] );			 | ||||
| 			var options_object = slider_pointer.noUiSlider('options'); | ||||
| 			 | ||||
| 			// make an array from the range options 
 | ||||
| 			var options_range = [], c = 0;			 | ||||
| 			$.each(options_object.range, function(k,v){ | ||||
| 				options_range[c] = v; | ||||
| 				c++; | ||||
| 			});			 | ||||
| 			 | ||||
| 			// create a lookup object to map arrays to proper plus or minus value array for when both handles have the same value
 | ||||
| 			var lookup_object = {}; | ||||
| 			lookup_object.minus = {}; | ||||
| 			$.each(options_range, function(k,v) { | ||||
| 				// last array element
 | ||||
| 				if (k == options_range.length - 1) { | ||||
| 					lookup_object.minus[v] =  [options_range[k-1],v];				 | ||||
| 				// first array element				
 | ||||
| 				} else if (k == 0) { | ||||
| 					lookup_object.minus[v] = [ options_range[k], options_range[k + 1] ]; | ||||
| 				} else { | ||||
| 					lookup_object.minus[v] = [options_range[k - 1],v];				 | ||||
| 				} | ||||
| 			});			 | ||||
| 			 | ||||
| 			$(this).val(lookup_object.minus[value]); | ||||
| 		} | ||||
| 		 | ||||
| 	});  // End - Do not let both handles have the same value
 | ||||
| 	 | ||||
| 	 | ||||
| 	// keyboard friendly slider
 | ||||
| 	function slider_keyboard(slider_pointer, input, handle) {		 | ||||
| 					 | ||||
| @ -316,6 +353,7 @@ $(function() { | ||||
| 			} | ||||
| 		}); // keyboard friendly slider
 | ||||
| 	} | ||||
| 
 | ||||
| 		 | ||||
| 	// gnucash account multi-select
 | ||||
| 	$("#gnucash_csv_accounts").chosen({ | ||||
| @ -323,7 +361,8 @@ $(function() { | ||||
| 		width: "260px" | ||||
| 	}); | ||||
| 	 | ||||
| 	 | ||||
| 
 | ||||
| 	// year pull-down for transaction slider	
 | ||||
| 	$("[name='gnucash_csv_year']").chosen(); | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user