1
0
Fork 0
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:
Bill Thornton 2023-07-06 13:39:48 -04:00
parent ec0adb895b
commit f35a8151e0
61 changed files with 152 additions and 152 deletions

View file

@ -35,7 +35,7 @@ function seriesImageUrl(item, options = {}) {
function imageUrl(item, options = {}) {
options.type = options.type || 'Primary';
if (item.ImageTags && item.ImageTags[options.type]) {
if (item.ImageTags?.[options.type]) {
options.tag = item.ImageTags[options.type];
return ServerConnections.getApiClient(item.ServerId).getScaledImageUrl(item.Id, options);

View file

@ -23,7 +23,7 @@ export function getNowPlayingNames(nowPlayingItem, includeNonNameInfo) {
let bottomText = '';
if (nowPlayingItem.ArtistItems && nowPlayingItem.ArtistItems.length) {
if (nowPlayingItem.ArtistItems?.length) {
bottomItem = {
Id: nowPlayingItem.ArtistItems[0].Id,
Name: nowPlayingItem.ArtistItems[0].Name,
@ -34,7 +34,7 @@ export function getNowPlayingNames(nowPlayingItem, includeNonNameInfo) {
bottomText = nowPlayingItem.ArtistItems.map(function (a) {
return a.Name;
}).join(', ');
} else if (nowPlayingItem.Artists && nowPlayingItem.Artists.length) {
} else if (nowPlayingItem.Artists?.length) {
bottomText = nowPlayingItem.Artists.join(', ');
} else if (nowPlayingItem.SeriesName || nowPlayingItem.Album) {
bottomText = topText;

View file

@ -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);
}
}

View file

@ -1,4 +1,3 @@
import { playbackManager } from './playbackmanager';
import layoutManager from '../layoutManager';
import Events from '../../utils/events.ts';
@ -19,7 +18,7 @@ Events.on(playbackManager, 'playbackstart', function (e, player) {
if (isLocalVideo && layoutManager.mobile) {
/* eslint-disable-next-line compat/compat */
const lockOrientation = window.screen.lockOrientation || window.screen.mozLockOrientation || window.screen.msLockOrientation || (window.screen.orientation && window.screen.orientation.lock);
const lockOrientation = window.screen.lockOrientation || window.screen.mozLockOrientation || window.screen.msLockOrientation || (window.screen.orientation?.lock);
if (lockOrientation) {
try {
@ -40,7 +39,7 @@ Events.on(playbackManager, 'playbackstart', function (e, player) {
Events.on(playbackManager, 'playbackstop', function (e, playbackStopInfo) {
if (orientationLocked && !playbackStopInfo.nextMediaType) {
/* eslint-disable-next-line compat/compat */
const unlockOrientation = window.screen.unlockOrientation || window.screen.mozUnlockOrientation || window.screen.msUnlockOrientation || (window.screen.orientation && window.screen.orientation.unlock);
const unlockOrientation = window.screen.unlockOrientation || window.screen.mozUnlockOrientation || window.screen.msUnlockOrientation || (window.screen.orientation?.unlock);
if (unlockOrientation) {
try {

View file

@ -248,7 +248,7 @@ export function show(options) {
const player = options.player;
const currentItem = playbackManager.currentItem(player);
if (!currentItem || !currentItem.ServerId) {
if (!currentItem?.ServerId) {
return showWithUser(options, player, null);
}

View file

@ -3,9 +3,9 @@ export function getDisplayPlayMethod(session) {
return null;
}
if (session.TranscodingInfo && session.TranscodingInfo.IsVideoDirect && session.TranscodingInfo.IsAudioDirect) {
if (session.TranscodingInfo?.IsVideoDirect && session.TranscodingInfo.IsAudioDirect) {
return 'Remux';
} else if (session.TranscodingInfo && session.TranscodingInfo.IsVideoDirect) {
} else if (session.TranscodingInfo?.IsVideoDirect) {
return 'DirectStream';
} else if (session.PlayState.PlayMethod === 'Transcode') {
return 'Transcode';