mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Address review comments
This commit is contained in:
parent
78cdbbb14f
commit
4fe179214c
4 changed files with 41 additions and 71 deletions
|
@ -182,27 +182,23 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
|
|
||||||
elem.querySelector('.btnShuffleQueue').addEventListener('click', function () {
|
elem.querySelector('.btnShuffleQueue').addEventListener('click', function () {
|
||||||
if (currentPlayer) {
|
if (currentPlayer) {
|
||||||
playbackManager.toggleQueueShuffleMode(currentPlayer);
|
playbackManager.toggleQueueShuffleMode();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
toggleRepeatButton = elem.querySelector('.toggleRepeatButton');
|
toggleRepeatButton = elem.querySelector('.toggleRepeatButton');
|
||||||
toggleRepeatButton.addEventListener('click', function () {
|
toggleRepeatButton.addEventListener('click', function () {
|
||||||
|
switch (playbackManager.getRepeatMode()) {
|
||||||
if (currentPlayer) {
|
|
||||||
|
|
||||||
switch (playbackManager.getRepeatMode(currentPlayer)) {
|
|
||||||
case 'RepeatAll':
|
case 'RepeatAll':
|
||||||
playbackManager.setRepeatMode('RepeatOne', currentPlayer);
|
playbackManager.setRepeatMode('RepeatOne');
|
||||||
break;
|
break;
|
||||||
case 'RepeatOne':
|
case 'RepeatOne':
|
||||||
playbackManager.setRepeatMode('RepeatNone', currentPlayer);
|
playbackManager.setRepeatMode('RepeatNone');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
playbackManager.setRepeatMode('RepeatAll', currentPlayer);
|
playbackManager.setRepeatMode('RepeatAll');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
toggleRepeatButtonIcon = toggleRepeatButton.querySelector('.material-icons');
|
toggleRepeatButtonIcon = toggleRepeatButton.querySelector('.material-icons');
|
||||||
|
@ -343,7 +339,7 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
toggleRepeatButton.classList.remove('hide');
|
toggleRepeatButton.classList.remove('hide');
|
||||||
}
|
}
|
||||||
|
|
||||||
updateRepeatModeDisplay(playState.RepeatMode);
|
updateRepeatModeDisplay(playbackManager.getRepeatMode());
|
||||||
onQueueShuffleModeChange();
|
onQueueShuffleModeChange();
|
||||||
|
|
||||||
updatePlayerVolumeState(playState.IsMuted, playState.VolumeLevel);
|
updatePlayerVolumeState(playState.IsMuted, playState.VolumeLevel);
|
||||||
|
@ -379,8 +375,6 @@ 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');
|
||||||
}
|
}
|
||||||
|
@ -627,19 +621,17 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
onStateChanged.call(player, e, state);
|
onStateChanged.call(player, e, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRepeatModeChange(e) {
|
function onRepeatModeChange() {
|
||||||
|
|
||||||
if (!isEnabled) {
|
if (!isEnabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var player = this;
|
updateRepeatModeDisplay(playbackManager.getRepeatMode());
|
||||||
|
|
||||||
updateRepeatModeDisplay(playbackManager.getRepeatMode(player));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onQueueShuffleModeChange() {
|
function onQueueShuffleModeChange() {
|
||||||
let shuffleMode = playbackManager.getQueueShuffleMode(this);
|
let shuffleMode = playbackManager.getQueueShuffleMode();
|
||||||
let context = nowPlayingBarElement;
|
let context = nowPlayingBarElement;
|
||||||
let toggleShuffleButton = context.querySelector('.btnShuffleQueue');
|
let toggleShuffleButton = context.querySelector('.btnShuffleQueue');
|
||||||
|
|
||||||
|
@ -650,8 +642,6 @@ 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');
|
||||||
}
|
}
|
||||||
|
|
|
@ -3920,9 +3920,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
||||||
return info ? info.supportedCommands : [];
|
return info ? info.supportedCommands : [];
|
||||||
};
|
};
|
||||||
|
|
||||||
PlaybackManager.prototype.setRepeatMode = function (value, player) {
|
PlaybackManager.prototype.setRepeatMode = function (value, player = this._currentPlayer) {
|
||||||
|
|
||||||
player = player || this._currentPlayer;
|
|
||||||
if (player && !enableLocalPlaylistManagement(player)) {
|
if (player && !enableLocalPlaylistManagement(player)) {
|
||||||
return player.setRepeatMode(value);
|
return player.setRepeatMode(value);
|
||||||
}
|
}
|
||||||
|
@ -3931,9 +3929,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
||||||
events.trigger(player, 'repeatmodechange');
|
events.trigger(player, 'repeatmodechange');
|
||||||
};
|
};
|
||||||
|
|
||||||
PlaybackManager.prototype.getRepeatMode = function (player) {
|
PlaybackManager.prototype.getRepeatMode = function (player = this._currentPlayer) {
|
||||||
|
|
||||||
player = player || this._currentPlayer;
|
|
||||||
if (player && !enableLocalPlaylistManagement(player)) {
|
if (player && !enableLocalPlaylistManagement(player)) {
|
||||||
return player.getRepeatMode();
|
return player.getRepeatMode();
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,9 +144,7 @@ define([], function () {
|
||||||
|
|
||||||
PlayQueueManager.prototype.removeFromPlaylist = function (playlistItemIds) {
|
PlayQueueManager.prototype.removeFromPlaylist = function (playlistItemIds) {
|
||||||
|
|
||||||
var playlist = this.getPlaylist();
|
if (this._playlist.length <= playlistItemIds.length) {
|
||||||
|
|
||||||
if (playlist.length <= playlistItemIds.length) {
|
|
||||||
return {
|
return {
|
||||||
result: 'empty'
|
result: 'empty'
|
||||||
};
|
};
|
||||||
|
@ -155,14 +153,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.filter(function (item) {
|
||||||
this._sortedPlaylist = this._sortedPlaylist.splice(0).filter(function (item) {
|
return !playlistItemIds.includes(item.PlaylistItemId);
|
||||||
return playlistItemIds.indexOf(item.PlaylistItemId) === -1;
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
this._playlist = playlist.filter(function (item) {
|
this._playlist = this._playlist.filter(function (item) {
|
||||||
return playlistItemIds.indexOf(item.PlaylistItemId) === -1;
|
return !playlistItemIds.includes(item.PlaylistItemId);
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -250,20 +250,16 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
|
|
||||||
var currentImgUrl;
|
var currentImgUrl;
|
||||||
return function () {
|
return function () {
|
||||||
function toggleRepeat(player) {
|
function toggleRepeat() {
|
||||||
if (player) {
|
switch (playbackManager.getRepeatMode()) {
|
||||||
switch (playbackManager.getRepeatMode(player)) {
|
|
||||||
case 'RepeatNone':
|
case 'RepeatNone':
|
||||||
playbackManager.setRepeatMode('RepeatAll', player);
|
playbackManager.setRepeatMode('RepeatAll');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'RepeatAll':
|
case 'RepeatAll':
|
||||||
playbackManager.setRepeatMode('RepeatOne', player);
|
playbackManager.setRepeatMode('RepeatOne');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'RepeatOne':
|
case 'RepeatOne':
|
||||||
playbackManager.setRepeatMode('RepeatNone', player);
|
playbackManager.setRepeatMode('RepeatNone');
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -336,7 +332,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
context.classList.add('hideVideoButtons');
|
context.classList.add('hideVideoButtons');
|
||||||
}
|
}
|
||||||
|
|
||||||
updateRepeatModeDisplay(playState.RepeatMode);
|
updateRepeatModeDisplay(playbackManager.getRepeatMode());
|
||||||
onShuffleQueueModeChange();
|
onShuffleQueueModeChange();
|
||||||
updateNowPlayingInfo(context, state);
|
updateNowPlayingInfo(context, state);
|
||||||
}
|
}
|
||||||
|
@ -367,18 +363,12 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
case 'RepeatNone':
|
case 'RepeatNone':
|
||||||
repeatOn = false;
|
repeatOn = false;
|
||||||
break;
|
break;
|
||||||
case undefined:
|
|
||||||
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) {
|
toggleRepeatButton.classList.toggle(cssClass, repeatOn);
|
||||||
toggleRepeatButton.classList.remove(cssClass);
|
|
||||||
} else {
|
|
||||||
toggleRepeatButton.classList.add(cssClass);
|
|
||||||
}
|
|
||||||
toggleRepeatButton.innerHTML = innHtml;
|
toggleRepeatButton.innerHTML = innHtml;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -518,25 +508,23 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
onStateChanged.call(player, e, state);
|
onStateChanged.call(player, e, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRepeatModeChange(e) {
|
function onRepeatModeChange() {
|
||||||
var player = this;
|
updateRepeatModeDisplay(playbackManager.getRepeatMode());
|
||||||
updateRepeatModeDisplay(playbackManager.getRepeatMode(player));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onShuffleQueueModeChange() {
|
function onShuffleQueueModeChange() {
|
||||||
let shuffleMode = playbackManager.getQueueShuffleMode(this);
|
let shuffleMode = playbackManager.getQueueShuffleMode(this);
|
||||||
let context = dlg;
|
let context = dlg;
|
||||||
|
const cssClass = 'shuffleQueue-active';
|
||||||
let shuffleButtons = context.querySelectorAll('.btnShuffleQueue');
|
let shuffleButtons = context.querySelectorAll('.btnShuffleQueue');
|
||||||
|
|
||||||
for (let shuffleButton of shuffleButtons) {
|
for (let shuffleButton of shuffleButtons) {
|
||||||
switch (shuffleMode) {
|
switch (shuffleMode) {
|
||||||
case 'Sorted':
|
case 'Sorted':
|
||||||
shuffleButton.classList.remove('shuffleQueue-active');
|
shuffleButton.classList.toggle(cssClass, false);
|
||||||
break;
|
break;
|
||||||
case 'Shuffle':
|
case 'Shuffle':
|
||||||
shuffleButton.classList.add('shuffleQueue-active');
|
shuffleButton.classList.toggle(cssClass, true);
|
||||||
break;
|
|
||||||
case undefined:
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new TypeError('invalid shuffle mode');
|
throw new TypeError('invalid shuffle mode');
|
||||||
|
@ -645,7 +633,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
function onBtnCommandClick() {
|
function onBtnCommandClick() {
|
||||||
if (currentPlayer) {
|
if (currentPlayer) {
|
||||||
if (this.classList.contains('repeatToggleButton')) {
|
if (this.classList.contains('repeatToggleButton')) {
|
||||||
toggleRepeat(currentPlayer);
|
toggleRepeat();
|
||||||
} else {
|
} else {
|
||||||
playbackManager.sendCommand({
|
playbackManager.sendCommand({
|
||||||
Name: this.getAttribute('data-command')
|
Name: this.getAttribute('data-command')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue