aboutsummaryrefslogtreecommitdiff
path: root/plugin/notes/notes.html
diff options
context:
space:
mode:
authorHakim El Hattab <hakim.elhattab@gmail.com>2013-01-26 13:32:07 -0500
committerHakim El Hattab <hakim.elhattab@gmail.com>2013-01-26 13:32:07 -0500
commit784fa9d2e3570054728d21f8098199dc9d4164b9 (patch)
tree31735672ac04512d21110db36dc2e6cf039837d6 /plugin/notes/notes.html
parentab3f4e5ba3e846a5879049ac729fe18236c59805 (diff)
downloadfreenode-live-2017-presentation-784fa9d2e3570054728d21f8098199dc9d4164b9.tar
freenode-live-2017-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.html146
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>