aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHakim El Hattab <hakim.elhattab@gmail.com>2012-07-01 18:32:09 -0400
committerHakim El Hattab <hakim.elhattab@gmail.com>2012-07-01 18:32:09 -0400
commit76a60eea3109b616610e8cbf4d1707324dc8b443 (patch)
treeac26b54b7f3bba7b95c62f86a7a89915ab9e7a4b /lib
parentacbefa1190f263942f83b8be33bd909ef45e2f7c (diff)
downloadfosdem-2018-presentation-76a60eea3109b616610e8cbf4d1707324dc8b443.tar
fosdem-2018-presentation-76a60eea3109b616610e8cbf4d1707324dc8b443.tar.gz
move notes client code into lib
Diffstat (limited to 'lib')
-rw-r--r--lib/slidenotes/client.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/slidenotes/client.js b/lib/slidenotes/client.js
new file mode 100644
index 0000000..b686ec9
--- /dev/null
+++ b/lib/slidenotes/client.js
@@ -0,0 +1,35 @@
+(function() {
+ // don't emit events from inside the previews themselves
+ var qs = window.location.href.split('?');
+ if (qs.length > 1 && qs[1].match('receiver')) { return; }
+
+ var socket = io.connect(window.location.origin);
+ var socketId = Math.random().toString().slice(2);
+ console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId);
+
+ Reveal.addEventListener( 'slidechanged', function( event ) {
+ var nextindexh;
+ var nextindexv;
+ var slideElement = event.currentSlide;
+
+ if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') {
+ nextindexh = event.indexh;
+ nextindexv = event.indexv + 1;
+ } else {
+ nextindexh = event.indexh + 1;
+ nextindexv = 0;
+ }
+
+ var notes = slideElement.querySelector('aside.notes');
+ var slideData = {
+ notes : notes ? notes.innerHTML : '',
+ indexh : event.indexh,
+ indexv : event.indexv,
+ nextindexh : nextindexh,
+ nextindexv : nextindexv,
+ socketId : socketId
+ };
+
+ socket.emit('slidechanged', slideData);
+ } );
+}());