mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 11:20:09 +00:00 
			
		
		
		
	tweaking events...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									a314131066
								
							
						
					
					
						commit
						b60bb38fbe
					
				| @ -520,6 +520,7 @@ var BrowserPrototype = { | |||||||
| 		this.__dom = value }, | 		this.__dom = value }, | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | 	// Element renderers...
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// Foramt:
 | 	// Foramt:
 | ||||||
| 	// 	<div class="browse-widget" tabindex="0">
 | 	// 	<div class="browse-widget" tabindex="0">
 | ||||||
| @ -534,6 +535,7 @@ var BrowserPrototype = { | |||||||
| 	// 	</div>
 | 	// 	</div>
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// XXX instrument interactions...
 | 	// XXX instrument interactions...
 | ||||||
|  | 	// XXX register event handlers...
 | ||||||
| 	renderList: function(items, context){ | 	renderList: function(items, context){ | ||||||
| 		var that = this | 		var that = this | ||||||
| 		var options = context.options || this.options | 		var options = context.options || this.options | ||||||
| @ -557,6 +559,9 @@ var BrowserPrototype = { | |||||||
| 					: item) }) | 					: item) }) | ||||||
| 		dialog.appendChild(list) | 		dialog.appendChild(list) | ||||||
| 
 | 
 | ||||||
|  | 		// XXX event handlers...
 | ||||||
|  | 		// XXX
 | ||||||
|  | 
 | ||||||
| 		return dialog  | 		return dialog  | ||||||
| 	}, | 	}, | ||||||
| 	//
 | 	//
 | ||||||
| @ -592,6 +597,7 @@ var BrowserPrototype = { | |||||||
| 	// 	</div>
 | 	// 	</div>
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// XXX can we influence how the options are passed to the header???
 | 	// XXX can we influence how the options are passed to the header???
 | ||||||
|  | 	// XXX register event handlers...
 | ||||||
| 	renderNested: function(header, sublist, item, context){ | 	renderNested: function(header, sublist, item, context){ | ||||||
| 		var that = this | 		var that = this | ||||||
| 		var options = context.options || this.options | 		var options = context.options || this.options | ||||||
| @ -613,11 +619,9 @@ var BrowserPrototype = { | |||||||
| 				&& header.classList.add('collapsed') | 				&& header.classList.add('collapsed') | ||||||
| 
 | 
 | ||||||
| 			// collapse action handler...
 | 			// collapse action handler...
 | ||||||
| 			// XXX STUB: make this overloadable...
 | 			// XXX make this overloadable...
 | ||||||
| 			// XXX handle the 'open' event...
 | 			$(header).on('open', function(evt){ | ||||||
| 			header.addEventListener('click', function(evt){ |  | ||||||
| 				item.collapsed = !item.collapsed | 				item.collapsed = !item.collapsed | ||||||
| 				// XXX need to pass the root context here...
 |  | ||||||
| 				that.render(context) | 				that.render(context) | ||||||
| 			}) | 			}) | ||||||
| 
 | 
 | ||||||
| @ -634,6 +638,9 @@ var BrowserPrototype = { | |||||||
| 					e.appendChild(item) }) | 					e.appendChild(item) }) | ||||||
| 		: null | 		: null | ||||||
| 
 | 
 | ||||||
|  | 		// XXX event handlers... (???)
 | ||||||
|  | 		// XXX
 | ||||||
|  | 
 | ||||||
| 		item.dom = e | 		item.dom = e | ||||||
| 
 | 
 | ||||||
| 		return e | 		return e | ||||||
| @ -677,6 +684,7 @@ var BrowserPrototype = { | |||||||
| 		if(options.hidden && !options.renderHidden){ | 		if(options.hidden && !options.renderHidden){ | ||||||
| 			return null | 			return null | ||||||
| 		} | 		} | ||||||
|  | 		var text = JSON.stringify(item.value) | ||||||
| 		var elem = document.createElement('div') | 		var elem = document.createElement('div') | ||||||
| 
 | 
 | ||||||
| 		// classes...
 | 		// classes...
 | ||||||
| @ -697,7 +705,7 @@ var BrowserPrototype = { | |||||||
| 		Object.entries(item.attrs || {}) | 		Object.entries(item.attrs || {}) | ||||||
| 			.forEach(function([key, value]){ | 			.forEach(function([key, value]){ | ||||||
| 				elem.setAttribute(key, value) }) | 				elem.setAttribute(key, value) }) | ||||||
| 		elem.setAttribute('value', JSON.stringify(item.value)) | 		elem.setAttribute('value', text) | ||||||
| 
 | 
 | ||||||
| 		// values...
 | 		// values...
 | ||||||
| 		;(item.value instanceof Array ? item.value : [item.value]) | 		;(item.value instanceof Array ? item.value : [item.value]) | ||||||
| @ -710,6 +718,10 @@ var BrowserPrototype = { | |||||||
| 			}) | 			}) | ||||||
| 
 | 
 | ||||||
| 		// events...
 | 		// events...
 | ||||||
|  | 		// XXX revise signature...
 | ||||||
|  | 		elem.addEventListener('click',  | ||||||
|  | 			function(){ $(elem).trigger('open', [text, item, elem]) }) | ||||||
|  | 		//elem.addEventListener('tap', function(){ $(elem).trigger('open', [text, item, elem]) })
 | ||||||
| 		Object.entries(item.events || {}) | 		Object.entries(item.events || {}) | ||||||
| 			// shorthand events...
 | 			// shorthand events...
 | ||||||
| 			.concat([ | 			.concat([ | ||||||
| @ -749,7 +761,9 @@ var BrowserPrototype = { | |||||||
| 		return elem  | 		return elem  | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
| 	// save the rendered state to .dom and wrap a list of nodes in a div...
 | 	// This does tow additional things:
 | ||||||
|  | 	// 	- save the rendered state to .dom 
 | ||||||
|  | 	// 	- wrap a list of nodes (nested list) in a div
 | ||||||
| 	render: function(options){ | 	render: function(options){ | ||||||
| 		var d = object.parent(BrowserPrototype.render, this).call(this, ...arguments) | 		var d = object.parent(BrowserPrototype.render, this).call(this, ...arguments) | ||||||
| 
 | 
 | ||||||
| @ -760,10 +774,19 @@ var BrowserPrototype = { | |||||||
| 				c.appendChild(e) }) | 				c.appendChild(e) }) | ||||||
| 			d = c | 			d = c | ||||||
| 		} | 		} | ||||||
|  | 
 | ||||||
| 		this.dom = d | 		this.dom = d | ||||||
| 		return this.dom | 		return this.dom | ||||||
| 	}, | 	}, | ||||||
| 
 | 
 | ||||||
|  | 	// Custom events...
 | ||||||
|  | 	// XXX do we use jQuery event handling or vanilla?
 | ||||||
|  | 	// 		...feels like jQuery here wins as it provides a far simpler
 | ||||||
|  | 	// 		API + it's a not time critical area...
 | ||||||
|  | 	open: function(func){ | ||||||
|  | 	}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 	filter: function(){}, | 	filter: function(){}, | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user