mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 03:10:07 +00:00 
			
		
		
		
	experimenting with Items.EditablePinnedList(..)
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									d0f0356edc
								
							
						
					
					
						commit
						268ad86bdd
					
				| @ -864,6 +864,68 @@ function(list, options){ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | // XXX should this be a single list or two lists???
 | ||||||
|  | // 		...with a single list it's simpler to play with items w/o full updates...
 | ||||||
|  | // XXX add a fast redraw mode to .update(..)
 | ||||||
|  | // 		- do not clear items
 | ||||||
|  | // 		- if args did not change:
 | ||||||
|  | // 			- check if cur item is the same 
 | ||||||
|  | // 				...same text, options, signature to make(..)???
 | ||||||
|  | // 			- if the same, keep the element
 | ||||||
|  | // 			- if different find and place
 | ||||||
|  | // 			- if nothing found, create
 | ||||||
|  | Items.EditablePinnedList = | ||||||
|  | function(list, pins, options){ | ||||||
|  | 	options = options || {} | ||||||
|  | 
 | ||||||
|  | 	// buttons...
 | ||||||
|  | 	var buttons = options.buttons = (options.buttons || []).slice() | ||||||
|  | 	// XXX pin/unpin button...
 | ||||||
|  | 	var pin = [ | ||||||
|  | 		'<span class="pin-set">●</span>' | ||||||
|  | 		+'<span class="pin-unset">○</span>',  | ||||||
|  | 			function(p, cur){ | ||||||
|  | 				// XXX toggle pin...
 | ||||||
|  | 				// XXX also check pins length limit...
 | ||||||
|  | 			}] | ||||||
|  | 	var i = buttons.indexOf('$PIN') | ||||||
|  | 	i < 0 ?  | ||||||
|  | 		buttons.push(pin) | ||||||
|  | 		: (buttons[i] = pin)  | ||||||
|  | 
 | ||||||
|  | 	// options for pins...
 | ||||||
|  | 	var pins_options = { | ||||||
|  | 		list_id: options.pins_id || 'pins', | ||||||
|  | 		cls: (options.cls || '') + ' pinned', | ||||||
|  | 		new_item: false, | ||||||
|  | 		length_limit: options.pins_lenght_limit || 10, | ||||||
|  | 	} | ||||||
|  | 	pins_options.__proto__ = options | ||||||
|  | 
 | ||||||
|  | 	var sortable = pins_options.sortable = options.pins_sortable !== false || true | ||||||
|  | 	sortable  | ||||||
|  | 		|| pins.sort(function(a, b){ | ||||||
|  | 			// XXX
 | ||||||
|  | 		}) | ||||||
|  | 
 | ||||||
|  | 	// build the list...
 | ||||||
|  | 	var res = this.EditableList(pins, pins_options) | ||||||
|  | 		.toArray() | ||||||
|  | 
 | ||||||
|  | 	res.push(this.Separator()) | ||||||
|  | 
 | ||||||
|  | 	res.concat(this.EditableList( | ||||||
|  | 			// remove pinned from list...
 | ||||||
|  | 			// XXX should these be removed or hidden???
 | ||||||
|  | 			list.filter(function(e){ return pins.indexOf(e) >= 0 }),  | ||||||
|  | 			options) | ||||||
|  | 		.toArray()) | ||||||
|  | 
 | ||||||
|  | 	return $(res) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| //---------------------------------------------------------------------
 | //---------------------------------------------------------------------
 | ||||||
| // Browse item buttons (button constructors)...
 | // Browse item buttons (button constructors)...
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user