All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.resources.js.revealjs.2.6.1.plugin.notes-server.client.js Maven / Gradle / Ivy

The newest version!
(function() {
	// don't emit events from inside the previews themselves
	if ( window.location.search.match( /receiver/gi ) ) { 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);
	window.open(window.location.origin + '/notes/' + socketId, 'notes-' + socketId);

	// Fires when a fragment is shown
	Reveal.addEventListener( 'fragmentshown', function( event ) {
		var fragmentData = {
			fragment : 'next',
			socketId : socketId
		};
		socket.emit('fragmentchanged', fragmentData);
	} );

	// Fires when a fragment is hidden
	Reveal.addEventListener( 'fragmenthidden', function( event ) {
		var fragmentData = {
			fragment : 'previous',
			socketId : socketId
		};
		socket.emit('fragmentchanged', fragmentData);
	} );

	// Fires when slide is changed
	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,
			markdown : notes ? typeof notes.getAttribute('data-markdown') === 'string' : false

		};

		socket.emit('slidechanged', slideData);
	} );
}());




© 2015 - 2024 Weber Informatics LLC | Privacy Policy