reveal.js/plugin/notes/notes.js in reveal-ck-0.1.3 vs reveal.js/plugin/notes/notes.js in reveal-ck-0.1.4
- old
+ new
@@ -8,75 +8,53 @@
var jsFileLocation = document.querySelector('script[src$="notes.js"]').src; // this js file path
jsFileLocation = jsFileLocation.replace(/notes\.js(\?.*)?$/, ''); // the js folder path
var notesPopup = window.open( jsFileLocation + 'notes.html', 'reveal.js - Notes', 'width=1120,height=850' );
// Fires when slide is changed
- Reveal.addEventListener( 'slidechanged', function( event ) {
- post('slidechanged');
- } );
+ Reveal.addEventListener( 'slidechanged', post );
// Fires when a fragment is shown
- Reveal.addEventListener( 'fragmentshown', function( event ) {
- post('fragmentshown');
- } );
+ Reveal.addEventListener( 'fragmentshown', post );
// Fires when a fragment is hidden
- Reveal.addEventListener( 'fragmenthidden', function( event ) {
- post('fragmenthidden');
- } );
+ Reveal.addEventListener( 'fragmenthidden', post );
/**
* Posts the current slide data to the notes window
- *
- * @param {String} eventType Expecting 'slidechanged', 'fragmentshown'
- * or 'fragmenthidden' set in the events above to define the needed
- * slideDate.
*/
- function post( eventType ) {
+ function post() {
var slideElement = Reveal.getCurrentSlide(),
+ slideIndices = Reveal.getIndices(),
messageData;
- if( eventType === 'slidechanged' ) {
- var notes = slideElement.querySelector( 'aside.notes' ),
- indexh = Reveal.getIndices().h,
- indexv = Reveal.getIndices().v,
- nextindexh,
- nextindexv;
+ var notes = slideElement.querySelector( 'aside.notes' ),
+ nextindexh,
+ nextindexv;
- if( slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION' ) {
- nextindexh = indexh;
- nextindexv = indexv + 1;
- } else {
- nextindexh = indexh + 1;
- nextindexv = 0;
- }
-
- messageData = {
- notes : notes ? notes.innerHTML : '',
- indexh : indexh,
- indexv : indexv,
- nextindexh : nextindexh,
- nextindexv : nextindexv,
- markdown : notes ? typeof notes.getAttribute( 'data-markdown' ) === 'string' : false
- };
+ if( slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION' ) {
+ nextindexh = slideIndices.h;
+ nextindexv = slideIndices.v + 1;
+ } else {
+ nextindexh = slideIndices.h + 1;
+ nextindexv = 0;
}
- else if( eventType === 'fragmentshown' ) {
- messageData = {
- fragment : 'next'
- };
- }
- else if( eventType === 'fragmenthidden' ) {
- messageData = {
- fragment : 'prev'
- };
- }
+ messageData = {
+ notes : notes ? notes.innerHTML : '',
+ indexh : slideIndices.h,
+ indexv : slideIndices.v,
+ indexf : slideIndices.f,
+ nextindexh : nextindexh,
+ nextindexv : nextindexv,
+ markdown : notes ? typeof notes.getAttribute( 'data-markdown' ) === 'string' : false
+ };
+
notesPopup.postMessage( JSON.stringify( messageData ), '*' );
}
// Navigate to the current slide when the notes are loaded
notesPopup.addEventListener( 'load', function( event ) {
- post('slidechanged');
+ post();
}, false );
}
// If the there's a 'notes' query set, open directly
if( window.location.search.match( /(\?|\&)notes/gi ) !== null ) {