mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-12-29 01:31:53 +00:00
96d4a3ecf7
Due to historical reasons, the code is in subfolder "1". With SVN removal, we place the code back and remove the annoying "1" folder.
51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
(function() {
|
|
// Don't emit events from inside of notes windows
|
|
if ( window.location.search.match( /receiver/gi ) ) { return; }
|
|
|
|
var multiplex = Reveal.getConfig().multiplex;
|
|
|
|
var socket = io.connect(multiplex.url);
|
|
|
|
var notify = function( slideElement, indexh, indexv, origin ) {
|
|
if( typeof origin === 'undefined' && origin !== 'remote' ) {
|
|
var nextindexh;
|
|
var nextindexv;
|
|
|
|
var fragmentindex = Reveal.getIndices().f;
|
|
if (typeof fragmentindex == 'undefined') {
|
|
fragmentindex = 0;
|
|
}
|
|
|
|
if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') {
|
|
nextindexh = indexh;
|
|
nextindexv = indexv + 1;
|
|
} else {
|
|
nextindexh = indexh + 1;
|
|
nextindexv = 0;
|
|
}
|
|
|
|
var slideData = {
|
|
indexh : indexh,
|
|
indexv : indexv,
|
|
indexf : fragmentindex,
|
|
nextindexh : nextindexh,
|
|
nextindexv : nextindexv,
|
|
secret: multiplex.secret,
|
|
socketId : multiplex.id
|
|
};
|
|
|
|
socket.emit('slidechanged', slideData);
|
|
}
|
|
}
|
|
|
|
Reveal.addEventListener( 'slidechanged', function( event ) {
|
|
notify( event.currentSlide, event.indexh, event.indexv, event.origin );
|
|
} );
|
|
|
|
var fragmentNotify = function( event ) {
|
|
notify( Reveal.getCurrentSlide(), Reveal.getIndices().h, Reveal.getIndices().v, event.origin );
|
|
};
|
|
|
|
Reveal.addEventListener( 'fragmentshown', fragmentNotify );
|
|
Reveal.addEventListener( 'fragmenthidden', fragmentNotify );
|
|
}()); |