diff --git a/src/controllers/movies/movies.html b/src/controllers/movies/movies.html index 428b83de45..63fe332a8e 100644 --- a/src/controllers/movies/movies.html +++ b/src/controllers/movies/movies.html @@ -6,6 +6,7 @@ +
diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js index e8137fd764..22f0c18469 100644 --- a/src/controllers/movies/movies.js +++ b/src/controllers/movies/movies.js @@ -6,6 +6,7 @@ import { AlphaPicker } from '../../components/alphaPicker/alphaPicker'; import listView from '../../components/listview/listview'; import cardBuilder from '../../components/cardbuilder/cardBuilder'; import globalize from '../../scripts/globalize'; +import { playbackManager } from '../../components/playback/playbackmanager'; import '../../elements/emby-itemscontainer/emby-itemscontainer'; /* eslint-disable indent */ @@ -52,6 +53,19 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; itemsContainer.refreshItems(); } + function onShuffleClick() { + if (isLoading) { + return; + } + + ApiClient.getItem( + ApiClient.getCurrentUserId(), + params.topParentId + ).then(item => { + playbackManager.shuffle(item); + }); + } + window.scrollTo(0, 0); this.alphaPicker?.updateControls(query); const pagingHtml = libraryBrowser.getQueryPagingHtml({ @@ -77,6 +91,10 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer'; elem.addEventListener('click', onPreviousPageClick); } + for (const elem of tabContent.querySelectorAll('.btnShuffle')) { + elem.addEventListener('click', onShuffleClick); + } + isLoading = false; loading.hide();