mirror of
				https://github.com/flynx/PortableMag.git
				synced 2025-10-31 03:50:16 +00:00 
			
		
		
		
	some minor refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									24272ae701
								
							
						
					
					
						commit
						a04d21e132
					
				
							
								
								
									
										44
									
								
								layout.js
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								layout.js
									
									
									
									
									
								
							| @ -79,6 +79,9 @@ var togglePageView = createCSSClassToggler( | |||||||
| /************************************************** event handlers ***/ | /************************************************** event handlers ***/ | ||||||
| 
 | 
 | ||||||
| // XXX make this more universal...
 | // XXX make this more universal...
 | ||||||
|  | // 		- h/v scroll
 | ||||||
|  | // 		- general configuration
 | ||||||
|  | // 		- optional events...
 | ||||||
| // XXX should we use a callback or an event???
 | // XXX should we use a callback or an event???
 | ||||||
| function makeScrollHandler(root, callback){ | function makeScrollHandler(root, callback){ | ||||||
| 
 | 
 | ||||||
| @ -88,16 +91,37 @@ function makeScrollHandler(root, callback){ | |||||||
| 	var touches = 0 | 	var touches = 0 | ||||||
| 	var start | 	var start | ||||||
| 	var prev_x | 	var prev_x | ||||||
|  | 	var prev_y | ||||||
| 	var prev_t | 	var prev_t | ||||||
|  | 	var bounds | ||||||
| 	var shift | 	var shift | ||||||
| 	var scale | 	var scale | ||||||
| 	var x | 	var x | ||||||
|  | 	var y | ||||||
| 	var t | 	var t | ||||||
| 	var dx | 	var dx | ||||||
| 	var dt | 	var dt | ||||||
| 
 | 
 | ||||||
|  | 	// XXX at this point this is not used...
 | ||||||
|  | 	var config = { | ||||||
|  | 		hScroll: true, | ||||||
|  | 		vScroll: false, | ||||||
|  | 
 | ||||||
|  | 		enableEvents: false, | ||||||
|  | 		autoCancelEvents: false, | ||||||
|  | 		eventBounds: 5, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	function startMoveHandler(evt, callback){ | 	function startMoveHandler(evt, callback){ | ||||||
| 		prev_t = event.timeStamp || Date.now(); | 		prev_t = event.timeStamp || Date.now(); | ||||||
|  | 		if(config.autoCancelEvents){ | ||||||
|  | 			bounds = { | ||||||
|  | 				left: config.eventBounds, | ||||||
|  | 				right: root.width() - config.eventBounds, | ||||||
|  | 				top: config.eventBounds, | ||||||
|  | 				bottom: root.height() - config.eventBounds  | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
| 		setTransitionDuration($('.magazine'), 0) | 		setTransitionDuration($('.magazine'), 0) | ||||||
| 		if(event.touches != null){ | 		if(event.touches != null){ | ||||||
| 			touch = true | 			touch = true | ||||||
| @ -123,10 +147,23 @@ function makeScrollHandler(root, callback){ | |||||||
| 		// get the user coords...
 | 		// get the user coords...
 | ||||||
| 		x = touch ? event.touches[0].pageX : evt.clientX | 		x = touch ? event.touches[0].pageX : evt.clientX | ||||||
| 		touches = touch ? event.touches.length : 0 | 		touches = touch ? event.touches.length : 0 | ||||||
|  | 
 | ||||||
|  | 		// XXX needs testing...
 | ||||||
|  | 		if(config.autoCancelEvents){ | ||||||
|  | 			if(config.hScroll && (x <= bounds.left || x >= bounds.right) | ||||||
|  | 				|| config.vScroll && (y <= bounds.top || y >= bounds.bottom)){ | ||||||
|  | 				// XXX cancel the touch event and trigger the end handler...
 | ||||||
|  | 				return endMoveHandler(evt) | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		// do the actual scroll...
 | ||||||
| 		if(scrolling){ | 		if(scrolling){ | ||||||
| 			shift += x - prev_x | 			shift += x - prev_x | ||||||
| 			setElementTransform($('.magazine'), shift, scale) | 			setElementTransform($('.magazine'), shift, scale) | ||||||
| 		} | 		} | ||||||
|  | 		// XXX these should be done every time the event is caught or 
 | ||||||
|  | 		// 		just while scrolling?
 | ||||||
| 		dx = x - prev_x | 		dx = x - prev_x | ||||||
| 		dt = t - prev_t | 		dt = t - prev_t | ||||||
| 		prev_t = t | 		prev_t = t | ||||||
| @ -165,6 +202,7 @@ function makeScrollHandler(root, callback){ | |||||||
| 					.on('touchstart', startMoveHandler) | 					.on('touchstart', startMoveHandler) | ||||||
| 					.on('touchmove', moveHandler)  | 					.on('touchmove', moveHandler)  | ||||||
| 					.on('touchend', endMoveHandler) | 					.on('touchend', endMoveHandler) | ||||||
|  | 					.on('touchcancel', endMoveHandler) | ||||||
| 			} else { | 			} else { | ||||||
| 				root | 				root | ||||||
| 					.on('mousedown', startMoveHandler)  | 					.on('mousedown', startMoveHandler)  | ||||||
| @ -281,9 +319,8 @@ function setMagazineScale(scale){ | |||||||
| 	var mag = $('.magazine') | 	var mag = $('.magazine') | ||||||
| 	var cur = $('.current.page') | 	var cur = $('.current.page') | ||||||
| 
 | 
 | ||||||
| 	// XXX make this check more unversal...
 |  | ||||||
| 	// center-align ribbon view pages...
 | 	// center-align ribbon view pages...
 | ||||||
| 	var align = scale < 1 ? 'center' : null | 	var align = isNavigationViewRelative() ? 'center' : null | ||||||
| 
 | 
 | ||||||
| 	var left = getMagazineOffset(cur, scale, align) | 	var left = getMagazineOffset(cur, scale, align) | ||||||
| 
 | 
 | ||||||
| @ -311,9 +348,8 @@ function setCurrentPage(n){ | |||||||
| 
 | 
 | ||||||
| 	var cur = $('.current.page') | 	var cur = $('.current.page') | ||||||
| 
 | 
 | ||||||
| 	// XXX make this check more unversal...
 |  | ||||||
| 	// center-align pages in ribbon view...
 | 	// center-align pages in ribbon view...
 | ||||||
| 	var align = scale < 1 ? 'center' : null | 	var align = isNavigationViewRelative() ? 'center' : null | ||||||
| 
 | 
 | ||||||
| 	var left = getMagazineOffset(cur, null, align) | 	var left = getMagazineOffset(cur, null, align) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user