diff --git a/src/components/slideshow/slideshow.js b/src/components/slideshow/slideshow.js index 9f82a0ec73..8f45590045 100644 --- a/src/components/slideshow/slideshow.js +++ b/src/components/slideshow/slideshow.js @@ -172,6 +172,8 @@ export default function (options) { html += '
'; if (actionButtonsOnTop) { + html += getIcon('play_arrow', 'btnSlideshowPause slideshowButton', true); + if (appHost.supports('filedownload') && options.user && options.user.Policy.EnableContentDownloading) { html += getIcon('file_download', 'btnDownload slideshowButton', true); } @@ -347,7 +349,7 @@ export default function (options) { minRatio: 1, toggle: true }, - autoplay: !options.interactive, + autoplay: !options.interactive || !!options.autoplay, keyboard: { enabled: true }, @@ -376,6 +378,8 @@ export default function (options) { if (useFakeZoomImage) { swiperInstance.on('zoomChange', onZoomChange); } + + if (swiperInstance.autoplay?.running) onAutoplayStart(); } /** diff --git a/src/controllers/list.js b/src/controllers/list.js index b50b5f91f9..b34848bf11 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -666,12 +666,14 @@ class ItemsView { if (currentItem && !self.hasFilters) { playbackManager.play({ - items: [currentItem] + items: [currentItem], + autoplay: true }); } else { getItems(self, self.params, currentItem, null, null, 300).then(function (result) { playbackManager.play({ - items: result.Items + items: result.Items, + autoplay: true }); }); } @@ -701,7 +703,8 @@ class ItemsView { } else { getItems(self, self.params, currentItem, 'Random', null, 300).then(function (result) { playbackManager.play({ - items: result.Items + items: result.Items, + autoplay: true }); }); } diff --git a/src/plugins/photoPlayer/plugin.js b/src/plugins/photoPlayer/plugin.js index 42ffd3c7dd..aa3ba5f364 100644 --- a/src/plugins/photoPlayer/plugin.js +++ b/src/plugins/photoPlayer/plugin.js @@ -22,6 +22,8 @@ export default class PhotoPlayer { startIndex: index, interval: 11000, interactive: true, + // playbackManager.shuffle has no options. So treat 'shuffle' as a 'play' action + autoplay: options.autoplay || options.shuffle, user: result });