1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge pull request #2355 from thornbill/fix-warnings

Fix warnings
This commit is contained in:
Bill Thornton 2021-04-07 17:11:44 -04:00 committed by GitHub
commit 09856cc8c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
115 changed files with 324 additions and 366 deletions

View file

@ -54,7 +54,7 @@ import alert from './alert';
return html;
}
function renderList(elem, apiClient, result, startIndex, limit) {
function renderList(elem, apiClient, result) {
elem.innerHTML = result.Items.map(function (i) {
return getEntryHtml(i, apiClient);
}).join('');
@ -97,11 +97,11 @@ import alert from './alert';
}
instance.items = result.Items;
renderList(elem, apiClient, result, startIndex, limit);
renderList(elem, apiClient, result);
});
}
function onActivityLogUpdate(e, apiClient, data) {
function onActivityLogUpdate(e, apiClient) {
const options = this.options;
if (options && options.serverId === apiClient.serverId()) {

View file

@ -1,6 +1,6 @@
import './appFooter.scss';
function render(options) {
function render() {
const elem = document.createElement('div');
elem.classList.add('appfooter');
@ -10,10 +10,10 @@ function render(options) {
}
class appFooter {
constructor(options) {
constructor() {
const self = this;
self.element = render(options);
self.element = render();
self.add = function (elem) {
self.element.appendChild(elem);
};
@ -33,4 +33,4 @@ class appFooter {
}
}
export default new appFooter({});
export default new appFooter();

View file

@ -7,7 +7,7 @@ import ServerConnections from '../ServerConnections';
/* eslint-disable indent */
function enableAnimation(elem) {
function enableAnimation() {
if (browser.slow) {
return false;
}
@ -47,7 +47,7 @@ import ServerConnections from '../ServerConnections';
backdropImage.classList.add('backdropImageFadeIn');
parent.appendChild(backdropImage);
if (!enableAnimation(backdropImage)) {
if (!enableAnimation()) {
if (existingBackdropImage && existingBackdropImage.parentNode) {
existingBackdropImage.parentNode.removeChild(existingBackdropImage);
}

View file

@ -48,7 +48,7 @@ import '../../assets/css/scrollstyles.scss';
const activeElement = document.activeElement;
let removeScrollLockOnClose = false;
function onHashChange(e) {
function onHashChange() {
const isBack = self.originalUrl === window.location.href;
if (isBack || !isOpened(dlg)) {
@ -200,7 +200,7 @@ import '../../assets/css/scrollstyles.scss';
dlg.dialogContainer = dialogContainer;
document.body.appendChild(dialogContainer);
return new Promise((resolve, reject) => {
return new Promise((resolve) => {
new DialogHashHandler(dlg, `dlg${new Date().getTime()}`, resolve);
});
}

View file

@ -210,7 +210,7 @@ function loadDynamicFilters(context, options) {
}
class FilterMenu {
show(options) {
return new Promise( (resolve, reject) => {
return new Promise( (resolve) => {
const dialogOptions = {
removeOnClose: true,
scrollY: false

View file

@ -8,7 +8,7 @@ import scrollManager from './scrollManager';
scopes.push(elem);
}
function popScope(elem) {
function popScope() {
if (scopes.length) {
scopes.length -= 1;
}

View file

@ -1057,7 +1057,7 @@ function Guide(options) {
}
}
function onSeriesTimerCreated(e, apiClient, data) {
function onSeriesTimerCreated() {
}
function onTimerCancelled(e, apiClient, data) {
@ -1116,7 +1116,7 @@ function Guide(options) {
programGrid.classList.add('noRubberBanding');
}
dom.addEventListener(programGrid, 'scroll', function (e) {
dom.addEventListener(programGrid, 'scroll', function () {
onProgramGridScroll(guideContext, this, timeslotHeaders);
}, {
passive: true

View file

@ -219,7 +219,7 @@ import template from './homeScreenSettings.template.html';
context.querySelector('.selectTVHomeScreen').value = userSettings.get('tvhome') || '';
}
function getPerLibrarySettingsHtml(item, user, userSettings, apiClient) {
function getPerLibrarySettingsHtml(item, user, userSettings) {
let html = '';
let isChecked;
@ -275,12 +275,12 @@ import template from './homeScreenSettings.template.html';
return html;
}
function renderPerLibrarySettings(context, user, userViews, userSettings, apiClient) {
function renderPerLibrarySettings(context, user, userViews) {
const elem = context.querySelector('.perLibrarySettings');
let html = '';
for (let i = 0, length = userViews.length; i < length; i++) {
html += getPerLibrarySettingsHtml(userViews[i], user, userSettings, apiClient);
html += getPerLibrarySettingsHtml(userViews[i], user);
}
elem.innerHTML = html;
@ -297,7 +297,7 @@ import template from './homeScreenSettings.template.html';
Promise.all([promise1, promise2]).then(responses => {
renderViewOrder(context, user, responses[0]);
renderPerLibrarySettings(context, user, responses[0].Items, userSettings, apiClient);
renderPerLibrarySettings(context, user, responses[0].Items);
renderViews(context, user, responses[1]);

View file

@ -133,24 +133,22 @@ import ServerConnections from '../ServerConnections';
function loadSection(page, apiClient, user, userSettings, userViews, allSections, index) {
const section = allSections[index];
const userId = user.Id;
const elem = page.querySelector('.section' + index);
if (section === 'latestmedia') {
loadRecentlyAdded(elem, apiClient, user, userViews);
} else if (section === 'librarytiles' || section === 'smalllibrarytiles' || section === 'smalllibrarytiles-automobile' || section === 'librarytiles-automobile') {
loadLibraryTiles(elem, apiClient, user, userSettings, 'smallBackdrop', userViews, allSections);
loadLibraryTiles(elem, apiClient, user, userSettings, 'smallBackdrop', userViews);
} else if (section === 'librarybuttons') {
loadlibraryButtons(elem, apiClient, user, userSettings, userViews);
} else if (section === 'resume') {
loadResumeVideo(elem, apiClient, userId);
loadResumeVideo(elem, apiClient);
} else if (section === 'resumeaudio') {
loadResumeAudio(elem, apiClient, userId);
loadResumeAudio(elem, apiClient);
} else if (section === 'activerecordings') {
loadLatestLiveTvRecordings(elem, true, apiClient, userId);
loadLatestLiveTvRecordings(elem, true, apiClient);
} else if (section === 'nextup') {
loadNextUp(elem, apiClient, userId);
loadNextUp(elem, apiClient);
} else if (section === 'onnow' || section === 'livetv') {
return loadOnNow(elem, apiClient, user);
} else {
@ -335,7 +333,7 @@ import ServerConnections from '../ServerConnections';
}
}
export function loadLibraryTiles(elem, apiClient, user, userSettings, shape, userViews, allSections) {
export function loadLibraryTiles(elem, apiClient, user, userSettings, shape, userViews) {
let html = '';
if (userViews.length) {
html += '<h2 class="sectionTitle sectionTitle-cards padded-left">' + globalize.translate('HeaderMyMedia') + '</h2>';
@ -415,7 +413,7 @@ import ServerConnections from '../ServerConnections';
});
}
function loadResumeVideo(elem, apiClient, userId) {
function loadResumeVideo(elem, apiClient) {
let html = '';
html += '<h2 class="sectionTitle sectionTitle-cards padded-left">' + globalize.translate('HeaderContinueWatching') + '</h2>';
@ -488,7 +486,7 @@ import ServerConnections from '../ServerConnections';
});
}
function loadResumeAudio(elem, apiClient, userId) {
function loadResumeAudio(elem, apiClient) {
let html = '';
html += '<h2 class="sectionTitle sectionTitle-cards padded-left">' + globalize.translate('HeaderContinueListening') + '</h2>';
@ -688,7 +686,7 @@ import ServerConnections from '../ServerConnections';
});
}
function loadNextUp(elem, apiClient, userId) {
function loadNextUp(elem, apiClient) {
let html = '';
html += '<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">';
@ -766,7 +764,7 @@ import ServerConnections from '../ServerConnections';
};
}
function loadLatestLiveTvRecordings(elem, activeRecordingsOnly, apiClient, userId) {
function loadLatestLiveTvRecordings(elem, activeRecordingsOnly, apiClient) {
const title = activeRecordingsOnly ?
globalize.translate('HeaderActiveRecordings') :
globalize.translate('HeaderLatestRecordings');

View file

@ -359,7 +359,7 @@ import toast from './toast/toast';
itemId: itemId,
serverId: serverId,
title: item.Name,
filename: item.Path.replace(/^.*[\\\/]/, '')
filename: item.Path.replace(/^.*[\\/]/, '')
}]);
getResolveFunction(getResolveFunction(resolve, id), id)();
});

View file

@ -2,7 +2,7 @@ import { playbackManager } from './playback/playbackmanager';
import serverNotifications from '../scripts/serverNotifications';
import { Events } from 'jellyfin-apiclient';
function onUserDataChanged(e, apiClient, userData) {
function onUserDataChanged() {
const instance = this;
const eventsToMonitor = getEventsToMonitor(instance);
@ -25,7 +25,7 @@ function getEventsToMonitor(instance) {
return [];
}
function onTimerCreated(e, apiClient, data) {
function onTimerCreated() {
const instance = this;
if (getEventsToMonitor(instance).indexOf('timers') !== -1) {
@ -34,7 +34,7 @@ function onTimerCreated(e, apiClient, data) {
}
}
function onSeriesTimerCreated(e, apiClient, data) {
function onSeriesTimerCreated() {
const instance = this;
if (getEventsToMonitor(instance).indexOf('seriestimers') !== -1) {
instance.notifyRefreshNeeded();
@ -42,7 +42,7 @@ function onSeriesTimerCreated(e, apiClient, data) {
}
}
function onTimerCancelled(e, apiClient, data) {
function onTimerCancelled() {
const instance = this;
if (getEventsToMonitor(instance).indexOf('timers') !== -1) {
@ -51,7 +51,7 @@ function onTimerCancelled(e, apiClient, data) {
}
}
function onSeriesTimerCancelled(e, apiClient, data) {
function onSeriesTimerCancelled() {
const instance = this;
if (getEventsToMonitor(instance).indexOf('seriestimers') !== -1) {
instance.notifyRefreshNeeded();

View file

@ -163,10 +163,6 @@ import ServerConnections from '../ServerConnections';
return html;
}
function getId(item) {
return item.Id;
}
export function getListViewHtml(options) {
const items = options.items;
@ -183,7 +179,6 @@ import ServerConnections from '../ServerConnections';
let outerHtml = '';
const enableContentWrapper = options.enableOverview && !layoutManager.tv;
const containerAlbumArtistIds = (options.containerAlbumArtists || []).map(getId);
for (let i = 0, length = items.length; i < length; i++) {
const item = items[i];

View file

@ -47,7 +47,7 @@ import '../elements/emby-button/emby-button';
return true;
}
function configureSwipeTabs(view, tabsElem, getTabContainersFn) {
function configureSwipeTabs(view, tabsElem) {
if (!browser.touch) {
return;
}
@ -142,7 +142,7 @@ import '../elements/emby-button/emby-button';
tabsElem = tabsContainerElem.querySelector('[is="emby-tabs"]');
configureSwipeTabs(view, tabsElem, getTabContainersFn);
configureSwipeTabs(view, tabsElem);
tabsElem.addEventListener('beforetabchange', function (e) {
const tabContainers = getTabContainersFn();

View file

@ -490,9 +490,7 @@ import '../../elements/emby-button/emby-button';
})[0];
}
export function getMediaInfoStats(item, options) {
options = options || {};
export function getMediaInfoStats(item) {
const list = [];
const mediaSource = (item.MediaSources || [])[0] || {};

View file

@ -31,7 +31,7 @@ import template from './metadataEditor.template.html';
return currentContext.classList.contains('dialog');
}
function closeDialog(isSubmitted) {
function closeDialog() {
if (isDialog()) {
dialogHelper.close(currentContext);
}
@ -42,7 +42,7 @@ import template from './metadataEditor.template.html';
toast(globalize.translate('MessageItemSaved'));
loading.hide();
closeDialog(true);
closeDialog();
}
const apiClient = getApiClient();
@ -298,7 +298,7 @@ import template from './metadataEditor.template.html';
}
}
function init(context, apiClient) {
function init(context) {
context.querySelector('.externalIds').addEventListener('click', function (e) {
const btnOpenExternalId = dom.parentWithClass(e.target, 'btnOpenExternalId');
if (btnOpenExternalId) {
@ -319,7 +319,7 @@ import template from './metadataEditor.template.html';
bindAll(context.querySelectorAll('.btnCancel'), 'click', function (event) {
event.preventDefault();
closeDialog(false);
closeDialog();
});
context.querySelector('.btnMore').addEventListener('click', function (e) {
@ -328,7 +328,7 @@ import template from './metadataEditor.template.html';
});
});
context.querySelector('.btnHeaderSave').addEventListener('click', function (e) {
context.querySelector('.btnHeaderSave').addEventListener('click', function () {
context.querySelector('.btnSave').click();
});
@ -347,7 +347,7 @@ import template from './metadataEditor.template.html';
form.removeEventListener('submit', onSubmit);
form.addEventListener('submit', onSubmit);
context.querySelector('#btnAddPerson').addEventListener('click', function (event, data) {
context.querySelector('#btnAddPerson').addEventListener('click', function () {
editPerson(context, {}, -1);
});
@ -1026,7 +1026,7 @@ import template from './metadataEditor.template.html';
});
}
function show(itemId, serverId, resolve, reject) {
function show(itemId, serverId, resolve) {
loading.show();
const dialogOptions = {
@ -1066,20 +1066,20 @@ import template from './metadataEditor.template.html';
currentContext = dlg;
init(dlg, ServerConnections.getApiClient(serverId));
init(dlg);
reload(dlg, itemId, serverId);
}
export default {
show: function (itemId, serverId) {
return new Promise(function (resolve, reject) {
return show(itemId, serverId, resolve, reject);
return new Promise(function (resolve) {
return show(itemId, serverId, resolve);
});
},
embed: function (elem, itemId, serverId) {
return new Promise(function (resolve, reject) {
return new Promise(function () {
loading.show();
elem.innerHTML = globalize.translateHtml(template, 'core');
@ -1091,7 +1091,7 @@ import template from './metadataEditor.template.html';
currentContext = elem;
init(elem, ServerConnections.getApiClient(serverId));
init(elem);
reload(elem, itemId, serverId);
focusManager.autoFocus(elem);

View file

@ -63,7 +63,7 @@ import template from './personEditor.template.html';
}
});
dlg.querySelector('.selectPersonType').addEventListener('change', function (e) {
dlg.querySelector('.selectPersonType').addEventListener('change', function () {
if (this.value === 'Actor') {
dlg.querySelector('.fldRole').classList.remove('hide');
} else {
@ -71,7 +71,7 @@ import template from './personEditor.template.html';
}
});
dlg.querySelector('.btnCancel').addEventListener('click', function (e) {
dlg.querySelector('.btnCancel').addEventListener('click', function () {
dialogHelper.close(dlg);
});

View file

@ -84,7 +84,7 @@ import confirm from '../confirm/confirm';
}
}
function onSelectionChange(e) {
function onSelectionChange() {
updateItemSelection(this, this.checked);
}
@ -440,13 +440,13 @@ import confirm from '../confirm/confirm';
deltaY = 100;
}
if (deltaX >= 5 || deltaY >= 5) {
onMouseOut(e);
onMouseOut();
}
}
}
function onTouchEnd(e) {
onMouseOut(e);
function onTouchEnd() {
onMouseOut();
}
function onMouseDown(e) {
@ -459,7 +459,7 @@ import confirm from '../confirm/confirm';
touchStartTimeout = setTimeout(onTouchStartTimerFired, 550);
}
function onMouseOut(e) {
function onMouseOut() {
if (touchStartTimeout) {
clearTimeout(touchStartTimeout);
touchStartTimeout = null;

View file

@ -41,7 +41,7 @@ function resetRegistration() {
resetRegistration();
function showPersistentNotification(title, options, timeoutMs) {
function showPersistentNotification(title, options) {
serviceWorkerRegistration.showNotification(title, options);
}
@ -77,7 +77,7 @@ function showNotification(options, timeoutMs, apiClient) {
resetRegistration();
if (serviceWorkerRegistration) {
showPersistentNotification(title, options, timeoutMs);
showPersistentNotification(title, options);
return;
}
@ -219,7 +219,7 @@ Events.on(serverNotifications, 'PackageInstalling', function (e, apiClient, data
showPackageInstallNotification(apiClient, data, 'progress');
});
Events.on(serverNotifications, 'ServerShuttingDown', function (e, apiClient, data) {
Events.on(serverNotifications, 'ServerShuttingDown', function (e, apiClient) {
const serverId = apiClient.serverInfo().Id;
const notification = {
tag: 'restart' + serverId,
@ -228,7 +228,7 @@ Events.on(serverNotifications, 'ServerShuttingDown', function (e, apiClient, dat
showNotification(notification, 0, apiClient);
});
Events.on(serverNotifications, 'ServerRestarting', function (e, apiClient, data) {
Events.on(serverNotifications, 'ServerRestarting', function (e, apiClient) {
const serverId = apiClient.serverInfo().Id;
const notification = {
tag: 'restart' + serverId,

View file

@ -648,7 +648,7 @@ import { appRouter } from '../appRouter';
}
}
function onPlayPauseStateChanged(e) {
function onPlayPauseStateChanged() {
if (!isEnabled) {
return;
}
@ -682,7 +682,7 @@ import { appRouter } from '../appRouter';
updatePlayerStateInternal(event, state, player);
}
function onTimeUpdate(e) {
function onTimeUpdate() {
if (!isEnabled) {
return;
}
@ -718,7 +718,7 @@ import { appRouter } from '../appRouter';
}
}
function onVolumeChanged(e) {
function onVolumeChanged() {
if (!isEnabled) {
return;
}

View file

@ -127,7 +127,7 @@ function releaseCurrentPlayer() {
}
}
function onBrightnessChanged(e) {
function onBrightnessChanged() {
const player = this;
ensureOsdElement();

View file

@ -208,7 +208,7 @@ function getMimeType(type, container) {
}
function getParam(name, url) {
name = name.replace(/[\[]/, '\\\[').replace(/[\]]/, '\\\]');
name = name.replace(/[[]/, '\\[').replace(/[\]]/, '\\]');
const regexS = '[\\?&]' + name + '=([^&#]*)';
const regex = new RegExp(regexS, 'i');
@ -270,7 +270,7 @@ function getIntros(firstItem, apiClient, options) {
return apiClient.getIntros(firstItem.Id).then(function (result) {
return result;
}, function (err) {
}, function () {
return Promise.resolve({
Items: []
});
@ -619,7 +619,7 @@ function supportsDirectPlay(apiClient, item, mediaSource) {
return isHostReachable(mediaSource, apiClient);
}
} else if (mediaSource.Protocol === 'File') {
return new Promise(function (resolve, reject) {
return new Promise(function (resolve) {
// Determine if the file can be accessed directly
import('../../scripts/filesystem').then((filesystem) => {
const method = isFolderRip ?
@ -1711,7 +1711,7 @@ class PlaybackManager {
});
}
function changeStreamToUrl(apiClient, player, playSessionId, streamInfo, newPositionTicks) {
function changeStreamToUrl(apiClient, player, playSessionId, streamInfo) {
const playerData = getPlayerData(player);
playerData.isChangingStream = true;
@ -2037,7 +2037,7 @@ class PlaybackManager {
// Only used internally
self.getCurrentTicks = getCurrentTicks;
function playOther(items, options, user) {
function playOther(items, options) {
const playStartIndex = options.startIndex || 0;
const player = getPlayer(items[playStartIndex], options);
@ -2048,7 +2048,7 @@ class PlaybackManager {
return player.play(options);
}
function playWithIntros(items, options, user) {
function playWithIntros(items, options) {
let playStartIndex = options.startIndex || 0;
let firstItem = items[playStartIndex];
@ -2065,7 +2065,7 @@ class PlaybackManager {
}
if (firstItem.MediaType === 'Photo' || firstItem.MediaType === 'Book') {
return playOther(items, options, user);
return playOther(items, options);
}
const apiClient = ServerConnections.getApiClient(firstItem.ServerId);
@ -3030,27 +3030,27 @@ class PlaybackManager {
}
}
function onPlaybackTimeUpdate(e) {
function onPlaybackTimeUpdate() {
const player = this;
sendProgressUpdate(player, 'timeupdate');
}
function onPlaybackPause(e) {
function onPlaybackPause() {
const player = this;
sendProgressUpdate(player, 'pause');
}
function onPlaybackUnpause(e) {
function onPlaybackUnpause() {
const player = this;
sendProgressUpdate(player, 'unpause');
}
function onPlaybackVolumeChange(e) {
function onPlaybackVolumeChange() {
const player = this;
sendProgressUpdate(player, 'volumechange');
}
function onRepeatModeChange(e) {
function onRepeatModeChange() {
const player = this;
sendProgressUpdate(player, 'repeatmodechange');
}
@ -3060,17 +3060,17 @@ class PlaybackManager {
sendProgressUpdate(player, 'shufflequeuemodechange');
}
function onPlaylistItemMove(e) {
function onPlaylistItemMove() {
const player = this;
sendProgressUpdate(player, 'playlistitemmove', true);
}
function onPlaylistItemRemove(e) {
function onPlaylistItemRemove() {
const player = this;
sendProgressUpdate(player, 'playlistitemremove', true);
}
function onPlaylistItemAdd(e) {
function onPlaylistItemAdd() {
const player = this;
sendProgressUpdate(player, 'playlistitemadd', true);
}

View file

@ -14,7 +14,7 @@ function onOrientationChangeError(err) {
console.error('error locking orientation: ' + err);
}
Events.on(playbackManager, 'playbackstart', function (e, player, state) {
Events.on(playbackManager, 'playbackstart', function (e, player) {
const isLocalVideo = player.isLocalPlayer && !player.isExternalPlayer && playbackManager.isPlayingVideo(player);
if (isLocalVideo && layoutManager.mobile) {

View file

@ -301,15 +301,15 @@ Events.on(appSettings, 'change', function (e, name) {
}
});
Events.on(playbackManager, 'pairing', function (e) {
Events.on(playbackManager, 'pairing', function () {
loading.show();
});
Events.on(playbackManager, 'paired', function (e) {
Events.on(playbackManager, 'paired', function () {
loading.hide();
});
Events.on(playbackManager, 'pairerror', function (e) {
Events.on(playbackManager, 'pairerror', function () {
loading.hide();
});

View file

@ -114,7 +114,7 @@ class PlayQueueManager {
return this._currentPlaylistItemId;
}
setPlaylistState(playlistItemId, playlistIndex) {
setPlaylistState(playlistItemId) {
this._currentPlaylistItemId = playlistItemId;
}

View file

@ -118,7 +118,7 @@ function releaseCurrentPlayer() {
}
}
function onVolumeChanged(e) {
function onVolumeChanged() {
const player = this;
ensureOsdElement();

View file

@ -196,7 +196,7 @@ import ServerConnections from '../ServerConnections';
}
}
function getMediaSourceStats(session, player, displayPlayMethod) {
function getMediaSourceStats(session, player) {
const sessionStats = [];
const mediaSource = playbackManager.currentMediaSource(player) || {};

View file

@ -5,7 +5,7 @@ import '../../elements/emby-button/emby-button';
import './recordingfields.scss';
import ServerConnections from '../ServerConnections';
function onRecordingButtonClick(e) {
function onRecordingButtonClick() {
const item = this.item;
if (item) {

View file

@ -28,7 +28,7 @@ function deleteTimer(apiClient, timerId) {
});
}
function renderTimer(context, item, apiClient) {
function renderTimer(context, item) {
context.querySelector('#txtPrePaddingMinutes').value = item.PrePaddingSeconds / 60;
context.querySelector('#txtPostPaddingMinutes').value = item.PostPaddingSeconds / 60;
@ -79,13 +79,13 @@ function reload(context, id) {
const apiClient = ServerConnections.getApiClient(currentServerId);
apiClient.getLiveTvTimer(id).then(function (result) {
renderTimer(context, result, apiClient);
renderTimer(context, result);
loading.hide();
});
}
function showEditor(itemId, serverId, options) {
return new Promise(function (resolve, reject) {
return new Promise(function (resolve) {
recordingDeleted = false;
currentServerId = serverId;
loading.show();

View file

@ -14,7 +14,7 @@ import template from './recordingfields.template.html';
/*eslint prefer-const: "error"*/
function loadData(parent, program, apiClient) {
function loadData(parent, program) {
if (program.IsSeries) {
parent.querySelector('.recordSeriesContainer').classList.remove('hide');
} else {
@ -55,7 +55,7 @@ function fetchData(instance) {
instance.TimerId = program.TimerId;
instance.Status = program.Status;
instance.SeriesTimerId = program.SeriesTimerId;
loadData(options.parent, program, apiClient);
loadData(options.parent, program);
});
}
@ -119,7 +119,7 @@ class RecordingEditor {
embed() {
const self = this;
return new Promise(function (resolve, reject) {
return new Promise(function (resolve) {
const options = self.options;
const context = options.parent;
context.innerHTML = globalize.translateHtml(template, 'core');
@ -156,7 +156,7 @@ class RecordingEditor {
}
}
function onManageRecordingClick(e) {
function onManageRecordingClick() {
const options = this.options;
if (!this.TimerId || this.Status === 'Cancelled') {
return;
@ -172,7 +172,7 @@ function onManageRecordingClick(e) {
});
}
function onManageSeriesRecordingClick(e) {
function onManageSeriesRecordingClick() {
const options = this.options;
if (!this.SeriesTimerId) {

View file

@ -155,7 +155,7 @@ class RefreshDialog {
centerFocus(dlg.querySelector('.formDialogContent'), false, true);
}
return new Promise(function (resolve, reject) {
return new Promise(function (resolve) {
if (layoutManager.tv) {
centerFocus(dlg.querySelector('.formDialogContent'), false, false);
}

View file

@ -24,7 +24,7 @@ import { appRouter } from '../appRouter';
let showMuteButton = true;
let showVolumeSlider = true;
function showAudioMenu(context, player, button, item) {
function showAudioMenu(context, player, button) {
const currentIndex = playbackManager.getAudioStreamIndex(player);
const streams = playbackManager.audioTracks(player);
const menuItems = streams.map(function (s) {
@ -51,7 +51,7 @@ function showAudioMenu(context, player, button, item) {
});
}
function showSubtitleMenu(context, player, button, item) {
function showSubtitleMenu(context, player, button) {
const currentIndex = playbackManager.getSubtitleStreamIndex(player);
const streams = playbackManager.subtitleTracks(player);
const menuItems = streams.map(function (s) {
@ -572,7 +572,7 @@ export default function () {
}
}
function onPlaylistUpdate(e) {
function onPlaylistUpdate() {
loadPlaylist(dlg, this);
}
@ -603,7 +603,7 @@ export default function () {
}
}
function onPlayPauseStateChanged(e) {
function onPlayPauseStateChanged() {
updatePlayPauseState(this.paused(), true);
}
@ -613,7 +613,7 @@ export default function () {
onPlaylistUpdate();
}
function onTimeUpdate(e) {
function onTimeUpdate() {
const now = new Date().getTime();
if (!(now - lastUpdateTime < 700)) {
@ -624,7 +624,7 @@ export default function () {
}
}
function onVolumeChanged(e) {
function onVolumeChanged() {
const player = this;
updatePlayerVolumeState(dlg, player.isMuted(), player.getVolume());
}
@ -727,12 +727,12 @@ export default function () {
});
context.querySelector('.btnAudioTracks').addEventListener('click', function (e) {
if (currentPlayer && lastPlayerState && lastPlayerState.NowPlayingItem) {
showAudioMenu(context, currentPlayer, e.target, lastPlayerState.NowPlayingItem);
showAudioMenu(context, currentPlayer, e.target);
}
});
context.querySelector('.btnSubtitles').addEventListener('click', function (e) {
if (currentPlayer && lastPlayerState && lastPlayerState.NowPlayingItem) {
showSubtitleMenu(context, currentPlayer, e.target, lastPlayerState.NowPlayingItem);
showSubtitleMenu(context, currentPlayer, e.target);
}
});
context.querySelector('.btnStop').addEventListener('click', function () {
@ -922,13 +922,13 @@ export default function () {
}
}
function onDialogClosed(e) {
function onDialogClosed() {
releaseCurrentPlayer();
Events.off(playbackManager, 'playerchange', onPlayerChange);
lastPlayerState = null;
}
function onShow(context, tab) {
function onShow(context) {
bindToPlayer(context, playbackManager.getCurrentPlayer());
}
@ -946,7 +946,7 @@ export default function () {
};
self.onShow = function () {
onShow(dlg, window.location.hash);
onShow(dlg);
};
self.destroy = function () {

View file

@ -1,12 +1,12 @@
// TODO: Check if needed and move to external dependency
// From https://github.com/parshap/node-sanitize-filename
const illegalRe = /[\/\?<>\\:\*\|":]/g;
const illegalRe = /[/?<>\\:*|":]/g;
// eslint-disable-next-line no-control-regex
const controlRe = /[\x00-\x1f\x80-\x9f]/g;
const reservedRe = /^\.+$/;
const windowsReservedRe = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i;
const windowsTrailingRe = /[\. ]+$/;
const windowsTrailingRe = /[. ]+$/;
function isHighSurrogate(codePoint) {
return codePoint >= 0xd800 && codePoint <= 0xdbff;

View file

@ -61,7 +61,7 @@ import template from './searchfields.template.html';
triggerSearch(searchFieldsInstance, value);
}
function embed(elem, instance, options) {
function embed(elem, instance) {
let html = globalize.translateHtml(template, 'core');
if (browser.tizen || browser.orsay) {
@ -89,7 +89,7 @@ import template from './searchfields.template.html';
class SearchFields {
constructor(options) {
this.options = options;
embed(options.element, this, options);
embed(options.element, this);
}
focus() {
this.options.element.querySelector('.searchfields-txtSearch').focus();

View file

@ -585,7 +585,7 @@ import template from './searchresults.template.html';
return originalString.replace(reg, strWith);
}
function embed(elem, instance, options) {
function embed(elem, instance) {
let workingTemplate = template;
if (!enableScrollX()) {
workingTemplate = replaceAll(workingTemplate, 'data-horizontal="true"', 'data-horizontal="false"');
@ -603,7 +603,7 @@ import template from './searchresults.template.html';
class SearchResults {
constructor(options) {
this.options = options;
embed(options.element, this, options);
embed(options.element, this);
}
search(value) {
const apiClient = ServerConnections.getApiClient(this.options.serverId);

View file

@ -210,7 +210,7 @@ export default function (options) {
dialog.innerHTML = html;
if (options.interactive && !layoutManager.tv) {
dialog.querySelector('.btnSlideshowExit').addEventListener('click', function (e) {
dialog.querySelector('.btnSlideshowExit').addEventListener('click', function () {
dialogHelper.close(dialog);
});
@ -381,10 +381,9 @@ export default function (options) {
/**
* Renders the HTML markup of a slide for an item or a slide.
* @param {Object} item - The item used to render the slide.
* @param {number} index - The index of the item in the Swiper instance.
* @returns {string} The HTML markup of the slide.
*/
function getSwiperSlideHtml(item, index) {
function getSwiperSlideHtml(item) {
if (currentOptions.slides) {
return getSwiperSlideHtmlFromSlide(item);
} else {

View file

@ -108,7 +108,7 @@ function initEditor(page) {
});
}
function showEditor(options, resolve, reject) {
function showEditor(options, resolve) {
options = options || {};
currentItemId = options.itemId;
currentServerId = options.serverId;
@ -161,9 +161,9 @@ function showEditor(options, resolve, reject) {
}
export function show(options) {
return new Promise(function (resolve, reject) {
return new Promise(function (resolve) {
hasChanges = false;
showEditor(options, resolve, reject);
showEditor(options, resolve);
});
}

View file

@ -130,7 +130,7 @@ class Manager {
/**
* Called when the player changes.
*/
onPlayerChange(newPlayer, newTarget, oldPlayer) {
onPlayerChange(newPlayer) {
this.bindToPlayer(newPlayer);
}
@ -228,9 +228,8 @@ class Manager {
/**
* Handles a playback command from the server.
* @param {Object} cmd The playback command.
* @param {Object} apiClient The ApiClient.
*/
processCommand(cmd, apiClient) {
processCommand(cmd) {
if (cmd === null) return;
if (typeof cmd.When === 'string') {
@ -277,9 +276,8 @@ class Manager {
/**
* Handles a group state change.
* @param {Object} update The group state update.
* @param {Object} apiClient The ApiClient.
*/
processStateChange(update, apiClient) {
processStateChange(update) {
if (update === null || update.State === null || update.Reason === null) return;
if (!this.isSyncPlayEnabled()) {

View file

@ -158,6 +158,7 @@ class GenericPlayer {
* Sets the playback rate, if supported.
* @param {number} value The playback rate.
*/
// eslint-disable-next-line no-unused-vars
setPlaybackRate(value) {
// Do nothing.
}
@ -196,6 +197,7 @@ class GenericPlayer {
* Seeks the player to the specified position.
* @param {number} positionTicks The new position.
*/
// eslint-disable-next-line no-unused-vars
localSeek(positionTicks) {
}
@ -211,6 +213,7 @@ class GenericPlayer {
* Sends a command to the player.
* @param {Object} command The command.
*/
// eslint-disable-next-line no-unused-vars
localSendCommand(command) {
}
@ -219,6 +222,7 @@ class GenericPlayer {
* Starts playback.
* @param {Object} options Playback data.
*/
// eslint-disable-next-line no-unused-vars
localPlay(options) {
}
@ -227,6 +231,7 @@ class GenericPlayer {
* Sets playing item from playlist.
* @param {string} playlistItemId The item to play.
*/
// eslint-disable-next-line no-unused-vars
localSetCurrentPlaylistItem(playlistItemId) {
}
@ -235,6 +240,7 @@ class GenericPlayer {
* Removes items from playlist.
* @param {Array} playlistItemIds The items to remove.
*/
// eslint-disable-next-line no-unused-vars
localRemoveFromPlaylist(playlistItemIds) {
}
@ -244,6 +250,7 @@ class GenericPlayer {
* @param {string} playlistItemId The item to move.
* @param {number} newIndex The new position.
*/
// eslint-disable-next-line no-unused-vars
localMovePlaylistItem(playlistItemId, newIndex) {
}
@ -252,6 +259,7 @@ class GenericPlayer {
* Queues in the playlist.
* @param {Object} options Queue data.
*/
// eslint-disable-next-line no-unused-vars
localQueue(options) {
}
@ -260,6 +268,7 @@ class GenericPlayer {
* Queues after the playing item in the playlist.
* @param {Object} options Queue data.
*/
// eslint-disable-next-line no-unused-vars
localQueueNext(options) {
}
@ -282,6 +291,7 @@ class GenericPlayer {
* Sets repeat mode.
* @param {string} value The repeat mode.
*/
// eslint-disable-next-line no-unused-vars
localSetRepeatMode(value) {
}
@ -290,6 +300,7 @@ class GenericPlayer {
* Sets shuffle mode.
* @param {string} value The shuffle mode.
*/
// eslint-disable-next-line no-unused-vars
localSetQueueShuffleMode(value) {
}

View file

@ -135,7 +135,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's seek method.
*/
seekRequest(positionTicks, player) {
seekRequest(positionTicks) {
const controller = syncPlayManager.getController();
controller.seek(positionTicks);
}
@ -148,19 +148,19 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
const controller = syncPlayManager.getController();
const playerWrapper = syncPlayManager.getPlayerWrapper();
const defaultAction = (_command, _player) => {
const defaultAction = (_command) => {
playerWrapper.localSendCommand(_command);
};
const ignoreCallback = (_command, _player) => {
const ignoreCallback = () => {
// Do nothing.
};
const SetRepeatModeCallback = (_command, _player) => {
const SetRepeatModeCallback = (_command) => {
controller.setRepeatMode(_command.Arguments.RepeatMode);
};
const SetShuffleQueueCallback = (_command, _player) => {
const SetShuffleQueueCallback = (_command) => {
controller.setShuffleMode(_command.Arguments.ShuffleMode);
};
@ -176,7 +176,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
if (typeof commandHandler === 'function') {
commandHandler(command, player);
} else {
defaultAction(command, player);
defaultAction(command);
}
}
@ -242,7 +242,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's setCurrentPlaylistItem method.
*/
setCurrentPlaylistItemRequest(playlistItemId, player) {
setCurrentPlaylistItemRequest(playlistItemId) {
const controller = syncPlayManager.getController();
controller.setCurrentPlaylistItem(playlistItemId);
}
@ -250,7 +250,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's removeFromPlaylist method.
*/
removeFromPlaylistRequest(playlistItemIds, player) {
removeFromPlaylistRequest(playlistItemIds) {
const controller = syncPlayManager.getController();
controller.removeFromPlaylist(playlistItemIds);
}
@ -258,7 +258,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's movePlaylistItem method.
*/
movePlaylistItemRequest(playlistItemId, newIndex, player) {
movePlaylistItemRequest(playlistItemId, newIndex) {
const controller = syncPlayManager.getController();
controller.movePlaylistItem(playlistItemId, newIndex);
}
@ -266,7 +266,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's queue method.
*/
queueRequest(options, player) {
queueRequest(options) {
const controller = syncPlayManager.getController();
controller.queue(options);
}
@ -274,7 +274,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's queueNext method.
*/
queueNextRequest(options, player) {
queueNextRequest(options) {
const controller = syncPlayManager.getController();
controller.queueNext(options);
}
@ -282,7 +282,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's nextTrack method.
*/
nextTrackRequest(player) {
nextTrackRequest() {
const controller = syncPlayManager.getController();
controller.nextItem();
}
@ -290,7 +290,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's previousTrack method.
*/
previousTrackRequest(player) {
previousTrackRequest() {
const controller = syncPlayManager.getController();
controller.previousItem();
}
@ -298,7 +298,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's setRepeatMode method.
*/
setRepeatModeRequest(mode, player) {
setRepeatModeRequest(mode) {
const controller = syncPlayManager.getController();
controller.setRepeatMode(mode);
}
@ -306,7 +306,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's setQueueShuffleMode method.
*/
setQueueShuffleModeRequest(mode, player) {
setQueueShuffleModeRequest(mode) {
const controller = syncPlayManager.getController();
controller.setShuffleMode(mode);
}
@ -314,7 +314,7 @@ class NoActivePlayer extends SyncPlay.Players.GenericPlayer {
/**
* Overrides PlaybackManager's toggleQueueShuffleMode method.
*/
toggleQueueShuffleModeRequest(player) {
toggleQueueShuffleModeRequest() {
const controller = syncPlayManager.getController();
controller.toggleShuffleMode();
}

View file

@ -21,14 +21,14 @@ class QueueManager {
/**
* Placeholder for original PlayQueueManager method.
*/
setPlaylist(items) {
setPlaylist() {
// Do nothing.
}
/**
* Placeholder for original PlayQueueManager method.
*/
queue(items) {
queue() {
// Do nothing.
}
@ -49,14 +49,14 @@ class QueueManager {
/**
* Placeholder for original PlayQueueManager method.
*/
clearPlaylist(clearCurrentItem = false) {
clearPlaylist() {
// Do nothing.
}
/**
* Placeholder for original PlayQueueManager method.
*/
queueNext(items) {
queueNext() {
// Do nothing.
}
@ -90,28 +90,28 @@ class QueueManager {
/**
* Placeholder for original PlayQueueManager method.
*/
setPlaylistState(playlistItemId, playlistIndex) {
setPlaylistState() {
// Do nothing.
}
/**
* Placeholder for original PlayQueueManager method.
*/
setPlaylistIndex(playlistIndex) {
setPlaylistIndex() {
// Do nothing.
}
/**
* Placeholder for original PlayQueueManager method.
*/
removeFromPlaylist(playlistItemIds) {
removeFromPlaylist() {
// Do nothing.
}
/**
* Placeholder for original PlayQueueManager method.
*/
movePlaylistItem(playlistItemId, newIndex) {
movePlaylistItem() {
// Do nothing.
return {
result: 'noop'
@ -128,7 +128,7 @@ class QueueManager {
/**
* Placeholder for original PlayQueueManager method.
*/
setRepeatMode(value) {
setRepeatMode() {
// Do nothing.
}
@ -142,7 +142,7 @@ class QueueManager {
/**
* Placeholder for original PlayQueueManager method.
*/
setShuffleMode(value) {
setShuffleMode() {
// Do nothing.
}

View file

@ -4,7 +4,7 @@ import layoutManager from '../layoutManager';
import '../../elements/emby-tabs/emby-tabs';
import { appRouter } from '../appRouter';
function onViewDestroy(e) {
function onViewDestroy() {
const tabControllers = this.tabControllers;
if (tabControllers) {
@ -78,7 +78,7 @@ class TabbedView {
view.addEventListener('viewbeforehide', this.onPause.bind(this));
view.addEventListener('viewbeforeshow', function (e) {
view.addEventListener('viewbeforeshow', function () {
mainTabsManager.setTabs(view, currentTabIndex, self.getTabs, getTabContainers, onBeforeTabChange, onTabChange, false);
});
@ -89,7 +89,7 @@ class TabbedView {
view.addEventListener('viewdestroy', onViewDestroy.bind(this));
}
onResume(options) {
onResume() {
this.setTitle();
backdrop.clearBackdrop();

View file

@ -11,7 +11,6 @@ import './formdialog.scss';
import '../elements/emby-button/emby-button';
import '../elements/emby-itemscontainer/emby-itemscontainer';
import './cardbuilder/card.scss';
import ServerConnections from './ServerConnections';
const enableFocusTransform = !browser.slow && !browser.edge;
@ -106,7 +105,7 @@ function renderDevices(view, devices) {
}
}
function discoverDevices(view, apiClient) {
function discoverDevices(view) {
loading.show();
view.querySelector('.loadingContent').classList.remove('hide');
return ApiClient.getJSON(ApiClient.getUrl('LiveTv/Tuners/Discvover', {
@ -120,7 +119,7 @@ function discoverDevices(view, apiClient) {
}
function tunerPicker() {
this.show = function (options) {
this.show = function () {
const dialogOptions = {
removeOnClose: true,
scrollY: false
@ -163,8 +162,7 @@ function tunerPicker() {
scrollHelper.centerFocus.on(dlg.querySelector('.formDialogContent'), false);
}
const apiClient = ServerConnections.getApiClient(options.serverId);
discoverDevices(dlg, apiClient);
discoverDevices(dlg);
if (layoutManager.tv) {
scrollHelper.centerFocus.off(dlg.querySelector('.formDialogContent'), false);

View file

@ -149,7 +149,7 @@ export default function (page, providerId, options) {
}),
data: JSON.stringify(info),
contentType: 'application/json'
}).then(function (result) {
}).then(function () {
loading.hide();
if (options.showConfirmation) {
@ -190,7 +190,7 @@ export default function (page, providerId, options) {
}
loading.hide();
}, function (result) {
}, function () {
Dashboard.alert({
message: globalize.translate('ErrorGettingTvLineups')
});

View file

@ -88,7 +88,7 @@ export default function (page, providerId, options) {
}),
data: JSON.stringify(info),
contentType: 'application/json'
}).then(function (result) {
}).then(function () {
loading.hide();
if (options.showConfirmation !== false) {

View file

@ -119,7 +119,7 @@ import Dashboard from '../scripts/clientUtils';
function parseHtml(html, hasScript) {
if (hasScript) {
html = replaceAll(html, '\x3c!--<script', '<script');
html = replaceAll(html, '<\/script>--\x3e', '<\/script>');
html = replaceAll(html, '</script>--\x3e', '</script>');
}
const wrapper = document.createElement('div');