From fe05939ec3b46011be1d074456f119e1cf0201b1 Mon Sep 17 00:00:00 2001 From: Victor Usoltsev Date: Mon, 9 May 2022 22:36:07 +1200 Subject: [PATCH] Adds shuffle button to movie collections. --- src/controllers/movies/movies.html | 1 + src/controllers/movies/movies.js | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/controllers/movies/movies.html b/src/controllers/movies/movies.html index 428b83de4..63fe332a8 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 e8137fd76..22f0c1846 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();