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

@ -99,10 +99,6 @@ module.exports = {
'Windows': 'readonly' 'Windows': 'readonly'
}, },
rules: { rules: {
// TODO: Fix warnings and remove these rules
'no-redeclare': ['warn'],
'no-useless-escape': ['warn'],
'no-unused-vars': ['warn']
}, },
settings: { settings: {
polyfills: [ polyfills: [

View file

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

View file

@ -1,6 +1,6 @@
import './appFooter.scss'; import './appFooter.scss';
function render(options) { function render() {
const elem = document.createElement('div'); const elem = document.createElement('div');
elem.classList.add('appfooter'); elem.classList.add('appfooter');
@ -10,10 +10,10 @@ function render(options) {
} }
class appFooter { class appFooter {
constructor(options) { constructor() {
const self = this; const self = this;
self.element = render(options); self.element = render();
self.add = function (elem) { self.add = function (elem) {
self.element.appendChild(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 */ /* eslint-disable indent */
function enableAnimation(elem) { function enableAnimation() {
if (browser.slow) { if (browser.slow) {
return false; return false;
} }
@ -47,7 +47,7 @@ import ServerConnections from '../ServerConnections';
backdropImage.classList.add('backdropImageFadeIn'); backdropImage.classList.add('backdropImageFadeIn');
parent.appendChild(backdropImage); parent.appendChild(backdropImage);
if (!enableAnimation(backdropImage)) { if (!enableAnimation()) {
if (existingBackdropImage && existingBackdropImage.parentNode) { if (existingBackdropImage && existingBackdropImage.parentNode) {
existingBackdropImage.parentNode.removeChild(existingBackdropImage); existingBackdropImage.parentNode.removeChild(existingBackdropImage);
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -14,7 +14,7 @@ function onOrientationChangeError(err) {
console.error('error locking orientation: ' + 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); const isLocalVideo = player.isLocalPlayer && !player.isExternalPlayer && playbackManager.isPlayingVideo(player);
if (isLocalVideo && layoutManager.mobile) { 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(); loading.show();
}); });
Events.on(playbackManager, 'paired', function (e) { Events.on(playbackManager, 'paired', function () {
loading.hide(); loading.hide();
}); });
Events.on(playbackManager, 'pairerror', function (e) { Events.on(playbackManager, 'pairerror', function () {
loading.hide(); loading.hide();
}); });

View file

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

View file

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

View file

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

View file

@ -5,7 +5,7 @@ import '../../elements/emby-button/emby-button';
import './recordingfields.scss'; import './recordingfields.scss';
import ServerConnections from '../ServerConnections'; import ServerConnections from '../ServerConnections';
function onRecordingButtonClick(e) { function onRecordingButtonClick() {
const item = this.item; const item = this.item;
if (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('#txtPrePaddingMinutes').value = item.PrePaddingSeconds / 60;
context.querySelector('#txtPostPaddingMinutes').value = item.PostPaddingSeconds / 60; context.querySelector('#txtPostPaddingMinutes').value = item.PostPaddingSeconds / 60;
@ -79,13 +79,13 @@ function reload(context, id) {
const apiClient = ServerConnections.getApiClient(currentServerId); const apiClient = ServerConnections.getApiClient(currentServerId);
apiClient.getLiveTvTimer(id).then(function (result) { apiClient.getLiveTvTimer(id).then(function (result) {
renderTimer(context, result, apiClient); renderTimer(context, result);
loading.hide(); loading.hide();
}); });
} }
function showEditor(itemId, serverId, options) { function showEditor(itemId, serverId, options) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve) {
recordingDeleted = false; recordingDeleted = false;
currentServerId = serverId; currentServerId = serverId;
loading.show(); loading.show();

View file

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

View file

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

View file

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

View file

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

View file

@ -61,7 +61,7 @@ import template from './searchfields.template.html';
triggerSearch(searchFieldsInstance, value); triggerSearch(searchFieldsInstance, value);
} }
function embed(elem, instance, options) { function embed(elem, instance) {
let html = globalize.translateHtml(template, 'core'); let html = globalize.translateHtml(template, 'core');
if (browser.tizen || browser.orsay) { if (browser.tizen || browser.orsay) {
@ -89,7 +89,7 @@ import template from './searchfields.template.html';
class SearchFields { class SearchFields {
constructor(options) { constructor(options) {
this.options = options; this.options = options;
embed(options.element, this, options); embed(options.element, this);
} }
focus() { focus() {
this.options.element.querySelector('.searchfields-txtSearch').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); return originalString.replace(reg, strWith);
} }
function embed(elem, instance, options) { function embed(elem, instance) {
let workingTemplate = template; let workingTemplate = template;
if (!enableScrollX()) { if (!enableScrollX()) {
workingTemplate = replaceAll(workingTemplate, 'data-horizontal="true"', 'data-horizontal="false"'); workingTemplate = replaceAll(workingTemplate, 'data-horizontal="true"', 'data-horizontal="false"');
@ -603,7 +603,7 @@ import template from './searchresults.template.html';
class SearchResults { class SearchResults {
constructor(options) { constructor(options) {
this.options = options; this.options = options;
embed(options.element, this, options); embed(options.element, this);
} }
search(value) { search(value) {
const apiClient = ServerConnections.getApiClient(this.options.serverId); const apiClient = ServerConnections.getApiClient(this.options.serverId);

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -218,17 +218,17 @@ import confirm from '../../components/confirm/confirm';
}); });
} }
function renderInfo(view, sessions, forceUpdate) { function renderInfo(view, sessions) {
sessions = filterSessions(sessions); sessions = filterSessions(sessions);
renderActiveConnections(view, sessions); renderActiveConnections(view, sessions);
loading.hide(); loading.hide();
} }
function pollForInfo(view, apiClient, forceUpdate) { function pollForInfo(view, apiClient) {
apiClient.getSessions({ apiClient.getSessions({
ActiveWithinSeconds: 960 ActiveWithinSeconds: 960
}).then(function (sessions) { }).then(function (sessions) {
renderInfo(view, sessions, forceUpdate); renderInfo(view, sessions);
}); });
apiClient.getScheduledTasks().then(function (tasks) { apiClient.getScheduledTasks().then(function (tasks) {
renderRunningTasks(view, tasks); renderRunningTasks(view, tasks);
@ -730,7 +730,7 @@ import confirm from '../../components/confirm/confirm';
}); });
} }
}; };
export default function (view, params) { export default function (view) {
function onRestartRequired(evt, apiClient) { function onRestartRequired(evt, apiClient) {
console.debug('onRestartRequired not implemented', evt, apiClient); console.debug('onRestartRequired not implemented', evt, apiClient);
} }
@ -745,14 +745,14 @@ import confirm from '../../components/confirm/confirm';
function onPackageInstalling(evt, apiClient) { function onPackageInstalling(evt, apiClient) {
if (apiClient.serverId() === serverId) { if (apiClient.serverId() === serverId) {
pollForInfo(view, apiClient, true); pollForInfo(view, apiClient);
reloadSystemInfo(view, apiClient); reloadSystemInfo(view, apiClient);
} }
} }
function onPackageInstallationCompleted(evt, apiClient) { function onPackageInstallationCompleted(evt, apiClient) {
if (apiClient.serverId() === serverId) { if (apiClient.serverId() === serverId) {
pollForInfo(view, apiClient, true); pollForInfo(view, apiClient);
reloadSystemInfo(view, apiClient); reloadSystemInfo(view, apiClient);
} }
} }

View file

@ -48,7 +48,7 @@ import Dashboard from '../../../scripts/clientUtils';
return false; return false;
} }
export default function (view, params) { export default function (view) {
view.querySelector('form').addEventListener('submit', onSubmit); view.querySelector('form').addEventListener('submit', onSubmit);
view.addEventListener('viewshow', loadData); view.addEventListener('viewshow', loadData);
} }

View file

@ -149,7 +149,7 @@ import confirm from '../../../components/confirm/confirm';
} }
const canEdit = ApiClient.isMinServerVersion('3.4.1.31'); const canEdit = ApiClient.isMinServerVersion('3.4.1.31');
export default function (view, params) { export default function (view) {
view.querySelector('.devicesList').addEventListener('click', function (e) { view.querySelector('.devicesList').addEventListener('click', function (e) {
const btnDeviceMenu = dom.parentWithClass(e.target, 'btnDeviceMenu'); const btnDeviceMenu = dom.parentWithClass(e.target, 'btnDeviceMenu');

View file

@ -48,13 +48,13 @@ import alert from '../../components/alert';
loading.hide(); loading.hide();
} }
function onSaveEncodingPathFailure(response) { function onSaveEncodingPathFailure() {
loading.hide(); loading.hide();
alert(globalize.translate('FFmpegSavePathNotFound')); alert(globalize.translate('FFmpegSavePathNotFound'));
} }
function updateEncoder(form) { function updateEncoder(form) {
return ApiClient.getSystemInfo().then(function (systemInfo) { return ApiClient.getSystemInfo().then(function () {
return ApiClient.ajax({ return ApiClient.ajax({
url: ApiClient.getUrl('System/MediaEncoder/Path'), url: ApiClient.getUrl('System/MediaEncoder/Path'),
type: 'POST', type: 'POST',

View file

@ -19,7 +19,6 @@ import alert from '../../components/alert';
$('#selectLocalizationLanguage', page).html(languageOptions.map(function (language) { $('#selectLocalizationLanguage', page).html(languageOptions.map(function (language) {
return '<option value="' + language.Value + '">' + language.Name + '</option>'; return '<option value="' + language.Value + '">' + language.Name + '</option>';
})).val(config.UICulture); })).val(config.UICulture);
currentLanguage = config.UICulture;
loading.hide(); loading.hide();
} }
@ -34,16 +33,11 @@ import alert from '../../components/alert';
config.CachePath = form.querySelector('#txtCachePath').value; config.CachePath = form.querySelector('#txtCachePath').value;
config.MetadataPath = $('#txtMetadataPath', form).val(); config.MetadataPath = $('#txtMetadataPath', form).val();
config.MetadataNetworkPath = $('#txtMetadataNetworkPath', form).val(); config.MetadataNetworkPath = $('#txtMetadataNetworkPath', form).val();
let requiresReload = config.UICulture !== currentLanguage;
ApiClient.updateServerConfiguration(config).then(function() { ApiClient.updateServerConfiguration(config).then(function() {
ApiClient.getNamedConfiguration(brandingConfigKey).then(function(brandingConfig) { ApiClient.getNamedConfiguration(brandingConfigKey).then(function(brandingConfig) {
brandingConfig.LoginDisclaimer = form.querySelector('#txtLoginDisclaimer').value; brandingConfig.LoginDisclaimer = form.querySelector('#txtLoginDisclaimer').value;
brandingConfig.CustomCss = form.querySelector('#txtCustomCss').value; brandingConfig.CustomCss = form.querySelector('#txtCustomCss').value;
if (currentBrandingOptions && brandingConfig.CustomCss !== currentBrandingOptions.CustomCss) {
requiresReload = true;
}
ApiClient.updateNamedConfiguration(brandingConfigKey, brandingConfig).then(function () { ApiClient.updateNamedConfiguration(brandingConfigKey, brandingConfig).then(function () {
Dashboard.processServerConfigurationUpdateResult(); Dashboard.processServerConfigurationUpdateResult();
}); });
@ -56,10 +50,8 @@ import alert from '../../components/alert';
return false; return false;
} }
let currentBrandingOptions;
let currentLanguage;
const brandingConfigKey = 'branding'; const brandingConfigKey = 'branding';
export default function (view, params) { export default function (view) {
$('#btnSelectCachePath', view).on('click.selectDirectory', function () { $('#btnSelectCachePath', view).on('click.selectDirectory', function () {
import('../../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => { import('../../components/directorybrowser/directorybrowser').then(({default: directoryBrowser}) => {
const picker = new directoryBrowser(); const picker = new directoryBrowser();
@ -110,7 +102,6 @@ import alert from '../../components/alert';
loadPage(view, responses[0], responses[1], responses[2]); loadPage(view, responses[0], responses[1], responses[2]);
}); });
ApiClient.getNamedConfiguration(brandingConfigKey).then(function (config) { ApiClient.getNamedConfiguration(brandingConfigKey).then(function (config) {
currentBrandingOptions = config;
view.querySelector('#txtLoginDisclaimer').value = config.LoginDisclaimer || ''; view.querySelector('#txtLoginDisclaimer').value = config.LoginDisclaimer || '';
view.querySelector('#txtCustomCss').value = config.CustomCss || ''; view.querySelector('#txtCustomCss').value = config.CustomCss || '';
}); });

View file

@ -23,7 +23,7 @@ import Dashboard from '../../scripts/clientUtils';
}]; }];
} }
export default function(view, params) { export default function(view) {
function loadData() { function loadData() {
ApiClient.getServerConfiguration().then(function(config) { ApiClient.getServerConfiguration().then(function(config) {
view.querySelector('.chkFolderView').checked = config.EnableFolderView; view.querySelector('.chkFolderView').checked = config.EnableFolderView;

View file

@ -6,7 +6,7 @@ import '../../assets/css/flexstyles.scss';
/* eslint-disable indent */ /* eslint-disable indent */
export default function(view, params) { export default function(view) {
view.addEventListener('viewbeforeshow', function() { view.addEventListener('viewbeforeshow', function() {
loading.show(); loading.show();
const apiClient = ApiClient; const apiClient = ApiClient;

View file

@ -31,13 +31,13 @@ import alert from '../../components/alert';
config.EnableExtraThumbsDuplication = form.querySelector('#chkEnableExtraThumbs').checked; config.EnableExtraThumbsDuplication = form.querySelector('#chkEnableExtraThumbs').checked;
ApiClient.updateNamedConfiguration(metadataKey, config).then(function () { ApiClient.updateNamedConfiguration(metadataKey, config).then(function () {
Dashboard.processServerConfigurationUpdateResult(); Dashboard.processServerConfigurationUpdateResult();
showConfirmMessage(config); showConfirmMessage();
}); });
}); });
return false; return false;
} }
function showConfirmMessage(config) { function showConfirmMessage() {
const msg = []; const msg = [];
msg.push(globalize.translate('MetadataSettingChangeHelp')); msg.push(globalize.translate('MetadataSettingChangeHelp'));
alert({ alert({

View file

@ -131,7 +131,7 @@ import alert from '../../components/alert';
} }
} }
export default function (view, params) { export default function (view) {
function loadPage(page, config) { function loadPage(page, config) {
page.querySelector('#txtPortNumber').value = config.HttpServerPortNumber; page.querySelector('#txtPortNumber').value = config.HttpServerPortNumber;
page.querySelector('#txtPublicPort').value = config.PublicPort; page.querySelector('#txtPublicPort').value = config.PublicPort;
@ -198,7 +198,7 @@ import alert from '../../components/alert';
}); });
}); });
view.querySelector('.dashboardHostingForm').addEventListener('submit', onSubmit); view.querySelector('.dashboardHostingForm').addEventListener('submit', onSubmit);
view.addEventListener('viewshow', function (e) { view.addEventListener('viewshow', function () {
loading.show(); loading.show();
ApiClient.getNamedConfiguration('network').then(function (config) { ApiClient.getNamedConfiguration('network').then(function (config) {
loadPage(view, config); loadPage(view, config);

View file

@ -91,7 +91,7 @@ function save(page) {
}).map(function (c) { }).map(function (c) {
return c.getAttribute('data-itemid'); return c.getAttribute('data-itemid');
}); });
ApiClient.updateNamedConfiguration(notificationsConfigurationKey, notificationOptions).then(function (r) { ApiClient.updateNamedConfiguration(notificationsConfigurationKey, notificationOptions).then(function () {
Dashboard.processServerConfigurationUpdateResult(); Dashboard.processServerConfigurationUpdateResult();
Dashboard.navigate('notificationsettings.html'); Dashboard.navigate('notificationsettings.html');
}); });

View file

@ -54,7 +54,7 @@ function reload(page) {
}); });
} }
export default function (view, params) { export default function (view) {
view.addEventListener('viewshow', function () { view.addEventListener('viewshow', function () {
reload(view); reload(view);
}); });

View file

@ -19,7 +19,7 @@ function reloadList(page) {
noneElement: page.querySelector('#none'), noneElement: page.querySelector('#none'),
repositories: repositories repositories: repositories
}); });
}).catch(error => { }).catch(() => {
console.error('error loading repositories'); console.error('error loading repositories');
page.querySelector('#none').classList.remove('hide'); page.querySelector('#none').classList.remove('hide');
loading.hide(); loading.hide();
@ -33,9 +33,9 @@ function saveList(page) {
url: ApiClient.getUrl('Repositories'), url: ApiClient.getUrl('Repositories'),
data: JSON.stringify(repositories), data: JSON.stringify(repositories),
contentType: 'application/json' contentType: 'application/json'
}).then(response => { }).then(() => {
reloadList(page); reloadList(page);
}).catch(error => { }).catch(() => {
console.error('error saving repositories'); console.error('error saving repositories');
loading.hide(); loading.hide();
}); });
@ -90,7 +90,7 @@ function getTabs() {
}]; }];
} }
export default function(view, params) { export default function(view) {
view.addEventListener('viewshow', function () { view.addEventListener('viewshow', function () {
libraryMenu.setTabs('plugins', 2, getTabs); libraryMenu.setTabs('plugins', 2, getTabs);
reloadList(this); reloadList(this);

View file

@ -207,7 +207,7 @@ import confirm from '../../../components/confirm/confirm';
return trigger; return trigger;
} }
}; };
export default function (view, params) { export default function (view) {
function onSubmit(e) { function onSubmit(e) {
loading.show(); loading.show();
const id = getParameterByName('id'); const id = getParameterByName('id');

View file

@ -123,7 +123,7 @@ import '../../../elements/emby-button/emby-button';
$(elem).parents('.listItem')[0].setAttribute('data-status', state); $(elem).parents('.listItem')[0].setAttribute('data-status', state);
} }
export default function(view, params) { export default function(view) {
function updateTasks(tasks) { function updateTasks(tasks) {
for (let i = 0; i < tasks.length; i++) { for (let i = 0; i < tasks.length; i++) {
const task = tasks[i]; const task = tasks[i];

View file

@ -108,7 +108,7 @@ import toast from '../../../components/toast/toast';
loading.hide(); loading.hide();
} }
function onSaveComplete(page, user) { function onSaveComplete() {
Dashboard.navigate('userprofiles.html'); Dashboard.navigate('userprofiles.html');
loading.hide(); loading.hide();
toast(globalize.translate('SettingsSaved')); toast(globalize.translate('SettingsSaved'));
@ -146,7 +146,7 @@ import toast from '../../../components/toast/toast';
} }
ApiClient.updateUser(user).then(function () { ApiClient.updateUser(user).then(function () {
ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () { ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () {
onSaveComplete(page, user); onSaveComplete();
}); });
}); });
} }

View file

@ -91,7 +91,7 @@ import toast from '../../../components/toast/toast';
loading.hide(); loading.hide();
} }
function onSaveComplete(page) { function onSaveComplete() {
loading.hide(); loading.hide();
toast(globalize.translate('SettingsSaved')); toast(globalize.translate('SettingsSaved'));
} }
@ -118,7 +118,7 @@ import toast from '../../../components/toast/toast';
user.Policy.BlockedChannels = null; user.Policy.BlockedChannels = null;
user.Policy.BlockedMediaFolders = null; user.Policy.BlockedMediaFolders = null;
ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () { ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () {
onSaveComplete(page); onSaveComplete();
}); });
} }

View file

@ -89,7 +89,7 @@ import toast from '../../../components/toast/toast';
ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () { ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () {
Dashboard.navigate('useredit.html?userId=' + user.Id); Dashboard.navigate('useredit.html?userId=' + user.Id);
}); });
}, function (response) { }, function () {
toast(globalize.translate('ErrorDefault')); toast(globalize.translate('ErrorDefault'));
loading.hide(); loading.hide();
}); });

View file

@ -161,7 +161,7 @@ import toast from '../../../components/toast/toast';
}); });
} }
function onSaveComplete(page) { function onSaveComplete() {
loading.hide(); loading.hide();
toast(globalize.translate('SettingsSaved')); toast(globalize.translate('SettingsSaved'));
} }
@ -176,7 +176,7 @@ import toast from '../../../components/toast/toast';
user.Policy.AccessSchedules = getSchedulesFromPage(page); user.Policy.AccessSchedules = getSchedulesFromPage(page);
user.Policy.BlockedTags = getBlockedTagsFromPage(page); user.Policy.BlockedTags = getBlockedTagsFromPage(page);
ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () { ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () {
onSaveComplete(page); onSaveComplete();
}); });
} }

View file

@ -82,7 +82,7 @@ import cardBuilder from '../../../components/cardbuilder/cardBuilder';
}); });
} }
function getUserHtml(user, addConnectIndicator) { function getUserHtml(user) {
let html = ''; let html = '';
let cssClass = 'card squareCard scalableCard squareCard-scalable'; let cssClass = 'card squareCard scalableCard squareCard-scalable';
@ -146,14 +146,14 @@ import cardBuilder from '../../../components/cardbuilder/cardBuilder';
return ''; return '';
} }
function getUserSectionHtml(users, addConnectIndicator) { function getUserSectionHtml(users) {
return users.map(function (u__q) { return users.map(function (u__q) {
return getUserHtml(u__q, addConnectIndicator); return getUserHtml(u__q);
}).join(''); }).join('');
} }
function renderUsers(page, users) { function renderUsers(page, users) {
page.querySelector('.localUsers').innerHTML = getUserSectionHtml(users, true); page.querySelector('.localUsers').innerHTML = getUserSectionHtml(users);
} }
function loadData(page) { function loadData(page) {

View file

@ -14,7 +14,7 @@ function reload(context, itemId) {
} }
} }
export default function (view, params) { export default function (view) {
view.addEventListener('viewshow', function () { view.addEventListener('viewshow', function () {
reload(this, MetadataEditor.getCurrentItemId()); reload(this, MetadataEditor.getCurrentItemId());
}); });

View file

@ -817,7 +817,7 @@ class ItemsView {
itemsContainer: self.itemsContainer itemsContainer: self.itemsContainer
}); });
}); });
view.addEventListener('viewhide', function (e) { view.addEventListener('viewhide', function () {
const itemsContainer = self.itemsContainer; const itemsContainer = self.itemsContainer;
if (itemsContainer) { if (itemsContainer) {

View file

@ -104,7 +104,7 @@ export default function (view, params, tabContent) {
}); });
} }
function reloadItems(context, save) { function reloadItems(context) {
loading.show(); loading.show();
isLoading = true; isLoading = true;
const query = getQuery(); const query = getQuery();

View file

@ -64,7 +64,7 @@ function renderRecordingFolders(context, promise) {
}); });
} }
function onMoreClick(e) { function onMoreClick() {
const type = this.getAttribute('data-type'); const type = this.getAttribute('data-type');
const serverId = ApiClient.serverId(); const serverId = ApiClient.serverId();

View file

@ -246,7 +246,7 @@ function addProvider(button) {
}); });
} }
function addDevice(button) { function addDevice() {
Dashboard.navigate('livetvtuner.html'); Dashboard.navigate('livetvtuner.html');
} }
@ -296,7 +296,7 @@ function onDevicesListClick(e) {
$(document).on('pageinit', '#liveTvStatusPage', function () { $(document).on('pageinit', '#liveTvStatusPage', function () {
const page = this; const page = this;
$('.btnAddDevice', page).on('click', function () { $('.btnAddDevice', page).on('click', function () {
addDevice(this); addDevice();
}); });
$('.formAddDevice', page).on('submit', function () { $('.formAddDevice', page).on('submit', function () {
submitAddDeviceForm(page); submitAddDeviceForm(page);

View file

@ -91,7 +91,7 @@ function submitForm(page) {
url: ApiClient.getUrl('LiveTv/TunerHosts'), url: ApiClient.getUrl('LiveTv/TunerHosts'),
data: JSON.stringify(info), data: JSON.stringify(info),
contentType: 'application/json' contentType: 'application/json'
}).then(function (result) { }).then(function () {
Dashboard.processServerConfigurationUpdateResult(); Dashboard.processServerConfigurationUpdateResult();
Dashboard.navigate('livetvstatus.html'); Dashboard.navigate('livetvstatus.html');
}, function () { }, function () {

View file

@ -155,7 +155,7 @@ import Dashboard from '../../scripts/clientUtils';
return html; return html;
} }
function loadSuggestions(page, userId, parentId) { function loadSuggestions(page, userId) {
const screenWidth = dom.getWindowSize().innerWidth; const screenWidth = dom.getWindowSize().innerWidth;
const url = ApiClient.getUrl('Movies/Recommendations', { const url = ApiClient.getUrl('Movies/Recommendations', {
userId: userId, userId: userId,
@ -222,7 +222,7 @@ import Dashboard from '../../scripts/clientUtils';
const userId = ApiClient.getCurrentUserId(); const userId = ApiClient.getCurrentUserId();
loadResume(tabContent, userId, parentId); loadResume(tabContent, userId, parentId);
loadLatest(tabContent, userId, parentId); loadLatest(tabContent, userId, parentId);
loadSuggestions(tabContent, userId, parentId); loadSuggestions(tabContent, userId);
} }
function getTabs() { function getTabs() {
@ -389,7 +389,7 @@ import Dashboard from '../../scripts/clientUtils';
const tabControllers = []; const tabControllers = [];
let renderedTabs = []; let renderedTabs = [];
view.addEventListener('viewshow', function (e) { view.addEventListener('viewshow', function () {
initTabs(); initTabs();
if (!view.getAttribute('data-title')) { if (!view.getAttribute('data-title')) {
const parentId = params.topParentId; const parentId = params.topParentId;

View file

@ -84,7 +84,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
itemsContainer.innerHTML = ''; itemsContainer.innerHTML = '';
}; };
const reloadItems = (page) => { const reloadItems = () => {
loading.show(); loading.show();
isLoading = true; isLoading = true;
const query = getQuery(); const query = getQuery();
@ -97,7 +97,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
if (userSettings.libraryPageSize() > 0) { if (userSettings.libraryPageSize() > 0) {
query.StartIndex += query.Limit; query.StartIndex += query.Limit;
} }
reloadItems(tabContent); reloadItems();
} }
function onPreviousPageClick() { function onPreviousPageClick() {
@ -108,11 +108,11 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
if (userSettings.libraryPageSize() > 0) { if (userSettings.libraryPageSize() > 0) {
query.StartIndex = Math.max(0, query.StartIndex - query.Limit); query.StartIndex = Math.max(0, query.StartIndex - query.Limit);
} }
reloadItems(tabContent); reloadItems();
} }
window.scrollTo(0, 0); window.scrollTo(0, 0);
updateFilterControls(page); updateFilterControls();
let html; let html;
const pagingHtml = libraryBrowser.getQueryPagingHtml({ const pagingHtml = libraryBrowser.getQueryPagingHtml({
startIndex: query.StartIndex, startIndex: query.StartIndex,
@ -185,7 +185,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
}); });
}; };
const updateFilterControls = (tabContent) => { const updateFilterControls = () => {
const query = getQuery(); const query = getQuery();
if (this.alphaPicker) { if (this.alphaPicker) {
@ -212,7 +212,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
}); });
Events.on(filterDialog, 'filterchange', function () { Events.on(filterDialog, 'filterchange', function () {
getQuery().StartIndex = 0; getQuery().StartIndex = 0;
reloadItems(tabContent); reloadItems();
}); });
filterDialog.show(); filterDialog.show();
@ -232,7 +232,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
const query = getQuery(); const query = getQuery();
query.NameStartsWith = newValue; query.NameStartsWith = newValue;
query.StartIndex = 0; query.StartIndex = 0;
reloadItems(tabContent); reloadItems();
}); });
this.alphaPicker = new AlphaPicker({ this.alphaPicker = new AlphaPicker({
@ -274,7 +274,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
}], }],
callback: function () { callback: function () {
getQuery().StartIndex = 0; getQuery().StartIndex = 0;
reloadItems(tabContent); reloadItems();
}, },
query: getQuery(), query: getQuery(),
button: e.target button: e.target
@ -292,7 +292,7 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle); libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
getQuery().StartIndex = 0; getQuery().StartIndex = 0;
onViewStyleChange(); onViewStyleChange();
reloadItems(tabContent); reloadItems();
}); });
tabContent.querySelector('.btnPlayAll').addEventListener('click', playAll); tabContent.querySelector('.btnPlayAll').addEventListener('click', playAll);
@ -303,8 +303,8 @@ import '../../elements/emby-itemscontainer/emby-itemscontainer';
onViewStyleChange(); onViewStyleChange();
this.renderTab = function () { this.renderTab = function () {
reloadItems(tabContent); reloadItems();
updateFilterControls(tabContent); updateFilterControls();
}; };
this.destroy = function () {}; this.destroy = function () {};

View file

@ -373,7 +373,7 @@ import Dashboard from '../../scripts/clientUtils';
const tabControllers = []; const tabControllers = [];
const renderedTabs = []; const renderedTabs = [];
view.addEventListener('viewshow', function (e) { view.addEventListener('viewshow', function () {
initTabs(); initTabs();
if (!view.getAttribute('data-title')) { if (!view.getAttribute('data-title')) {
const parentId = params.topParentId; const parentId = params.topParentId;
@ -391,10 +391,10 @@ import Dashboard from '../../scripts/clientUtils';
inputManager.on(window, onInputCommand); inputManager.on(window, onInputCommand);
}); });
view.addEventListener('viewbeforehide', function (e) { view.addEventListener('viewbeforehide', function () {
inputManager.off(window, onInputCommand); inputManager.off(window, onInputCommand);
}); });
view.addEventListener('viewdestroy', function (e) { view.addEventListener('viewdestroy', function () {
tabControllers.forEach(function (t) { tabControllers.forEach(function (t) {
if (t.destroy) { if (t.destroy) {
t.destroy(); t.destroy();

View file

@ -2,17 +2,17 @@ import remotecontrolFactory from '../../../components/remotecontrol/remotecontro
import libraryMenu from '../../../scripts/libraryMenu'; import libraryMenu from '../../../scripts/libraryMenu';
import '../../../elements/emby-button/emby-button'; import '../../../elements/emby-button/emby-button';
export default function (view, params) { export default function (view) {
const remoteControl = new remotecontrolFactory(); const remoteControl = new remotecontrolFactory();
remoteControl.init(view, view.querySelector('.remoteControlContent')); remoteControl.init(view, view.querySelector('.remoteControlContent'));
view.addEventListener('viewshow', function (e) { view.addEventListener('viewshow', function () {
libraryMenu.setTransparentMenu(true); libraryMenu.setTransparentMenu(true);
if (remoteControl) { if (remoteControl) {
remoteControl.onShow(); remoteControl.onShow();
} }
}); });
view.addEventListener('viewbeforehide', function (e) { view.addEventListener('viewbeforehide', function () {
libraryMenu.setTransparentMenu(false); libraryMenu.setTransparentMenu(false);
if (remoteControl) { if (remoteControl) {

View file

@ -28,7 +28,7 @@ import { appRouter } from '../../../components/appRouter';
return document.querySelector('.dialogContainer .dialog.opened'); return document.querySelector('.dialogContainer .dialog.opened');
} }
export default function (view, params) { export default function (view) {
function getDisplayItem(item) { function getDisplayItem(item) {
if (item.Type === 'TvChannel') { if (item.Type === 'TvChannel') {
const apiClient = ServerConnections.getApiClient(item.ServerId); const apiClient = ServerConnections.getApiClient(item.ServerId);
@ -426,18 +426,18 @@ import { appRouter } from '../../../components/appRouter';
if (state.NowPlayingItem) { if (state.NowPlayingItem) {
isEnabled = true; isEnabled = true;
updatePlayerStateInternal(event, player, state); updatePlayerStateInternal(event, player, state);
updatePlaylist(player); updatePlaylist();
enableStopOnBack(true); enableStopOnBack(true);
} }
} }
function onPlayPauseStateChanged(e) { function onPlayPauseStateChanged() {
if (isEnabled) { if (isEnabled) {
updatePlayPauseState(this.paused()); updatePlayPauseState(this.paused());
} }
} }
function onVolumeChanged(e) { function onVolumeChanged() {
if (isEnabled) { if (isEnabled) {
const player = this; const player = this;
updatePlayerVolumeState(player, player.isMuted(), player.getVolume()); updatePlayerVolumeState(player, player.isMuted(), player.getVolume());
@ -472,7 +472,7 @@ import { appRouter } from '../../../components/appRouter';
} }
} }
function onMediaStreamsChanged(e) { function onMediaStreamsChanged() {
const player = this; const player = this;
const state = playbackManager.getPlayerState(player); const state = playbackManager.getPlayerState(player);
onStateChanged.call(player, { onStateChanged.call(player, {
@ -534,7 +534,7 @@ import { appRouter } from '../../../components/appRouter';
} }
} }
function onTimeUpdate(e) { function onTimeUpdate() {
// Test for 'currentItem' is required for Firefox since its player spams 'timeupdate' events even being at breakpoint // Test for 'currentItem' is required for Firefox since its player spams 'timeupdate' events even being at breakpoint
if (isEnabled && currentItem) { if (isEnabled && currentItem) {
const now = new Date().getTime(); const now = new Date().getTime();
@ -794,7 +794,7 @@ import { appRouter } from '../../../components/appRouter';
} }
} }
function updatePlaylist(player) { function updatePlaylist() {
const btnPreviousTrack = view.querySelector('.btnPreviousTrack'); const btnPreviousTrack = view.querySelector('.btnPreviousTrack');
const btnNextTrack = view.querySelector('.btnNextTrack'); const btnNextTrack = view.querySelector('.btnNextTrack');
btnPreviousTrack.classList.remove('hide'); btnPreviousTrack.classList.remove('hide');
@ -818,7 +818,7 @@ import { appRouter } from '../../../components/appRouter';
elem.innerHTML = html; elem.innerHTML = html;
} }
function onSettingsButtonClick(e) { function onSettingsButtonClick() {
const btn = this; const btn = this;
import('../../../components/playback/playersettingsmenu').then((playerSettingsMenu) => { import('../../../components/playback/playersettingsmenu').then((playerSettingsMenu) => {
@ -1261,11 +1261,11 @@ import { appRouter } from '../../../components/appRouter';
nowPlayingPositionSlider.classList.add('focusable'); nowPlayingPositionSlider.classList.add('focusable');
} }
view.addEventListener('viewbeforeshow', function (e) { view.addEventListener('viewbeforeshow', function () {
headerElement.classList.add('osdHeader'); headerElement.classList.add('osdHeader');
appRouter.setTransparency('full'); appRouter.setTransparency('full');
}); });
view.addEventListener('viewshow', function (e) { view.addEventListener('viewshow', function () {
try { try {
Events.on(playbackManager, 'playerchange', onPlayerChange); Events.on(playbackManager, 'playerchange', onPlayerChange);
bindToPlayer(playbackManager.getCurrentPlayer()); bindToPlayer(playbackManager.getCurrentPlayer());

View file

@ -49,7 +49,7 @@ import ServerConnections from '../../../components/ServerConnections';
}); });
} }
export default function(view, params) { export default function(view) {
view.querySelector('.addServerForm').addEventListener('submit', onServerSubmit); view.querySelector('.addServerForm').addEventListener('submit', onServerSubmit);
view.querySelector('.btnCancel').addEventListener('click', goBack); view.querySelector('.btnCancel').addEventListener('click', goBack);

View file

@ -36,7 +36,7 @@ import Dashboard from '../../../scripts/clientUtils';
} }
} }
export default function (view, params) { export default function (view) {
function onSubmit(e) { function onSubmit(e) {
ApiClient.ajax({ ApiClient.ajax({
type: 'POST', type: 'POST',

View file

@ -250,7 +250,7 @@ import cardBuilder from '../../../components/cardbuilder/cardBuilder';
Dashboard.selectServer(); Dashboard.selectServer();
}); });
view.addEventListener('viewshow', function (e) { view.addEventListener('viewshow', function () {
loading.show(); loading.show();
libraryMenu.setTransparentMenu(true); libraryMenu.setTransparentMenu(true);
@ -285,7 +285,7 @@ import cardBuilder from '../../../components/cardbuilder/cardBuilder';
view.querySelector('.disclaimer').textContent = options.LoginDisclaimer || ''; view.querySelector('.disclaimer').textContent = options.LoginDisclaimer || '';
}); });
}); });
view.addEventListener('viewhide', function (e) { view.addEventListener('viewhide', function () {
libraryMenu.setTransparentMenu(false); libraryMenu.setTransparentMenu(false);
}); });
} }

View file

@ -24,7 +24,7 @@ import Dashboard from '../../../scripts/clientUtils';
}); });
} }
export default function (view, params) { export default function (view) {
function onSubmit(e) { function onSubmit(e) {
ApiClient.ajax({ ApiClient.ajax({
type: 'POST', type: 'POST',

View file

@ -354,7 +354,7 @@ import autoFocuser from '../../components/autoFocuser';
const tabControllers = []; const tabControllers = [];
let renderedTabs = []; let renderedTabs = [];
view.addEventListener('viewshow', function (e) { view.addEventListener('viewshow', function () {
initTabs(); initTabs();
if (!view.getAttribute('data-title')) { if (!view.getAttribute('data-title')) {
const parentId = params.topParentId; const parentId = params.topParentId;
@ -374,12 +374,12 @@ import autoFocuser from '../../components/autoFocuser';
Events.on(ApiClient, 'message', onWebSocketMessage); Events.on(ApiClient, 'message', onWebSocketMessage);
inputManager.on(window, onInputCommand); inputManager.on(window, onInputCommand);
}); });
view.addEventListener('viewbeforehide', function (e) { view.addEventListener('viewbeforehide', function () {
inputManager.off(window, onInputCommand); inputManager.off(window, onInputCommand);
Events.off(playbackManager, 'playbackstop', onPlaybackStop); Events.off(playbackManager, 'playbackstop', onPlaybackStop);
Events.off(ApiClient, 'message', onWebSocketMessage); Events.off(ApiClient, 'message', onWebSocketMessage);
}); });
view.addEventListener('viewdestroy', function (e) { view.addEventListener('viewdestroy', function () {
tabControllers.forEach(function (t) { tabControllers.forEach(function (t) {
if (t.destroy) { if (t.destroy) {
t.destroy(); t.destroy();

View file

@ -9,7 +9,6 @@ import autoFocuser from '../../../components/autoFocuser';
export default function (view, params) { export default function (view, params) {
let settingsInstance; let settingsInstance;
let hasChanges;
const userId = params.userId || ApiClient.getCurrentUserId(); const userId = params.userId || ApiClient.getCurrentUserId();
const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings();
@ -30,10 +29,6 @@ import autoFocuser from '../../../components/autoFocuser';
} }
}); });
view.addEventListener('change', function () {
hasChanges = true;
});
view.addEventListener('viewdestroy', function () { view.addEventListener('viewdestroy', function () {
if (settingsInstance) { if (settingsInstance) {
settingsInstance.destroy(); settingsInstance.destroy();

View file

@ -10,7 +10,6 @@ import '../../../components/listview/listview.scss';
export default function (view, params) { export default function (view, params) {
let homescreenSettingsInstance; let homescreenSettingsInstance;
let hasChanges;
const userId = params.userId || ApiClient.getCurrentUserId(); const userId = params.userId || ApiClient.getCurrentUserId();
const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings();
@ -31,10 +30,6 @@ import '../../../components/listview/listview.scss';
} }
}); });
view.addEventListener('change', function () {
hasChanges = true;
});
view.addEventListener('viewdestroy', function () { view.addEventListener('viewdestroy', function () {
if (homescreenSettingsInstance) { if (homescreenSettingsInstance) {
homescreenSettingsInstance.destroy(); homescreenSettingsInstance.destroy();

View file

@ -11,7 +11,6 @@ import '../../../components/listview/listview.scss';
export default function (view, params) { export default function (view, params) {
let settingsInstance; let settingsInstance;
let hasChanges;
const userId = params.userId || ApiClient.getCurrentUserId(); const userId = params.userId || ApiClient.getCurrentUserId();
const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings();
@ -32,10 +31,6 @@ import '../../../components/listview/listview.scss';
} }
}); });
view.addEventListener('change', function () {
hasChanges = true;
});
view.addEventListener('viewdestroy', function () { view.addEventListener('viewdestroy', function () {
if (settingsInstance) { if (settingsInstance) {
settingsInstance.destroy(); settingsInstance.destroy();

View file

@ -54,7 +54,7 @@ function onFileReaderError(evt) {
} }
} }
function onFileReaderAbort(evt) { function onFileReaderAbort() {
loading.hide(); loading.hide();
toast(globalize.translate('FileReadCancelled')); toast(globalize.translate('FileReadCancelled'));
} }
@ -95,7 +95,7 @@ export default function (view, params) {
}); });
}); });
}); });
view.querySelector('#btnAddImage').addEventListener('click', function (evt) { view.querySelector('#btnAddImage').addEventListener('click', function () {
view.querySelector('#uploadImage').click(); view.querySelector('#uploadImage').click();
}); });
view.querySelector('#uploadImage').addEventListener('change', function (evt) { view.querySelector('#uploadImage').addEventListener('change', function (evt) {

View file

@ -9,7 +9,6 @@ import autoFocuser from '../../../components/autoFocuser';
export default function (view, params) { export default function (view, params) {
let subtitleSettingsInstance; let subtitleSettingsInstance;
let hasChanges;
const userId = params.userId || ApiClient.getCurrentUserId(); const userId = params.userId || ApiClient.getCurrentUserId();
const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings(); const currentSettings = userId === ApiClient.getCurrentUserId() ? userSettings : new UserSettings();
@ -30,10 +29,6 @@ import autoFocuser from '../../../components/autoFocuser';
} }
}); });
view.addEventListener('change', function () {
hasChanges = true;
});
view.addEventListener('viewdestroy', function () { view.addEventListener('viewdestroy', function () {
if (subtitleSettingsInstance) { if (subtitleSettingsInstance) {
subtitleSettingsInstance.destroy(); subtitleSettingsInstance.destroy();

View file

@ -11,6 +11,6 @@ function onFinish() {
}); });
} }
export default function (view, params) { export default function (view) {
view.querySelector('.btnWizardNext').addEventListener('click', onFinish); view.querySelector('.btnWizardNext').addEventListener('click', onFinish);
} }

View file

@ -31,7 +31,7 @@ function onSubmit(e) {
return false; return false;
} }
export default function (view, params) { export default function (view) {
view.querySelector('.wizardSettingsForm').addEventListener('submit', onSubmit); view.querySelector('.wizardSettingsForm').addEventListener('submit', onSubmit);
view.addEventListener('viewshow', function () { view.addEventListener('viewshow', function () {
document.querySelector('.skinHeader').classList.add('noHomeButtonHeader'); document.querySelector('.skinHeader').classList.add('noHomeButtonHeader');

View file

@ -75,7 +75,7 @@ function onSubmit(e) {
return false; return false;
} }
export default function (view, params) { export default function (view) {
view.querySelector('.wizardSettingsForm').addEventListener('submit', onSubmit); view.querySelector('.wizardSettingsForm').addEventListener('submit', onSubmit);
view.addEventListener('viewshow', function () { view.addEventListener('viewshow', function () {
document.querySelector('.skinHeader').classList.add('noHomeButtonHeader'); document.querySelector('.skinHeader').classList.add('noHomeButtonHeader');

View file

@ -32,7 +32,7 @@ function onSubmit() {
return false; return false;
} }
export default function (view, params) { export default function (view) {
$('.wizardStartForm', view).on('submit', onSubmit); $('.wizardStartForm', view).on('submit', onSubmit);
view.addEventListener('viewshow', function () { view.addEventListener('viewshow', function () {
document.querySelector('.skinHeader').classList.add('noHomeButtonHeader'); document.querySelector('.skinHeader').classList.add('noHomeButtonHeader');

View file

@ -58,7 +58,7 @@ function onViewShow() {
}); });
} }
export default function (view, params) { export default function (view) {
view.querySelector('.wizardUserForm').addEventListener('submit', onSubmit); view.querySelector('.wizardUserForm').addEventListener('submit', onSubmit);
view.addEventListener('viewshow', function () { view.addEventListener('viewshow', function () {
document.querySelector('.skinHeader').classList.add('noHomeButtonHeader'); document.querySelector('.skinHeader').classList.add('noHomeButtonHeader');

View file

@ -54,7 +54,7 @@ import '../emby-button/emby-button';
}); });
} }
function onButtonClick(e) { function onButtonClick() {
const button = this; const button = this;
const collapseContent = button.parentNode.querySelector('.collapseContent'); const collapseContent = button.parentNode.querySelector('.collapseContent');

View file

@ -188,7 +188,7 @@ import Sortable from 'sortablejs';
}); });
} }
function onSeriesTimerCreated(e, apiClient, data) { function onSeriesTimerCreated() {
const itemsContainer = this; const itemsContainer = this;
if (getEventsToMonitor(itemsContainer).indexOf('seriestimers') !== -1) { if (getEventsToMonitor(itemsContainer).indexOf('seriestimers') !== -1) {
itemsContainer.notifyRefreshNeeded(); itemsContainer.notifyRefreshNeeded();

View file

@ -20,7 +20,7 @@ import ServerConnections from '../../components/ServerConnections';
} }
} }
function onClick(e) { function onClick() {
const button = this; const button = this;
const id = button.getAttribute('data-id'); const id = button.getAttribute('data-id');
const serverId = button.getAttribute('data-serverid'); const serverId = button.getAttribute('data-serverid');

View file

@ -15,7 +15,7 @@ import template from './emby-progressring.template.html';
if (window.MutationObserver) { if (window.MutationObserver) {
// create an observer instance // create an observer instance
const observer = new MutationObserver(function (mutations) { const observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) { mutations.forEach(function () {
instance.setProgress(parseFloat(instance.getAttribute('data-progress') || '0')); instance.setProgress(parseFloat(instance.getAttribute('data-progress') || '0'));
}); });
}); });

View file

@ -24,7 +24,7 @@ import ServerConnections from '../../components/ServerConnections';
return apiClient.updateFavoriteStatus(apiClient.getCurrentUserId(), itemId, !isFavorite); return apiClient.updateFavoriteStatus(apiClient.getCurrentUserId(), itemId, !isFavorite);
} }
function onClick(e) { function onClick() {
const button = this; const button = this;
const id = button.getAttribute('data-id'); const id = button.getAttribute('data-id');
const serverId = button.getAttribute('data-serverid'); const serverId = button.getAttribute('data-serverid');

View file

@ -57,7 +57,7 @@ const EmbyScrollButtonsPrototype = Object.create(HTMLDivElement.prototype);
} }
} }
function onScroll(e) { function onScroll() {
const scrollButtons = this; const scrollButtons = this;
const scroller = this.scroller; const scroller = this.scroller;
@ -117,7 +117,7 @@ const EmbyScrollButtonsPrototype = Object.create(HTMLDivElement.prototype);
return scrollSize; return scrollSize;
} }
function onScrollButtonClick(e) { function onScrollButtonClick() {
const scroller = this.parentNode.nextSibling; const scroller = this.parentNode.nextSibling;
const direction = this.getAttribute('data-direction'); const direction = this.getAttribute('data-direction');

View file

@ -63,14 +63,14 @@ import 'webcomponents.js/webcomponents-lite';
return elem; return elem;
} }
function onFocus(e) { function onFocus() {
const label = getLabel(this); const label = getLabel(this);
if (label) { if (label) {
label.classList.add('selectLabelFocused'); label.classList.add('selectLabelFocused');
} }
} }
function onBlur(e) { function onBlur() {
const label = getLabel(this); const label = getLabel(this);
if (label) { if (label) {
label.classList.remove('selectLabelFocused'); label.classList.remove('selectLabelFocused');

View file

@ -105,7 +105,7 @@ import '../emby-input/emby-input';
}); });
} }
function updateBubble(range, value, bubble, bubbleText) { function updateBubble(range, value, bubble) {
requestAnimationFrame(function () { requestAnimationFrame(function () {
const bubbleTrackRect = range.sliderBubbleTrack.getBoundingClientRect(); const bubbleTrackRect = range.sliderBubbleTrack.getBoundingClientRect();
const bubbleRect = bubble.getBoundingClientRect(); const bubbleRect = bubble.getBoundingClientRect();
@ -189,7 +189,7 @@ import '../emby-input/emby-input';
let hasHideClass = sliderBubble.classList.contains('hide'); let hasHideClass = sliderBubble.classList.contains('hide');
dom.addEventListener(this, 'input', function (e) { dom.addEventListener(this, 'input', function () {
this.dragging = true; this.dragging = true;
if (this.dataset.sliderKeepProgress !== 'true') { if (this.dataset.sliderKeepProgress !== 'true') {
@ -284,7 +284,7 @@ import '../emby-input/emby-input';
passive: true passive: true
}); });
dom.addEventListener(this, 'touchend', function (e) { dom.addEventListener(this, 'touchend', function () {
const range = this; const range = this;
setTimeout(function () { setTimeout(function () {

View file

@ -15,12 +15,12 @@ import '../../assets/css/scrollstyles.scss';
newButton.classList.add(activeButtonClass); newButton.classList.add(activeButtonClass);
} }
function getTabPanel(tabs, index) { function getTabPanel() {
return null; return null;
} }
function removeActivePanelClass(tabs, index) { function removeActivePanelClass() {
const tabPanel = getTabPanel(tabs, index); const tabPanel = getTabPanel();
if (tabPanel) { if (tabPanel) {
tabPanel.classList.remove('is-active'); tabPanel.classList.remove('is-active');
} }
@ -48,10 +48,10 @@ import '../../assets/css/scrollstyles.scss';
} }
})); }));
if (previousIndex != null && previousIndex !== index) { if (previousIndex != null && previousIndex !== index) {
removeActivePanelClass(tabs, previousIndex); removeActivePanelClass();
} }
const newPanel = getTabPanel(tabs, index); const newPanel = getTabPanel();
if (newPanel) { if (newPanel) {
// animate new panel ? // animate new panel ?
@ -291,13 +291,13 @@ import '../../assets/css/scrollstyles.scss';
} }
}; };
EmbyTabs.triggerBeforeTabChange = function (selected) { EmbyTabs.triggerBeforeTabChange = function () {
const tabs = this; const tabs = this;
triggerBeforeTabChange(tabs, tabs.selectedIndex()); triggerBeforeTabChange(tabs, tabs.selectedIndex());
}; };
EmbyTabs.triggerTabChange = function (selected) { EmbyTabs.triggerTabChange = function () {
const tabs = this; const tabs = this;
tabs.dispatchEvent(new CustomEvent('tabchange', { tabs.dispatchEvent(new CustomEvent('tabchange', {

Some files were not shown because too many files have changed in this diff Show more