mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 11:20:09 +00:00 
			
		
		
		
	promptPlus now working, still need some tweaking and a better name...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									e3f08a460c
								
							
						
					
					
						commit
						9721fbef61
					
				
							
								
								
									
										44
									
								
								ui/ui.js
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								ui/ui.js
									
									
									
									
									
								
							| @ -453,8 +453,8 @@ var FIELD_TYPES = { | |||||||
| 		test: function(val){ | 		test: function(val){ | ||||||
| 			return typeof(val) == typeof('abc') | 			return typeof(val) == typeof('abc') | ||||||
| 		}, | 		}, | ||||||
| 		set: function(field){ | 		set: function(field, value){ | ||||||
| 			$(field).find('.value').attr('value', this.default)  | 			$(field).find('.value').attr('value', value)  | ||||||
| 		}, | 		}, | ||||||
| 		get: function(field){  | 		get: function(field){  | ||||||
| 			return $(field).find('.value').attr('value')  | 			return $(field).find('.value').attr('value')  | ||||||
| @ -479,7 +479,7 @@ var FIELD_TYPES = { | |||||||
| 			} | 			} | ||||||
| 		}, | 		}, | ||||||
| 		get: function(field){  | 		get: function(field){  | ||||||
| 			return $(field).find('.value').attr('value')  | 			return $(field).find('.value').attr('checked') == 'checked' | ||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
| } | } | ||||||
| @ -491,6 +491,7 @@ var FIELD_TYPES = { | |||||||
| //		// simple field...
 | //		// simple field...
 | ||||||
| //		<field-description>: <default-value>,
 | //		<field-description>: <default-value>,
 | ||||||
| //
 | //
 | ||||||
|  | //		// XXX not yet implemented outside of FIELD_TYPES...
 | ||||||
| //		<field-description>: {
 | //		<field-description>: {
 | ||||||
| //			type: <type-name>,
 | //			type: <type-name>,
 | ||||||
| //			text: <field-description>,
 | //			text: <field-description>,
 | ||||||
| @ -516,14 +517,17 @@ var FIELD_TYPES = { | |||||||
| // 	string		- textarea
 | // 	string		- textarea
 | ||||||
| // 	array		- dropdown
 | // 	array		- dropdown
 | ||||||
| //
 | //
 | ||||||
|  | // XXX add form testing...
 | ||||||
|  | // XXX add undefined field handling/reporting...
 | ||||||
| // XXX find a better name...
 | // XXX find a better name...
 | ||||||
| function promptPlus(message, config, btn){ | function promptPlus(message, config, btn, cls){ | ||||||
|  | 	cls = cls == null ? '' : cls | ||||||
| 	var form = $('<div class="form"/>') | 	var form = $('<div class="form"/>') | ||||||
| 	var data = {} | 	var data = {} | ||||||
| 	var res = $.Deferred() | 	var res = $.Deferred() | ||||||
| 
 | 
 | ||||||
| 	// XXX handle message and btn...
 | 	// handle message and btn...
 | ||||||
| 	// XXX
 | 	form.append($('<div class="text">'+message+'</div>')) | ||||||
| 
 | 
 | ||||||
| 	// build the form...
 | 	// build the form...
 | ||||||
| 	for(var t in config){ | 	for(var t in config){ | ||||||
| @ -536,14 +540,18 @@ function promptPlus(message, config, btn){ | |||||||
| 				html.find('.text').text(t) | 				html.find('.text').text(t) | ||||||
| 				field.set(html, config[t]) | 				field.set(html, config[t]) | ||||||
| 
 | 
 | ||||||
| 				html.on('resolve', function(){ | 				// NOTE: this is here to isolate t and field.get values...
 | ||||||
| 					data[t] = field.get(html) | 				// 		...is there a better way???
 | ||||||
| 				}) | 				var _ = (function(title, getter){ | ||||||
|  | 					html.on('resolve', function(evt, e){ | ||||||
|  | 						data[title] = getter(e) | ||||||
|  | 					}) | ||||||
|  | 				})(t, field.get) | ||||||
| 
 | 
 | ||||||
| 				form.append(html) | 				form.append(html) | ||||||
| 
 | 
 | ||||||
| 				did_handling = true | 				did_handling = true | ||||||
| 				continue | 				break | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| @ -554,13 +562,17 @@ function promptPlus(message, config, btn){ | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	// add button...
 | ||||||
|  | 	var button = $('<button class="accept">'+btn+'</button>') | ||||||
|  | 	form.append(button) | ||||||
|  | 
 | ||||||
| 	var root = $('.viewer') | 	var root = $('.viewer') | ||||||
| 	 | 	 | ||||||
| 	showInOverlay(root, form) | 	var overlay = showInOverlay(root, form) | ||||||
| 		.addClass('prompt dialog') | 		.addClass('dialog ' + cls) | ||||||
| 		.on('accept', function(){ | 		.on('accept', function(){ | ||||||
| 			form.find('.field').each(function(_, e){ | 			form.find('.field').each(function(_, e){ | ||||||
| 				$(e).trigger('resolve') | 				$(e).trigger('resolve', [$(e)]) | ||||||
| 			}) | 			}) | ||||||
| 
 | 
 | ||||||
| 			// XXX test if all required stuff is filled...
 | 			// XXX test if all required stuff is filled...
 | ||||||
| @ -570,9 +582,13 @@ function promptPlus(message, config, btn){ | |||||||
| 		}) | 		}) | ||||||
| 		.on('close', function(){ | 		.on('close', function(){ | ||||||
| 			res.reject() | 			res.reject() | ||||||
| 			hideOverlay(root) | 
 | ||||||
| 		}) | 		}) | ||||||
| 
 | 
 | ||||||
|  | 	button.click(function(){ | ||||||
|  | 		overlay.trigger('accept') | ||||||
|  | 	}) | ||||||
|  | 
 | ||||||
| 	return res | 	return res | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user