mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Add prefer optional chaining rule
This commit is contained in:
parent
ec0adb895b
commit
f35a8151e0
61 changed files with 152 additions and 152 deletions
|
@ -163,12 +163,12 @@ function backdropImageUrl(apiClient, item, options) {
|
|||
options.quality = 100;
|
||||
}
|
||||
|
||||
if (item.BackdropImageTags && item.BackdropImageTags.length) {
|
||||
if (item.BackdropImageTags?.length) {
|
||||
options.tag = item.BackdropImageTags[0];
|
||||
return apiClient.getScaledImageUrl(item.Id, options);
|
||||
}
|
||||
|
||||
if (item.ParentBackdropImageTags && item.ParentBackdropImageTags.length) {
|
||||
if (item.ParentBackdropImageTags?.length) {
|
||||
options.tag = item.ParentBackdropImageTags[0];
|
||||
return apiClient.getScaledImageUrl(item.ParentBackdropItemId, options);
|
||||
}
|
||||
|
@ -773,7 +773,7 @@ class PlaybackManager {
|
|||
|
||||
self.setActivePlayer = function (player, targetInfo) {
|
||||
if (player === 'localplayer' || player.name === 'localplayer') {
|
||||
if (self._currentPlayer && self._currentPlayer.isLocalPlayer) {
|
||||
if (self._currentPlayer?.isLocalPlayer) {
|
||||
return;
|
||||
}
|
||||
setCurrentPlayerInternal(null, null);
|
||||
|
@ -795,7 +795,7 @@ class PlaybackManager {
|
|||
|
||||
self.trySetActivePlayer = function (player, targetInfo) {
|
||||
if (player === 'localplayer' || player.name === 'localplayer') {
|
||||
if (self._currentPlayer && self._currentPlayer.isLocalPlayer) {
|
||||
if (self._currentPlayer?.isLocalPlayer) {
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
@ -967,7 +967,7 @@ class PlaybackManager {
|
|||
return player.isPlaying();
|
||||
}
|
||||
|
||||
return player != null && player.currentSrc() != null;
|
||||
return player?.currentSrc() != null;
|
||||
};
|
||||
|
||||
self.isPlayingMediaType = function (mediaType, player) {
|
||||
|
@ -989,7 +989,7 @@ class PlaybackManager {
|
|||
self.isPlayingLocally = function (mediaTypes, player) {
|
||||
player = player || self._currentPlayer;
|
||||
|
||||
if (!player || !player.isLocalPlayer) {
|
||||
if (!player?.isLocalPlayer) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1068,7 +1068,7 @@ class PlaybackManager {
|
|||
self.setAspectRatio = function (val, player) {
|
||||
player = player || self._currentPlayer;
|
||||
|
||||
if (player && player.setAspectRatio) {
|
||||
if (player?.setAspectRatio) {
|
||||
player.setAspectRatio(val);
|
||||
}
|
||||
};
|
||||
|
@ -1076,7 +1076,7 @@ class PlaybackManager {
|
|||
self.getSupportedAspectRatios = function (player) {
|
||||
player = player || self._currentPlayer;
|
||||
|
||||
if (player && player.getSupportedAspectRatios) {
|
||||
if (player?.getSupportedAspectRatios) {
|
||||
return player.getSupportedAspectRatios();
|
||||
}
|
||||
|
||||
|
@ -1086,7 +1086,7 @@ class PlaybackManager {
|
|||
self.getAspectRatio = function (player) {
|
||||
player = player || self._currentPlayer;
|
||||
|
||||
if (player && player.getAspectRatio) {
|
||||
if (player?.getAspectRatio) {
|
||||
return player.getAspectRatio();
|
||||
}
|
||||
};
|
||||
|
@ -1131,7 +1131,7 @@ class PlaybackManager {
|
|||
|
||||
self.getSupportedPlaybackRates = function (player) {
|
||||
player = player || self._currentPlayer;
|
||||
if (player && player.getSupportedPlaybackRates) {
|
||||
if (player?.getSupportedPlaybackRates) {
|
||||
return player.getSupportedPlaybackRates();
|
||||
}
|
||||
return [];
|
||||
|
@ -1351,7 +1351,7 @@ class PlaybackManager {
|
|||
|
||||
self.getMaxStreamingBitrate = function (player) {
|
||||
player = player || self._currentPlayer;
|
||||
if (player && player.getMaxStreamingBitrate) {
|
||||
if (player?.getMaxStreamingBitrate) {
|
||||
return player.getMaxStreamingBitrate();
|
||||
}
|
||||
|
||||
|
@ -1370,7 +1370,7 @@ class PlaybackManager {
|
|||
|
||||
self.enableAutomaticBitrateDetection = function (player) {
|
||||
player = player || self._currentPlayer;
|
||||
if (player && player.enableAutomaticBitrateDetection) {
|
||||
if (player?.enableAutomaticBitrateDetection) {
|
||||
return player.enableAutomaticBitrateDetection();
|
||||
}
|
||||
|
||||
|
@ -1386,7 +1386,7 @@ class PlaybackManager {
|
|||
|
||||
self.setMaxStreamingBitrate = function (options, player) {
|
||||
player = player || self._currentPlayer;
|
||||
if (player && player.setMaxStreamingBitrate) {
|
||||
if (player?.setMaxStreamingBitrate) {
|
||||
return player.setMaxStreamingBitrate(options);
|
||||
}
|
||||
|
||||
|
@ -1443,7 +1443,7 @@ class PlaybackManager {
|
|||
document.webkitCancelFullscreen();
|
||||
} else {
|
||||
const elem = document.querySelector('video');
|
||||
if (elem && elem.webkitEnterFullscreen) {
|
||||
if (elem?.webkitEnterFullscreen) {
|
||||
elem.webkitEnterFullscreen();
|
||||
}
|
||||
}
|
||||
|
@ -2078,7 +2078,7 @@ class PlaybackManager {
|
|||
|
||||
const mediaSource = self.currentMediaSource(player);
|
||||
|
||||
if (mediaSource && mediaSource.RunTimeTicks) {
|
||||
if (mediaSource?.RunTimeTicks) {
|
||||
return mediaSource.RunTimeTicks;
|
||||
}
|
||||
|
||||
|
@ -2614,7 +2614,7 @@ class PlaybackManager {
|
|||
|
||||
if (mediaSource.MediaStreams && player.useFullSubtitleUrls) {
|
||||
mediaSource.MediaStreams.forEach(stream => {
|
||||
if (stream.DeliveryUrl && stream.DeliveryUrl.startsWith('/')) {
|
||||
if (stream.DeliveryUrl?.startsWith('/')) {
|
||||
stream.DeliveryUrl = apiClient.getUrl(stream.DeliveryUrl);
|
||||
}
|
||||
});
|
||||
|
@ -3444,7 +3444,7 @@ class PlaybackManager {
|
|||
|
||||
const streamInfo = getPlayerData(player).streamInfo;
|
||||
|
||||
if (streamInfo && streamInfo.started && !streamInfo.ended) {
|
||||
if (streamInfo?.started && !streamInfo.ended) {
|
||||
reportPlayback(self, state, player, reportPlaylist, serverId, 'reportPlaybackProgress', progressEventName);
|
||||
}
|
||||
|
||||
|
@ -3515,7 +3515,7 @@ class PlaybackManager {
|
|||
|
||||
const nextItem = this._playQueueManager.getNextItemInfo();
|
||||
|
||||
if (!nextItem || !nextItem.item) {
|
||||
if (!nextItem?.item) {
|
||||
return Promise.reject();
|
||||
}
|
||||
|
||||
|
@ -3656,7 +3656,7 @@ class PlaybackManager {
|
|||
async playTrailers(item) {
|
||||
const player = this._currentPlayer;
|
||||
|
||||
if (player && player.playTrailers) {
|
||||
if (player?.playTrailers) {
|
||||
return player.playTrailers(item);
|
||||
}
|
||||
|
||||
|
@ -3668,7 +3668,7 @@ class PlaybackManager {
|
|||
items = await apiClient.getLocalTrailers(apiClient.getCurrentUserId(), item.Id);
|
||||
}
|
||||
|
||||
if (!items || !items.length) {
|
||||
if (!items?.length) {
|
||||
items = (item.RemoteTrailers || []).map((t) => {
|
||||
return {
|
||||
Name: t.Name || (item.Name + ' Trailer'),
|
||||
|
@ -3750,7 +3750,7 @@ class PlaybackManager {
|
|||
}
|
||||
|
||||
setPlaybackRate(value, player = this._currentPlayer) {
|
||||
if (player && player.setPlaybackRate) {
|
||||
if (player?.setPlaybackRate) {
|
||||
player.setPlaybackRate(value);
|
||||
|
||||
// Save the new playback rate in the browser session, to restore when playing a new video.
|
||||
|
@ -3759,7 +3759,7 @@ class PlaybackManager {
|
|||
}
|
||||
|
||||
getPlaybackRate(player = this._currentPlayer) {
|
||||
if (player && player.getPlaybackRate) {
|
||||
if (player?.getPlaybackRate) {
|
||||
return player.getPlaybackRate();
|
||||
}
|
||||
|
||||
|
@ -3767,7 +3767,7 @@ class PlaybackManager {
|
|||
}
|
||||
|
||||
instantMix(item, player = this._currentPlayer) {
|
||||
if (player && player.instantMix) {
|
||||
if (player?.instantMix) {
|
||||
return player.instantMix(item);
|
||||
}
|
||||
|
||||
|
@ -3788,7 +3788,7 @@ class PlaybackManager {
|
|||
}
|
||||
|
||||
shuffle(shuffleItem, player = this._currentPlayer) {
|
||||
if (player && player.shuffle) {
|
||||
if (player?.shuffle) {
|
||||
return player.shuffle(shuffleItem);
|
||||
}
|
||||
|
||||
|
@ -3805,7 +3805,7 @@ class PlaybackManager {
|
|||
|
||||
const mediaSource = this.currentMediaSource(player);
|
||||
|
||||
const mediaStreams = (mediaSource || {}).MediaStreams || [];
|
||||
const mediaStreams = mediaSource?.MediaStreams || [];
|
||||
return mediaStreams.filter(function (s) {
|
||||
return s.Type === 'Audio';
|
||||
}).sort(itemHelper.sortTracks);
|
||||
|
@ -3821,7 +3821,7 @@ class PlaybackManager {
|
|||
|
||||
const mediaSource = this.currentMediaSource(player);
|
||||
|
||||
const mediaStreams = (mediaSource || {}).MediaStreams || [];
|
||||
const mediaStreams = mediaSource?.MediaStreams || [];
|
||||
return mediaStreams.filter(function (s) {
|
||||
return s.Type === 'Subtitle';
|
||||
}).sort(itemHelper.sortTracks);
|
||||
|
@ -3960,7 +3960,7 @@ class PlaybackManager {
|
|||
}
|
||||
|
||||
displayContent(options, player = this._currentPlayer) {
|
||||
if (player && player.displayContent) {
|
||||
if (player?.displayContent) {
|
||||
player.displayContent(options);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue