Address review comments

This commit is contained in:
ferferga 2020-06-23 23:41:52 +02:00
parent 78cdbbb14f
commit 4fe179214c
4 changed files with 41 additions and 71 deletions

View file

@ -182,27 +182,23 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
elem.querySelector('.btnShuffleQueue').addEventListener('click', function () {
if (currentPlayer) {
playbackManager.toggleQueueShuffleMode(currentPlayer);
playbackManager.toggleQueueShuffleMode();
}
});
toggleRepeatButton = elem.querySelector('.toggleRepeatButton');
toggleRepeatButton.addEventListener('click', function () {
if (currentPlayer) {
switch (playbackManager.getRepeatMode(currentPlayer)) {
switch (playbackManager.getRepeatMode()) {
case 'RepeatAll':
playbackManager.setRepeatMode('RepeatOne', currentPlayer);
playbackManager.setRepeatMode('RepeatOne');
break;
case 'RepeatOne':
playbackManager.setRepeatMode('RepeatNone', currentPlayer);
playbackManager.setRepeatMode('RepeatNone');
break;
default:
playbackManager.setRepeatMode('RepeatAll', currentPlayer);
playbackManager.setRepeatMode('RepeatAll');
break;
}
}
});
toggleRepeatButtonIcon = toggleRepeatButton.querySelector('.material-icons');
@ -343,7 +339,7 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
toggleRepeatButton.classList.remove('hide');
}
updateRepeatModeDisplay(playState.RepeatMode);
updateRepeatModeDisplay(playbackManager.getRepeatMode());
onQueueShuffleModeChange();
updatePlayerVolumeState(playState.IsMuted, playState.VolumeLevel);
@ -379,8 +375,6 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
toggleRepeatButtonIcon.classList.add('repeat');
toggleRepeatButton.classList.remove(cssClass);
break;
case undefined:
break;
default:
throw new TypeError('invalid value for repeatMode');
}
@ -627,19 +621,17 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
onStateChanged.call(player, e, state);
}
function onRepeatModeChange(e) {
function onRepeatModeChange() {
if (!isEnabled) {
return;
}
var player = this;
updateRepeatModeDisplay(playbackManager.getRepeatMode(player));
updateRepeatModeDisplay(playbackManager.getRepeatMode());
}
function onQueueShuffleModeChange() {
let shuffleMode = playbackManager.getQueueShuffleMode(this);
let shuffleMode = playbackManager.getQueueShuffleMode();
let context = nowPlayingBarElement;
let toggleShuffleButton = context.querySelector('.btnShuffleQueue');
@ -650,8 +642,6 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
case 'Shuffle':
toggleShuffleButton.classList.add('shuffleQueue-active');
break;
case undefined:
break;
default:
throw new TypeError('invalid value for shuffleMode');
}

View file

@ -3920,9 +3920,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
return info ? info.supportedCommands : [];
};
PlaybackManager.prototype.setRepeatMode = function (value, player) {
player = player || this._currentPlayer;
PlaybackManager.prototype.setRepeatMode = function (value, player = this._currentPlayer) {
if (player && !enableLocalPlaylistManagement(player)) {
return player.setRepeatMode(value);
}
@ -3931,9 +3929,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
events.trigger(player, 'repeatmodechange');
};
PlaybackManager.prototype.getRepeatMode = function (player) {
player = player || this._currentPlayer;
PlaybackManager.prototype.getRepeatMode = function (player = this._currentPlayer) {
if (player && !enableLocalPlaylistManagement(player)) {
return player.getRepeatMode();
}

View file

@ -144,9 +144,7 @@ define([], function () {
PlayQueueManager.prototype.removeFromPlaylist = function (playlistItemIds) {
var playlist = this.getPlaylist();
if (playlist.length <= playlistItemIds.length) {
if (this._playlist.length <= playlistItemIds.length) {
return {
result: 'empty'
};
@ -155,14 +153,12 @@ define([], function () {
var currentPlaylistItemId = this.getCurrentPlaylistItemId();
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._sortedPlaylist = this._sortedPlaylist.filter(function (item) {
return !playlistItemIds.includes(item.PlaylistItemId);
});
}
this._playlist = playlist.filter(function (item) {
return playlistItemIds.indexOf(item.PlaylistItemId) === -1;
this._playlist = this._playlist.filter(function (item) {
return !playlistItemIds.includes(item.PlaylistItemId);
});
return {

View file

@ -250,20 +250,16 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
var currentImgUrl;
return function () {
function toggleRepeat(player) {
if (player) {
switch (playbackManager.getRepeatMode(player)) {
function toggleRepeat() {
switch (playbackManager.getRepeatMode()) {
case 'RepeatNone':
playbackManager.setRepeatMode('RepeatAll', player);
playbackManager.setRepeatMode('RepeatAll');
break;
case 'RepeatAll':
playbackManager.setRepeatMode('RepeatOne', player);
playbackManager.setRepeatMode('RepeatOne');
break;
case 'RepeatOne':
playbackManager.setRepeatMode('RepeatNone', player);
}
playbackManager.setRepeatMode('RepeatNone');
}
}
@ -336,7 +332,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
context.classList.add('hideVideoButtons');
}
updateRepeatModeDisplay(playState.RepeatMode);
updateRepeatModeDisplay(playbackManager.getRepeatMode());
onShuffleQueueModeChange();
updateNowPlayingInfo(context, state);
}
@ -367,18 +363,12 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
case 'RepeatNone':
repeatOn = false;
break;
case undefined:
break;
default:
throw new TypeError('invalid value for repeatMode');
}
for (const toggleRepeatButton of toggleRepeatButtons) {
if (!repeatOn) {
toggleRepeatButton.classList.remove(cssClass);
} else {
toggleRepeatButton.classList.add(cssClass);
}
toggleRepeatButton.classList.toggle(cssClass, repeatOn);
toggleRepeatButton.innerHTML = innHtml;
}
}
@ -518,25 +508,23 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
onStateChanged.call(player, e, state);
}
function onRepeatModeChange(e) {
var player = this;
updateRepeatModeDisplay(playbackManager.getRepeatMode(player));
function onRepeatModeChange() {
updateRepeatModeDisplay(playbackManager.getRepeatMode());
}
function onShuffleQueueModeChange() {
let shuffleMode = playbackManager.getQueueShuffleMode(this);
let context = dlg;
const cssClass = 'shuffleQueue-active';
let shuffleButtons = context.querySelectorAll('.btnShuffleQueue');
for (let shuffleButton of shuffleButtons) {
switch (shuffleMode) {
case 'Sorted':
shuffleButton.classList.remove('shuffleQueue-active');
shuffleButton.classList.toggle(cssClass, false);
break;
case 'Shuffle':
shuffleButton.classList.add('shuffleQueue-active');
break;
case undefined:
shuffleButton.classList.toggle(cssClass, true);
break;
default:
throw new TypeError('invalid shuffle mode');
@ -645,7 +633,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
function onBtnCommandClick() {
if (currentPlayer) {
if (this.classList.contains('repeatToggleButton')) {
toggleRepeat(currentPlayer);
toggleRepeat();
} else {
playbackManager.sendCommand({
Name: this.getAttribute('data-command')