diff --git a/.eslintrc.js b/.eslintrc.js index 854a34faaa..188fee87c2 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -61,7 +61,8 @@ module.exports = { 'no-var': ['error'], 'space-before-blocks': ['error'], 'space-infix-ops': 'error', - 'yoda': 'error' + 'yoda': 'error', + 'no-sequences': ['error', { 'allowInParentheses': false }] }, settings: { react: { diff --git a/src/components/apphost.js b/src/components/apphost.js index eeef967eb7..337e346df2 100644 --- a/src/components/apphost.js +++ b/src/components/apphost.js @@ -75,7 +75,9 @@ function replaceAll(originalString, strReplace, strWith) { function generateDeviceId() { const keys = []; - if (keys.push(navigator.userAgent), keys.push(new Date().getTime()), window.btoa) { + keys.push(navigator.userAgent); + keys.push(new Date().getTime()); + if (window.btoa) { const result = replaceAll(btoa(keys.join('|')), '=', '1'); return result; } diff --git a/src/components/favoriteitems.js b/src/components/favoriteitems.js index ebd97e55c8..c82910743f 100644 --- a/src/components/favoriteitems.js +++ b/src/components/favoriteitems.js @@ -145,7 +145,9 @@ import '../elements/emby-itemscontainer/emby-itemscontainer'; let html = ''; if (result.Items.length) { - if (html += '
', !layoutManager.tv && options.Limit && result.Items.length >= options.Limit) { + html += '
'; + + if (!layoutManager.tv && options.Limit && result.Items.length >= options.Limit) { html += ''; html += '

'; html += globalize.translate(section.name); diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.js b/src/components/libraryoptionseditor/libraryoptionseditor.js index ef67508b95..2d67f04f0f 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.js +++ b/src/components/libraryoptionseditor/libraryoptionseditor.js @@ -64,7 +64,12 @@ import template from './libraryoptionseditor.template.html'; let html = ''; const elem = page.querySelector('.metadataReaders'); - if (plugins.length < 1) return elem.innerHTML = '', elem.classList.add('hide'), !1; + if (plugins.length < 1) { + elem.innerHTML = ''; + elem.classList.add('hide'); + return false; + } + html += `

${globalize.translate('LabelMetadataReaders')}

`; html += '
'; for (let i = 0; i < plugins.length; i++) { @@ -97,7 +102,11 @@ import template from './libraryoptionseditor.template.html'; function renderMetadataSavers(page, metadataSavers) { let html = ''; const elem = page.querySelector('.metadataSavers'); - if (!metadataSavers.length) return elem.innerHTML = '', elem.classList.add('hide'), false; + if (!metadataSavers.length) { + elem.innerHTML = ''; + elem.classList.add('hide'); + return false; + } html += `

${globalize.translate('LabelMetadataSavers')}

`; html += '
'; for (let i = 0; i < metadataSavers.length; i++) { diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index fdb15b272e..ea9b6e2fea 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -646,7 +646,10 @@ export default function () { } function bindToPlayer(context, player) { - if (releaseCurrentPlayer(), currentPlayer = player, player) { + releaseCurrentPlayer(); + currentPlayer = player; + + if (player) { const state = playbackManager.getPlayerState(player); onStateChanged.call(player, { type: 'init' diff --git a/src/controllers/dashboard/metadataImages.js b/src/controllers/dashboard/metadataImages.js index f4307ee6be..64512607bb 100644 --- a/src/controllers/dashboard/metadataImages.js +++ b/src/controllers/dashboard/metadataImages.js @@ -43,11 +43,13 @@ import Dashboard from '../../utils/dashboard'; function onSubmit() { const form = this; - return loading.show(), ApiClient.getServerConfiguration().then(function(config) { + loading.show(); + ApiClient.getServerConfiguration().then(function(config) { config.PreferredMetadataLanguage = form.querySelector('#selectLanguage').value; config.MetadataCountryCode = form.querySelector('#selectCountry').value; ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult); - }), !1; + }); + return false; } function getTabs() { diff --git a/src/controllers/favorites.js b/src/controllers/favorites.js index 7bc27a1b81..0a7a466468 100644 --- a/src/controllers/favorites.js +++ b/src/controllers/favorites.js @@ -145,7 +145,7 @@ import ServerConnections from '../components/ServerConnections'; return function () { const apiClient = this.apiClient; const options = { - SortBy: (section.types, 'SeriesName,SortName'), + SortBy: 'SeriesName,SortName', SortOrder: 'Ascending', Filters: 'IsFavorite', Recursive: true, @@ -278,7 +278,7 @@ class FavoritesTab { } onResume(options) { - const promises = (this.apiClient, []); + const promises = []; const view = this.view; const elems = this.sectionsContainer.querySelectorAll('.itemsContainer'); diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index 711249790a..ad8bbb063e 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -1786,7 +1786,11 @@ function renderAdditionalParts(page, item, user) { function renderScenes(page, item) { let chapters = item.Chapters || []; - if (chapters.length && !chapters[0].ImageTag && (chapters = []), chapters.length) { + if (chapters.length && !chapters[0].ImageTag) { + chapters = []; + } + + if (chapters.length) { page.querySelector('#scenesCollapsible').classList.remove('hide'); const scenesContent = page.querySelector('#scenesContent'); diff --git a/src/controllers/list.js b/src/controllers/list.js index b880502828..4c9e97ca48 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -1173,7 +1173,7 @@ class ItemsView { } getVisibleViewSettings() { - const item = (this.params, this.currentItem); + const item = this.currentItem; const fields = ['showTitle']; if (!item || item.Type !== 'PhotoAlbum' && item.Type !== 'ChannelFolderItem') { diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index cdee5ac9db..8dcb8356bd 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -745,7 +745,9 @@ import { setBackdropTransparency, TRANSPARENCY_LEVEL } from '../../../components const currentTimeMs = (playbackStartTimeTicks + (positionTicks || 0)) / 1e4; const programRuntimeMs = programEndDateMs - programStartDateMs; - if (nowPlayingPositionSlider.value = getDisplayPercentByTimeOfDay(programStartDateMs, programRuntimeMs, currentTimeMs), bufferedRanges.length) { + nowPlayingPositionSlider.value = getDisplayPercentByTimeOfDay(programStartDateMs, programRuntimeMs, currentTimeMs); + + if (bufferedRanges.length) { const rangeStart = getDisplayPercentByTimeOfDay(programStartDateMs, programRuntimeMs, (playbackStartTimeTicks + (bufferedRanges[0].start || 0)) / 1e4); const rangeEnd = getDisplayPercentByTimeOfDay(programStartDateMs, programRuntimeMs, (playbackStartTimeTicks + (bufferedRanges[0].end || 0)) / 1e4); nowPlayingPositionSlider.setBufferedRanges([{ diff --git a/src/scripts/libraryBrowser.js b/src/scripts/libraryBrowser.js index 7f9480ddae..426b53eb45 100644 --- a/src/scripts/libraryBrowser.js +++ b/src/scripts/libraryBrowser.js @@ -86,7 +86,9 @@ export function getQueryPagingHtml (options) { const recordsEnd = Math.min(startIndex + limit, totalRecordCount); const showControls = limit < totalRecordCount; - if (html += '
', showControls) { + html += '
'; + + if (showControls) { html += ''; html += globalize.translate('ListPaging', (totalRecordCount ? startIndex + 1 : 0), recordsEnd, totalRecordCount); html += '';