1
0
Эх сурвалжийг харах

Merge pull request #3568 from bouzidanas/master

fix vertical stack background not working in scroll view
Hakim El Hattab 1 жил өмнө
parent
commit
67b5ec1773

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 2 - 2
dist/reveal.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 2 - 2
dist/reveal.esm.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/reveal.esm.js.map


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 2 - 2
dist/reveal.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/reveal.js.map


+ 15 - 3
js/controllers/scrollview.js

@@ -1,4 +1,4 @@
-import { HORIZONTAL_SLIDES_SELECTOR } from '../utils/constants.js'
+import { HORIZONTAL_SLIDES_SELECTOR, SLIDES_BACKGROUNDS_SELECTOR } from '../utils/constants.js'
 import { queryAll } from '../utils/util.js'
 
 const HIDE_SCROLLBAR_TIMEOUT = 500;
@@ -40,6 +40,7 @@ export default class ScrollView {
 		this.slideHTMLBeforeActivation = this.Reveal.getSlidesElement().innerHTML;
 
 		const horizontalSlides = queryAll( this.Reveal.getRevealElement(), HORIZONTAL_SLIDES_SELECTOR );
+		const slideBackgrounds = queryAll( this.Reveal.getRevealElement(), SLIDES_BACKGROUNDS_SELECTOR );
 
 		this.viewportElement.classList.add( 'loading-scroll-mode', 'reveal-scroll' );
 
@@ -76,8 +77,19 @@ export default class ScrollView {
 				page.className = 'scroll-page';
 				pageElements.push( page );
 
-				// Copy the presentation-wide background to each page
-				if( presentationBackground ) {
+				// This transfers over the background of the vertical stack containing
+				//  the slide if it exists. Otherwise, it uses the presentation-wide
+				//  background.
+				if( slideBackgrounds && slideBackgrounds.length > h ) {
+					const slideBackground = slideBackgrounds[h];
+					const pageBackground = window.getComputedStyle( slideBackground );
+					
+					if( pageBackground && pageBackground.background ) {
+						page.style.background = pageBackground.background;
+					} else if( presentationBackground ) {
+						page.style.background = presentationBackground;
+					}
+				} else if( presentationBackground ) {
 					page.style.background = presentationBackground;
 				}
 

+ 1 - 0
js/utils/constants.js

@@ -2,6 +2,7 @@
 export const SLIDES_SELECTOR = '.slides section';
 export const HORIZONTAL_SLIDES_SELECTOR = '.slides>section';
 export const VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section';
+export const SLIDES_BACKGROUNDS_SELECTOR = '.backgrounds>.slide-background';
 
 // Methods that may not be invoked via the postMessage API
 export const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener|showPreview/;

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "reveal.js",
-  "version": "5.0.2",
+  "version": "5.0.4",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "reveal.js",
-      "version": "5.0.2",
+      "version": "5.0.4",
       "license": "MIT",
       "devDependencies": {
         "@babel/core": "^7.23.2",

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно