diff options
author | Hakim El Hattab <hakim.elhattab@gmail.com> | 2013-01-26 13:32:07 -0500 |
---|---|---|
committer | Hakim El Hattab <hakim.elhattab@gmail.com> | 2013-01-26 13:32:07 -0500 |
commit | 784fa9d2e3570054728d21f8098199dc9d4164b9 (patch) | |
tree | 31735672ac04512d21110db36dc2e6cf039837d6 /plugin/notes/notes.html | |
parent | ab3f4e5ba3e846a5879049ac729fe18236c59805 (diff) | |
download | fosdem-2018-presentation-784fa9d2e3570054728d21f8098199dc9d4164b9.tar fosdem-2018-presentation-784fa9d2e3570054728d21f8098199dc9d4164b9.tar.gz |
merge in timer in notes window, timer now stays hidden until initial time is set
Diffstat (limited to 'plugin/notes/notes.html')
-rw-r--r-- | plugin/notes/notes.html | 146 |
1 files changed, 84 insertions, 62 deletions
diff --git a/plugin/notes/notes.html b/plugin/notes/notes.html index f8e7f70..af2fbfc 100644 --- a/plugin/notes/notes.html +++ b/plugin/notes/notes.html @@ -95,10 +95,22 @@ .error code { font-family: monospace; } + .time { + width: 448px; + margin: 30px 0 0 10px; + float: left; text-align: center; + opacity: 0; + + -webkit-transition: opacity 0.4s; + -moz-transition: opacity 0.4s; + -o-transition: opacity 0.4s; + transition: opacity 0.4s; } - .elapsed, .clock { + + .elapsed, + .clock { color: #333; font-size: 2em; text-align: center; @@ -107,12 +119,15 @@ background-color: #eee; border-radius: 10px; } - .elapsed h2, .clock h2 { + + .elapsed h2, + .clock h2 { font-size: 0.8em; line-height: 100%; margin: 0; color: #aaa; } + .elapsed .mute { color: #ddd; } @@ -130,61 +145,85 @@ <script>document.write( '<iframe width="640" height="512" id="next-slide" src="'+ window.opener.location.href +'"></iframe>' );</script> <span>UPCOMING:</span> </div> - <div class='time'> - <div class='clock'> + + <div class="time"> + <div class="clock"> <h2>Time</h2> - <span id='clock'>0:00:00 AM</span> + <span id="clock">0:00:00 AM</span> </div> - <div class='elapsed'> + <div class="elapsed"> <h2>Elapsed</h2> - <span id='hours'>00</span><span id='minutes'>:00</span><span id='seconds'>:00</span> + <span id="hours">00</span><span id="minutes">:00</span><span id="seconds">:00</span> </div> </div> + <div id="notes"></div> <script src="../../plugin/markdown/showdown.js"></script> <script> - function zeroPadInteger(num) { - var str = "00" + parseInt(num); - return str.substring(str.length - 2); - } + window.addEventListener( 'load', function() { if( window.opener && window.opener.location && window.opener.location.href ) { - (function( window, undefined ) { - var notes = document.getElementById( 'notes' ), - currentSlide = document.getElementById( 'current-slide' ), - nextSlide = document.getElementById( 'next-slide' ); - - window.addEventListener( 'message', function( event ) { - var data = JSON.parse( event.data ); - // No need for updating the notes in case of fragment changes - if ( data.notes !== undefined) { - if( data.markdown ) { - notes.innerHTML = (new Showdown.converter()).makeHtml( data.notes ); - } - else { - notes.innerHTML = data.notes; - } - } + var notes = document.getElementById( 'notes' ), + currentSlide = document.getElementById( 'current-slide' ), + nextSlide = document.getElementById( 'next-slide' ); - // Showing and hiding fragments - if( data.fragment === 'next' ) { - currentSlide.contentWindow.Reveal.nextFragment(); - } - else if( data.fragment === 'prev' ) { - currentSlide.contentWindow.Reveal.prevFragment(); + window.addEventListener( 'message', function( event ) { + var data = JSON.parse( event.data ); + // No need for updating the notes in case of fragment changes + if ( data.notes !== undefined) { + if( data.markdown ) { + notes.innerHTML = (new Showdown.converter()).makeHtml( data.notes ); } else { - // Update the note slides - currentSlide.contentWindow.Reveal.slide( data.indexh, data.indexv ); - nextSlide.contentWindow.Reveal.slide( data.nextindexh, data.nextindexv ); + notes.innerHTML = data.notes; } - - }, false ); - - })( window ); + } + + // Showing and hiding fragments + if( data.fragment === 'next' ) { + currentSlide.contentWindow.Reveal.nextFragment(); + } + else if( data.fragment === 'prev' ) { + currentSlide.contentWindow.Reveal.prevFragment(); + } + else { + // Update the note slides + currentSlide.contentWindow.Reveal.slide( data.indexh, data.indexv ); + nextSlide.contentWindow.Reveal.slide( data.nextindexh, data.nextindexv ); + } + + }, false ); + + var start = new Date(), + timeEl = document.querySelector( '.time' ), + clockEl = document.getElementById( 'clock' ), + hoursEl = document.getElementById( 'hours' ), + minutesEl = document.getElementById( 'minutes' ), + secondsEl = document.getElementById( 'seconds' ); + + setInterval( function() { + + timeEl.style.opacity = 1; + + var diff, hours, minutes, seconds, + now = new Date(); + + diff = now.getTime() - start.getTime(); + hours = parseInt( diff / ( 1000 * 60 * 60 ) ); + minutes = parseInt( ( diff / ( 1000 * 60 ) ) % 60 ); + seconds = parseInt( ( diff / 1000 ) % 60 ); + + clockEl.innerHTML = now.toLocaleTimeString(); + hoursEl.innerHTML = zeroPadInteger( hours ); + hoursEl.className = hours > 0 ? "" : "mute"; + minutesEl.innerHTML = ":" + zeroPadInteger( minutes ); + minutesEl.className = minutes > 0 ? "" : "mute"; + secondsEl.innerHTML = ":" + zeroPadInteger( seconds ); + + }, 1000 ); } else { @@ -193,31 +232,14 @@ } - var start = new Date(), - clockEl = document.getElementById('clock'), - hoursEl = document.getElementById('hours'), - minutesEl = document.getElementById('minutes'), - secondsEl = document.getElementById('seconds'); - - setInterval(function() { - var diff, hours, minutes, seconds, - now = new Date(); - diff = now.getTime() - start.getTime(); - hours = parseInt(diff / (1000 * 60 * 60)); - minutes = parseInt((diff / (1000 * 60)) % 60); - seconds = parseInt((diff / 1000) % 60); - - clockEl.innerHTML = now.toLocaleTimeString(); - hoursEl.innerHTML = zeroPadInteger(hours); - hoursEl.className = hours > 0 ? "" : "mute"; - minutesEl.innerHTML = ":" + zeroPadInteger(minutes); - minutesEl.className = minutes > 0 ? "" : "mute"; - secondsEl.innerHTML = ":" + zeroPadInteger(seconds); - }, 1000); - }, false ); + function zeroPadInteger( num ) { + var str = "00" + parseInt( num ); + return str.substring( str.length - 2 ); + } + </script> </body> </html> |