mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Remove item from sorted playlist when on shuffle mode and address review comments
This commit is contained in:
parent
33d0329e5c
commit
78cdbbb14f
3 changed files with 21 additions and 9 deletions
|
@ -379,6 +379,8 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
toggleRepeatButtonIcon.classList.add('repeat');
|
toggleRepeatButtonIcon.classList.add('repeat');
|
||||||
toggleRepeatButton.classList.remove(cssClass);
|
toggleRepeatButton.classList.remove(cssClass);
|
||||||
break;
|
break;
|
||||||
|
case undefined:
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new TypeError('invalid value for repeatMode');
|
throw new TypeError('invalid value for repeatMode');
|
||||||
}
|
}
|
||||||
|
@ -536,9 +538,9 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
var textLines = nowPlayingItem ? nowPlayingHelper.getNowPlayingNames(nowPlayingItem) : [];
|
var textLines = nowPlayingItem ? nowPlayingHelper.getNowPlayingNames(nowPlayingItem) : [];
|
||||||
nowPlayingTextElement.innerHTML = '';
|
nowPlayingTextElement.innerHTML = '';
|
||||||
if (textLines) {
|
if (textLines) {
|
||||||
|
let itemText = document.createElement('div');
|
||||||
let secondaryText = document.createElement('div');
|
let secondaryText = document.createElement('div');
|
||||||
secondaryText.classList.add('nowPlayingBarSecondaryText');
|
secondaryText.classList.add('nowPlayingBarSecondaryText');
|
||||||
let itemText = document.createElement('div');
|
|
||||||
if (textLines.length > 1) {
|
if (textLines.length > 1) {
|
||||||
textLines[1].secondary = true;
|
textLines[1].secondary = true;
|
||||||
if (textLines[1].text) {
|
if (textLines[1].text) {
|
||||||
|
@ -549,11 +551,9 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
}
|
}
|
||||||
|
|
||||||
if (textLines[0].text) {
|
if (textLines[0].text) {
|
||||||
if (textLines[0].text) {
|
let text = document.createElement('a');
|
||||||
let text = document.createElement('a');
|
text.innerHTML = textLines[0].text;
|
||||||
text.innerHTML = textLines[0].text;
|
itemText.appendChild(text);
|
||||||
itemText.appendChild(text);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
nowPlayingTextElement.appendChild(itemText);
|
nowPlayingTextElement.appendChild(itemText);
|
||||||
nowPlayingTextElement.appendChild(secondaryText);
|
nowPlayingTextElement.appendChild(secondaryText);
|
||||||
|
@ -650,6 +650,8 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
case 'Shuffle':
|
case 'Shuffle':
|
||||||
toggleShuffleButton.classList.add('shuffleQueue-active');
|
toggleShuffleButton.classList.add('shuffleQueue-active');
|
||||||
break;
|
break;
|
||||||
|
case undefined:
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new TypeError('invalid value for shuffleMode');
|
throw new TypeError('invalid value for shuffleMode');
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,6 +155,12 @@ define([], function () {
|
||||||
var currentPlaylistItemId = this.getCurrentPlaylistItemId();
|
var currentPlaylistItemId = this.getCurrentPlaylistItemId();
|
||||||
var isCurrentIndex = playlistItemIds.indexOf(currentPlaylistItemId) !== -1;
|
var isCurrentIndex = playlistItemIds.indexOf(currentPlaylistItemId) !== -1;
|
||||||
|
|
||||||
|
if (this._sortedPlaylist.length <= playlistItemIds.length) {
|
||||||
|
this._sortedPlaylist = this._sortedPlaylist.splice(0).filter(function (item) {
|
||||||
|
return playlistItemIds.indexOf(item.PlaylistItemId) === -1;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
this._playlist = playlist.filter(function (item) {
|
this._playlist = playlist.filter(function (item) {
|
||||||
return playlistItemIds.indexOf(item.PlaylistItemId) === -1;
|
return playlistItemIds.indexOf(item.PlaylistItemId) === -1;
|
||||||
});
|
});
|
||||||
|
|
|
@ -356,7 +356,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
let toggleRepeatButtons = context.querySelectorAll('.repeatToggleButton');
|
let toggleRepeatButtons = context.querySelectorAll('.repeatToggleButton');
|
||||||
const cssClass = 'repeatButton-active';
|
const cssClass = 'repeatButton-active';
|
||||||
let innHtml = '<span class="material-icons repeat"></span>';
|
let innHtml = '<span class="material-icons repeat"></span>';
|
||||||
let repeatOn = undefined;
|
let repeatOn = true;
|
||||||
|
|
||||||
switch (repeatMode) {
|
switch (repeatMode) {
|
||||||
case 'RepeatAll':
|
case 'RepeatAll':
|
||||||
|
@ -365,14 +365,16 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
innHtml = '<span class="material-icons repeat_one"></span>';
|
innHtml = '<span class="material-icons repeat_one"></span>';
|
||||||
break;
|
break;
|
||||||
case 'RepeatNone':
|
case 'RepeatNone':
|
||||||
repeatOn = null;
|
repeatOn = false;
|
||||||
|
break;
|
||||||
|
case undefined:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new TypeError('invalid value for repeatMode');
|
throw new TypeError('invalid value for repeatMode');
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const toggleRepeatButton of toggleRepeatButtons) {
|
for (const toggleRepeatButton of toggleRepeatButtons) {
|
||||||
if (repeatOn === null) {
|
if (!repeatOn) {
|
||||||
toggleRepeatButton.classList.remove(cssClass);
|
toggleRepeatButton.classList.remove(cssClass);
|
||||||
} else {
|
} else {
|
||||||
toggleRepeatButton.classList.add(cssClass);
|
toggleRepeatButton.classList.add(cssClass);
|
||||||
|
@ -534,6 +536,8 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
case 'Shuffle':
|
case 'Shuffle':
|
||||||
shuffleButton.classList.add('shuffleQueue-active');
|
shuffleButton.classList.add('shuffleQueue-active');
|
||||||
break;
|
break;
|
||||||
|
case undefined:
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new TypeError('invalid shuffle mode');
|
throw new TypeError('invalid shuffle mode');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue