From 76a60eea3109b616610e8cbf4d1707324dc8b443 Mon Sep 17 00:00:00 2001
From: Hakim El Hattab
Date: Sun, 1 Jul 2012 18:32:09 -0400
Subject: move notes client code into lib

---
 lib/slidenotes/client.js | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 lib/slidenotes/client.js

(limited to 'lib/slidenotes')

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);
+	} );
+}());
-- 
cgit v1.2.3