Преглед изворни кода

For a fragment: allow to show a separate note defined in it

When a slide has several fragments it could be convenient to define a note for each of them. In this case we need to show only this specific note defined in a fragment and not others. General note of a slide shouldn't be also shown, as a more specific one should have greater relevance in this case.
Dmitry Trofimov пре 8 година
родитељ
комит
86a3f0276b
1 измењених фајлова са 10 додато и 1 уклоњено
  1. 10 1
      plugin/notes/notes.js

+ 10 - 1
plugin/notes/notes.js

@@ -50,7 +50,7 @@ var RevealNotes = (function() {
 		/**
 		 * Posts the current slide data to the notes window
 		 */
-		function post() {
+		function post(event) {
 
 			var slideElement = Reveal.getCurrentSlide(),
 				notesElement = slideElement.querySelector( 'aside.notes' );
@@ -64,6 +64,15 @@ var RevealNotes = (function() {
 				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
 			if( slideElement.hasAttribute( 'data-notes' ) ) {
 				messageData.notes = slideElement.getAttribute( 'data-notes' );