mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-11-04 05:10:07 +00:00 
			
		
		
		
	fixed a bug in how properties were handled by Actions(..)...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									5cbc5f0fe6
								
							
						
					
					
						commit
						4352a457a0
					
				@ -173,8 +173,9 @@ if(typeof(args2array) != 'function'){
 | 
				
			|||||||
// 	  action chain.
 | 
					// 	  action chain.
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// NOTE: if the root handler is instance of Toggler (jli) and the action
 | 
					// NOTE: if the root handler is instance of Toggler (jli) and the action
 | 
				
			||||||
// 		is called with '?' as argument, then the toggler will be called 
 | 
					// 		is called with '?'/'??' as argument, then the toggler will be 
 | 
				
			||||||
// 		with the argument and return the result bypassing the handlers.
 | 
					// 		called with the argument and return the result bypassing the 
 | 
				
			||||||
 | 
					// 		handlers.
 | 
				
			||||||
// NOTE: actions once defined do not depend on the inheritance hierarchy, 
 | 
					// NOTE: actions once defined do not depend on the inheritance hierarchy, 
 | 
				
			||||||
// 		other than the .getHandlers(..) method. If this method is not 
 | 
					// 		other than the .getHandlers(..) method. If this method is not 
 | 
				
			||||||
// 		found in the inheritance chain (i.e. the link to MetaActions)
 | 
					// 		found in the inheritance chain (i.e. the link to MetaActions)
 | 
				
			||||||
@ -229,11 +230,11 @@ function Action(name, doc, ldoc, func){
 | 
				
			|||||||
		//	.map(function(h){ return h.apply(that, args) })
 | 
							//	.map(function(h){ return h.apply(that, args) })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// special case: if the root handler is a toggler and we call 
 | 
							// special case: if the root handler is a toggler and we call 
 | 
				
			||||||
		// it with '?' then do not call the handlers...
 | 
							// it with '?'/'??' then do not call the handlers...
 | 
				
			||||||
		// XXX might be good to make this modular/configurable...
 | 
							// XXX might be good to make this modular/configurable...
 | 
				
			||||||
		if(handlers.slice(-1)[0] instanceof Toggler 
 | 
							if(handlers.slice(-1)[0] instanceof Toggler 
 | 
				
			||||||
				&& args.length == 1 
 | 
									&& args.length == 1 
 | 
				
			||||||
				&& args[0] == '?'){
 | 
									&& (args[0] == '?' || args[0] == '??')){
 | 
				
			||||||
			return handlers.slice(-1)[0].apply(this, args)
 | 
								return handlers.slice(-1)[0].apply(this, args)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -827,7 +828,12 @@ function Actions(a, b){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// NOTE: this is intentionally done only for own attributes...
 | 
						// NOTE: this is intentionally done only for own attributes...
 | 
				
			||||||
	Object.keys(obj).forEach(function(k){
 | 
						Object.keys(obj).forEach(function(k){
 | 
				
			||||||
		var args = obj[k]
 | 
							// NOTE: we are not getting the attrs directly (vars = obj[k])
 | 
				
			||||||
 | 
							// 		as that will trigger the getters on an object that is
 | 
				
			||||||
 | 
							// 		not in a consistent state...
 | 
				
			||||||
 | 
							// NOTE: this will skip all the getters and setters, they will 
 | 
				
			||||||
 | 
							// 		be included as-is...
 | 
				
			||||||
 | 
							var args = Object.getOwnPropertyDescriptor(obj, k).value
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// skip non-arrays...
 | 
							// skip non-arrays...
 | 
				
			||||||
		if(args == null 
 | 
							if(args == null 
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user