improved fragment notes support #1636
This commit is contained in:
parent
c49f76d271
commit
f496613dd3
1 changed files with 18 additions and 11 deletions
|
@ -50,10 +50,11 @@ var RevealNotes = (function() {
|
||||||
/**
|
/**
|
||||||
* Posts the current slide data to the notes window
|
* Posts the current slide data to the notes window
|
||||||
*/
|
*/
|
||||||
function post(event) {
|
function post( event ) {
|
||||||
|
|
||||||
var slideElement = Reveal.getCurrentSlide(),
|
var slideElement = Reveal.getCurrentSlide(),
|
||||||
notesElement = slideElement.querySelector( 'aside.notes' );
|
notesElement = slideElement.querySelector( 'aside.notes' ),
|
||||||
|
fragmentElement = slideElement.querySelector( '.current-fragment' );
|
||||||
|
|
||||||
var messageData = {
|
var messageData = {
|
||||||
namespace: 'reveal-notes',
|
namespace: 'reveal-notes',
|
||||||
|
@ -64,21 +65,27 @@ var RevealNotes = (function() {
|
||||||
state: Reveal.getState()
|
state: Reveal.getState()
|
||||||
};
|
};
|
||||||
|
|
||||||
// Look for notes defined in a fragment, if it is a fragmentshown event
|
|
||||||
if (event && event.hasOwnProperty('fragment')) {
|
|
||||||
var innerNotes = event.fragment.querySelector( 'aside.notes' );
|
|
||||||
|
|
||||||
if ( innerNotes) {
|
|
||||||
notesElement = innerNotes;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Look for notes defined in a slide attribute
|
// Look for notes defined in a slide attribute
|
||||||
if( slideElement.hasAttribute( 'data-notes' ) ) {
|
if( slideElement.hasAttribute( 'data-notes' ) ) {
|
||||||
messageData.notes = slideElement.getAttribute( 'data-notes' );
|
messageData.notes = slideElement.getAttribute( 'data-notes' );
|
||||||
messageData.whitespace = 'pre-wrap';
|
messageData.whitespace = 'pre-wrap';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Look for notes defined in a fragment
|
||||||
|
if( fragmentElement ) {
|
||||||
|
var fragmentNotes = fragmentElement.querySelector( 'aside.notes' );
|
||||||
|
if( fragmentNotes ) {
|
||||||
|
notesElement = fragmentNotes;
|
||||||
|
}
|
||||||
|
else if( fragmentElement.hasAttribute( 'data-notes' ) ) {
|
||||||
|
messageData.notes = fragmentElement.getAttribute( 'data-notes' );
|
||||||
|
messageData.whitespace = 'pre-wrap';
|
||||||
|
|
||||||
|
// In case there are slide notes
|
||||||
|
notesElement = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Look for notes defined in an aside element
|
// Look for notes defined in an aside element
|
||||||
if( notesElement ) {
|
if( notesElement ) {
|
||||||
messageData.notes = notesElement.innerHTML;
|
messageData.notes = notesElement.innerHTML;
|
||||||
|
|
Loading…
Reference in a new issue