fragments are now zero-indexed
This commit is contained in:
		
							
								
								
									
										24
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -1047,7 +1047,7 @@ var Reveal = (function(){ | ||||
|  | ||||
| 		a.forEach( function( el, idx ) { | ||||
| 			if( !el.hasAttribute( 'data-fragment-index' ) ) { | ||||
| 				el.setAttribute( 'data-fragment-index', idx + 1 ); | ||||
| 				el.setAttribute( 'data-fragment-index', idx ); | ||||
| 			} | ||||
| 		} ); | ||||
|  | ||||
| @@ -2261,7 +2261,7 @@ var Reveal = (function(){ | ||||
| 			var hasFragments = currentSlide.querySelectorAll( '.fragment' ).length > 0; | ||||
| 			if( hasFragments ) { | ||||
| 				var visibleFragments = currentSlide.querySelectorAll( '.fragment.visible' ); | ||||
| 				f = visibleFragments.length; | ||||
| 				f = visibleFragments.length - 1; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| @@ -2273,7 +2273,7 @@ var Reveal = (function(){ | ||||
| 	 * Navigate to the specified slide fragment. | ||||
| 	 * | ||||
| 	 * @param {Number} index The index of the fragment that | ||||
| 	 * should be shown, 1-based, 0 means all are invisible | ||||
| 	 * should be shown, -1 means all are invisible | ||||
| 	 * @param {Number} offset Integer offset to apply to the | ||||
| 	 * fragment index | ||||
| 	 * | ||||
| @@ -2292,10 +2292,10 @@ var Reveal = (function(){ | ||||
| 					var lastVisibleFragment = sortFragments( currentSlide.querySelectorAll( '.fragment.visible' ) ).pop(); | ||||
|  | ||||
| 					if( lastVisibleFragment ) { | ||||
| 						index = parseInt( lastVisibleFragment.getAttribute( 'data-fragment-index' ) || 1, 10 ); | ||||
| 						index = parseInt( lastVisibleFragment.getAttribute( 'data-fragment-index' ) || 0, 10 ); | ||||
| 					} | ||||
| 					else { | ||||
| 						index = 0; | ||||
| 						index = -1; | ||||
| 					} | ||||
| 				} | ||||
|  | ||||
| @@ -2309,8 +2309,14 @@ var Reveal = (function(){ | ||||
|  | ||||
| 				toArray( fragments ).forEach( function( element, i ) { | ||||
|  | ||||
| 					// Hidden fragments | ||||
| 					if( i > index ) { | ||||
| 						if( element.classList.contains( 'visible' ) ) fragmentsHidden.push( element ); | ||||
| 						element.classList.remove( 'visible' ); | ||||
| 						element.classList.remove( 'current-fragment' ); | ||||
| 					} | ||||
| 					// Visible fragments | ||||
| 					if( i < index ) { | ||||
| 					else { | ||||
| 						if( !element.classList.contains( 'visible' ) ) fragmentsShown.push( element ); | ||||
| 						element.classList.add( 'visible' ); | ||||
| 						element.classList.remove( 'current-fragment' ); | ||||
| @@ -2319,12 +2325,6 @@ var Reveal = (function(){ | ||||
| 							element.classList.add( 'current-fragment' ); | ||||
| 						} | ||||
| 					} | ||||
| 					// Hidden fragments | ||||
| 					else { | ||||
| 						if( element.classList.contains( 'visible' ) ) fragmentsHidden.push( element ); | ||||
| 						element.classList.remove( 'visible' ); | ||||
| 						element.classList.remove( 'current-fragment' ); | ||||
| 					} | ||||
|  | ||||
|  | ||||
| 				} ); | ||||
|   | ||||
							
								
								
									
										4
									
								
								js/reveal.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								js/reveal.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										20
									
								
								test/test.js
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								test/test.js
									
									
									
									
									
								
							| @@ -139,6 +139,9 @@ Reveal.addEventListener( 'ready', function() { | ||||
| 		deepEqual( Reveal.getIndices(), { h: 1, v: 2, f: undefined } ); | ||||
|  | ||||
| 		// There's fragments on this slide | ||||
| 		Reveal.next(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: -1 } ); | ||||
|  | ||||
| 		Reveal.next(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 0 } ); | ||||
|  | ||||
| @@ -148,9 +151,6 @@ Reveal.addEventListener( 'ready', function() { | ||||
| 		Reveal.next(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 2 } ); | ||||
|  | ||||
| 		Reveal.next(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 3 } ); | ||||
|  | ||||
| 		Reveal.next(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 3, v: 0, f: undefined } ); | ||||
|  | ||||
| @@ -177,31 +177,31 @@ Reveal.addEventListener( 'ready', function() { | ||||
| 	}); | ||||
|  | ||||
| 	test( 'Stepping through fragments', function() { | ||||
| 		Reveal.slide( 2, 0, 0 ); | ||||
| 		Reveal.slide( 2, 0, -1 ); | ||||
|  | ||||
| 		// forwards: | ||||
|  | ||||
| 		Reveal.next(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 1 }, 'next() goes to next fragment' ); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 0 }, 'next() goes to next fragment' ); | ||||
|  | ||||
| 		Reveal.right(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 2 }, 'right() goes to next fragment' ); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 1 }, 'right() goes to next fragment' ); | ||||
|  | ||||
| 		Reveal.down(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 3 }, 'down() goes to next fragment' ); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 2 }, 'down() goes to next fragment' ); | ||||
|  | ||||
| 		Reveal.down(); // moves to f #3 | ||||
|  | ||||
| 		// backwards: | ||||
|  | ||||
| 		Reveal.prev(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 2 }, 'prev() goes to prev fragment' ); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 1 }, 'prev() goes to prev fragment' ); | ||||
|  | ||||
| 		Reveal.left(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 1 }, 'left() goes to prev fragment' ); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 0 }, 'left() goes to prev fragment' ); | ||||
|  | ||||
| 		Reveal.up(); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 0 }, 'left() goes to prev fragment' ); | ||||
| 		deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: -1 }, 'up() goes to prev fragment' ); | ||||
| 	}); | ||||
|  | ||||
| 	test( 'Stepping past fragments', function() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user