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

Merge pull request #1039 from MrTimscampi/sonarqube-fixes-1

Sonarqube bug fixin' - Part 1: Phantom Bugs
This commit is contained in:
dkanada 2020-04-11 21:34:49 +09:00 committed by GitHub
commit a9c9957160
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 231 additions and 264 deletions

View file

@ -62,7 +62,7 @@ function serve() {
port: 8080 port: 8080
}); });
let events = ['add', 'change']; const events = ['add', 'change'];
watch(options.javascript.query).on('all', function (event, path) { watch(options.javascript.query).on('all', function (event, path) {
if (events.includes(event)) { if (events.includes(event)) {
@ -105,7 +105,7 @@ function clean() {
return del(['dist/']); return del(['dist/']);
} }
let pipelineJavascript = lazypipe() const pipelineJavascript = lazypipe()
.pipe(function () { .pipe(function () {
return mode.development(sourcemaps.init({ loadMaps: true })); return mode.development(sourcemaps.init({ loadMaps: true }));
}) })
@ -140,7 +140,7 @@ function apploader(standalone) {
.pipe(pipelineJavascript()) .pipe(pipelineJavascript())
.pipe(dest('dist/')) .pipe(dest('dist/'))
.pipe(browserSync.stream()); .pipe(browserSync.stream());
}; }
task.displayName = 'apploader'; task.displayName = 'apploader';

View file

@ -92,13 +92,14 @@
"src/components/filedownloader.js", "src/components/filedownloader.js",
"src/components/filesystem.js", "src/components/filesystem.js",
"src/components/input/keyboardnavigation.js", "src/components/input/keyboardnavigation.js",
"src/components/scrollManager.js",
"src/components/sanatizefilename.js", "src/components/sanatizefilename.js",
"src/scripts/settings/webSettings.js", "src/components/scrollManager.js",
"src/scripts/settings/appSettings.js", "src/scripts/settings/appSettings.js",
"src/scripts/settings/userSettings.js", "src/scripts/settings/userSettings.js",
"src/scripts/settings/webSettings.js",
"src/scripts/dfnshelper.js",
"src/scripts/imagehelper.js", "src/scripts/imagehelper.js",
"src/scripts/dfnshelper.js" "src/scripts/inputManager.js"
], ],
"plugins": [ "plugins": [
"@babel/plugin-transform-modules-amd" "@babel/plugin-transform-modules-amd"

View file

@ -85,15 +85,15 @@ _define("webcomponents", function() {
}); });
// libass-wasm // libass-wasm
var libass_wasm = require("libass-wasm"); var libassWasm = require("libass-wasm");
_define("JavascriptSubtitlesOctopus", function() { _define("JavascriptSubtitlesOctopus", function() {
return libass_wasm; return libassWasm;
}); });
// material-icons // material-icons
var material_icons = require("material-design-icons-iconfont/dist/material-design-icons.css"); var materialIcons = require("material-design-icons-iconfont/dist/material-design-icons.css");
_define("material-icons", function() { _define("material-icons", function() {
return material_icons; return materialIcons;
}); });
// noto font // noto font
@ -120,14 +120,14 @@ _define("classlist-polyfill", function () {
}); });
// Date-FNS // Date-FNS
var date_fns = require("date-fns"); var dateFns = require("date-fns");
_define("date-fns", function () { _define("date-fns", function () {
return date_fns; return dateFns;
}); });
var date_fns_locale = require("date-fns/locale"); var dateFnsLocale = require("date-fns/locale");
_define("date-fns/locale", function () { _define("date-fns/locale", function () {
return date_fns_locale; return dateFnsLocale;
}); });
var fast_text_encoding = require("fast-text-encoding"); var fast_text_encoding = require("fast-text-encoding");

View file

@ -579,7 +579,8 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
function showDirect(path) { function showDirect(path) {
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
resolveOnNextShow = resolve, page.show(baseUrl()+path); resolveOnNextShow = resolve;
page.show(baseUrl() + path);
}); });
} }

View file

@ -131,7 +131,7 @@ define(['connectionManager', 'cardBuilder', 'appSettings', 'dom', 'apphost', 'la
} 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, allSections);
} else if (section === 'librarybuttons') { } else if (section === 'librarybuttons') {
loadlibraryButtons(elem, apiClient, user, userSettings, userViews, allSections); loadlibraryButtons(elem, apiClient, user, userSettings, userViews);
} else if (section === 'resume') { } else if (section === 'resume') {
loadResumeVideo(elem, apiClient, userId); loadResumeVideo(elem, apiClient, userId);
} else if (section === 'resumeaudio') { } else if (section === 'resumeaudio') {

View file

@ -101,7 +101,7 @@ define(['events', 'browser', 'require', 'apphost', 'appSettings', 'htmlMediaHelp
self._timeUpdated = false; self._timeUpdated = false;
self._currentTime = null; self._currentTime = null;
var elem = createMediaElement(options); var elem = createMediaElement();
return setCurrentSrc(elem, options); return setCurrentSrc(elem, options);
}; };

View file

@ -241,7 +241,7 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
elem.addEventListener('click', function (e) { elem.addEventListener('click', function (e) {
if (!dom.parentWithTag(e.target, ['BUTTON', 'INPUT', 'A'])) { if (!dom.parentWithTag(e.target, ['BUTTON', 'INPUT', 'A'])) {
showRemoteControl(0); showRemoteControl();
} }
}); });
} }

View file

@ -3140,7 +3140,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
AllowVideoStreamCopy: false, AllowVideoStreamCopy: false,
AllowAudioStreamCopy: currentlyPreventsAudioStreamCopy || currentlyPreventsVideoStreamCopy ? false : null AllowAudioStreamCopy: currentlyPreventsAudioStreamCopy || currentlyPreventsVideoStreamCopy ? false : null
}, true); });
return; return;
} }

View file

@ -307,8 +307,7 @@ define(['dialogHelper', 'inputManager', 'connectionManager', 'layoutManager', 'f
*/ */
function getSwiperSlideHtmlFromItem(item) { function getSwiperSlideHtmlFromItem(item) {
return getSwiperSlideHtmlFromSlide({ return getSwiperSlideHtmlFromSlide({
imageUrl: getImgUrl(item), originalImage: getImgUrl(item),
originalImage: getImgUrl(item, true),
//title: item.Name, //title: item.Name,
//description: item.Overview //description: item.Overview
Id: item.Id, Id: item.Id,

View file

@ -95,7 +95,7 @@ define(["loading", "appRouter", "layoutManager", "appSettings", "apphost", "focu
} }
function showServerConnectionFailure() { function showServerConnectionFailure() {
alertText(globalize.translate("MessageUnableToConnectToServer"), globalize.translate("HeaderConnectionFailure")); alertText(globalize.translate("MessageUnableToConnectToServer"));
} }
return function (view, params) { return function (view, params) {

View file

@ -184,12 +184,12 @@ define(["layoutManager", "loading", "libraryBrowser", "cardBuilder", "lazyLoader
}; };
self.getCurrentViewStyle = function () { self.getCurrentViewStyle = function () {
return getPageData(tabContent).view; return getPageData().view;
}; };
self.setCurrentViewStyle = function (viewStyle) { self.setCurrentViewStyle = function (viewStyle) {
getPageData(tabContent).view = viewStyle; getPageData().view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle); libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
fullyReload(); fullyReload();
}; };

View file

@ -107,12 +107,12 @@ define(["libraryBrowser", "cardBuilder", "apphost", "imageLoader", "loading"], f
}; };
self.getCurrentViewStyle = function () { self.getCurrentViewStyle = function () {
return getPageData(tabContent).view; return getPageData().view;
}; };
self.setCurrentViewStyle = function (viewStyle) { self.setCurrentViewStyle = function (viewStyle) {
getPageData(tabContent).view = viewStyle; getPageData().view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle); libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
fullyReload(); fullyReload();
}; };

View file

@ -69,7 +69,7 @@ define(["libraryBrowser", "cardBuilder", "apphost", "imageLoader", "loading"], f
var data = {}; var data = {};
self.getCurrentViewStyle = function () { self.getCurrentViewStyle = function () {
return getPageData(tabContent).view; return getPageData().view;
}; };
var promise; var promise;

View file

@ -177,12 +177,12 @@ define(["layoutManager", "loading", "libraryBrowser", "cardBuilder", "lazyLoader
}; };
self.getCurrentViewStyle = function () { self.getCurrentViewStyle = function () {
return getPageData(tabContent).view; return getPageData().view;
}; };
self.setCurrentViewStyle = function (viewStyle) { self.setCurrentViewStyle = function (viewStyle) {
getPageData(tabContent).view = viewStyle; getPageData().view = viewStyle;
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle); libraryBrowser.saveViewSetting(getSavedQueryKey(), viewStyle);
fullyReload(); fullyReload();
}; };

View file

@ -3,16 +3,20 @@ Dashboard.confirm = function(message, title, callback) {
require(["confirm"], function(confirm) { require(["confirm"], function(confirm) {
confirm(message, title).then(function() { confirm(message, title).then(function() {
callback(!0); callback(!0);
}, function() { }).catch(function() {
callback(!1); callback(!1);
}); });
}); });
}, Dashboard.showLoadingMsg = function() { };
Dashboard.showLoadingMsg = function() {
"use strict"; "use strict";
require(["loading"], function(loading) { require(["loading"], function(loading) {
loading.show(); loading.show();
}); });
}, Dashboard.hideLoadingMsg = function() { };
Dashboard.hideLoadingMsg = function() {
"use strict"; "use strict";
require(["loading"], function(loading) { require(["loading"], function(loading) {
loading.hide(); loading.hide();

View file

@ -4,7 +4,9 @@ define(["jQuery"], function($) {
return !0 === value || !1 === value ? $(this).each(function() { return !0 === value || !1 === value ? $(this).each(function() {
this.checked = value; this.checked = value;
}) : this.length && this[0].checked; }) : this.length && this[0].checked;
}, $.fn.checkboxradio = function() { };
$.fn.checkboxradio = function() {
return this; return this;
}; };
}); });

View file

@ -8,7 +8,7 @@
var script = document.createElement("script"); var script = document.createElement("script");
if (self.dashboardVersion) { if (self.dashboardVersion) {
src += "?v=" + self.dashboardVersion; src += `?v=${self.dashboardVersion}`;
} }
script.src = src; script.src = src;

View file

@ -1,16 +1,18 @@
define(["backdrop", "userSettings", "libraryMenu"], function (backdrop, userSettings, libraryMenu) { define(["backdrop", "userSettings", "libraryMenu"], function (backdrop, userSettings, libraryMenu) {
"use strict"; "use strict";
var cache = {};
function enabled() { function enabled() {
return userSettings.enableBackdrops(); return userSettings.enableBackdrops();
} }
function getBackdropItemIds(apiClient, userId, types, parentId) { function getBackdropItemIds(apiClient, userId, types, parentId) {
var key = "backdrops2_" + userId + (types || "") + (parentId || ""); var key = `backdrops2_${userId + (types || "") + (parentId || "")}`;
var data = cache[key]; var data = cache[key];
if (data) { if (data) {
console.debug("Found backdrop id list in cache. Key: " + key); console.debug(`Found backdrop id list in cache. Key: ${key}`);
data = JSON.parse(data); data = JSON.parse(data);
return Promise.resolve(data); return Promise.resolve(data);
} }
@ -54,7 +56,6 @@ define(["backdrop", "userSettings", "libraryMenu"], function (backdrop, userSett
} }
} }
var cache = {};
pageClassOn("pageshow", "page", function () { pageClassOn("pageshow", "page", function () {
var page = this; var page = this;

View file

@ -1,99 +1,57 @@
import { ar, be, bg, ca, cs, da, de, el, enGB, enUS, es, faIR, fi, fr, frCA, he, hi, hr, hu, id, it, kk, ko, lt, ms, nb, nl, pl, ptBR, pt, ro, ru, sk, sl, sv, tr, uk, vi, zhCN, zhTW } from 'date-fns/locale'; import { ar, be, bg, ca, cs, da, de, el, enGB, enUS, es, faIR, fi, fr, frCA, he, hi, hr, hu, id, it, ja, kk, ko, lt, ms, nb,
nl, pl, ptBR, pt, ro, ru, sk, sl, sv, tr, uk, vi, zhCN, zhTW } from 'date-fns/locale';
import globalize from 'globalize'; import globalize from 'globalize';
const dateLocales = (locale) => ({
'ar': ar,
'be-by': be,
'bg-bg': bg,
'ca': ca,
'cs': cs,
'da': da,
'de': de,
'el': el,
'en-gb': enGB,
'en-us': enUS,
'es': es,
'es-ar': es,
'es-mx': es,
'fa': faIR,
'fi': fi,
'fr': fr,
'fr-ca': frCA,
'gsw': de,
'he': he,
'hi-in': hi,
'hr': hr,
'hu': hu,
'id': id,
'it': it,
'ja': ja,
'kk': kk,
'ko': ko,
'lt-lt': lt,
'ms': ms,
'nb': nb,
'nl': nl,
'pl': pl,
'pt-br': ptBR,
'pt-pt': pt,
'ro': ro,
'ru': ru,
'sk': sk,
'sl-si': sl,
'sv': sv,
'tr': tr,
'uk': uk,
'vi': vi,
'zh-cn': zhCN,
'zh-hk': zhCN,
'zh-tw': zhTW
})[locale];
export function getLocale() { export function getLocale() {
switch (globalize.getCurrentLocale()) { return dateLocales(globalize.getCurrentLocale()) || enUS;
case 'ar':
return ar;
case 'be-by':
return be;
case 'bg-bg':
return bg;
case 'ca':
return ca;
case 'cs':
return cs;
case 'da':
return da;
case 'de':
return de;
case 'el':
return el;
case 'en-gb':
return enGB;
case 'en-us':
return enUS;
case 'es':
return es;
case 'es-ar':
return es;
case 'es-mx':
return es;
case 'fa':
return faIR;
case 'fi':
return fi;
case 'fr':
return fr;
case 'fr-ca':
return frCA;
case 'gsw':
return de;
case 'he':
return he;
case 'hi-in':
return hi;
case 'hr':
return hr;
case 'hu':
return hu;
case 'id':
return id;
case 'it':
return it;
case 'kk':
return kk;
case 'ko':
return ko;
case 'lt-lt':
return lt;
case 'ms':
return ms;
case 'nb':
return nb;
case 'nl':
return nl;
case 'pl':
return pl;
case 'pt-br':
return ptBR;
case 'pt-pt':
return pt;
case 'ro':
return ro;
case 'ru':
return ru;
case 'sk':
return sk;
case 'sl-si':
return sl;
case 'sv':
return sv;
case 'tr':
return tr;
case 'uk':
return uk;
case 'vi':
return vi;
case 'zh-cn':
return zhCN;
case 'zh-hk':
return zhCN;
case 'zh-tw':
return zhTW;
default:
return enUS;
}
} }
export const localeWithSuffix = { addSuffix: true, locale: getLocale() }; export const localeWithSuffix = { addSuffix: true, locale: getLocale() };

View file

@ -1,44 +1,49 @@
define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], function (playbackManager, focusManager, appRouter, dom, appHost) { import playbackManager from 'playbackManager';
'use strict'; import focusManager from 'focusManager';
import appRouter from 'appRouter';
import dom from 'dom';
import appHost from 'apphost';
var lastInputTime = new Date().getTime(); /* eslint-disable indent */
function notify() { let lastInputTime = new Date().getTime();
export function notify() {
lastInputTime = new Date().getTime(); lastInputTime = new Date().getTime();
handleCommand('unknown'); handleCommand('unknown');
} }
function notifyMouseMove() { export function notifyMouseMove() {
lastInputTime = new Date().getTime(); lastInputTime = new Date().getTime();
} }
function idleTime() { export function idleTime() {
return new Date().getTime() - lastInputTime; return new Date().getTime() - lastInputTime;
} }
function select(sourceElement) { export function select(sourceElement) {
sourceElement.click(); sourceElement.click();
} }
var eventListenerCount = 0; let eventListenerCount = 0;
function on(scope, fn) { export function on(scope, fn) {
eventListenerCount++; eventListenerCount++;
dom.addEventListener(scope, 'command', fn, {}); dom.addEventListener(scope, 'command', fn, {});
} }
function off(scope, fn) { export function off(scope, fn) {
if (eventListenerCount) { if (eventListenerCount) {
eventListenerCount--; eventListenerCount--;
} }
dom.removeEventListener(scope, 'command', fn, {}); dom.removeEventListener(scope, 'command', fn, {});
} }
var commandTimes = {}; let commandTimes = {};
function checkCommandTime(command) { function checkCommandTime(command) {
var last = commandTimes[command] || 0; const last = commandTimes[command] || 0;
var now = new Date().getTime(); const now = new Date().getTime();
if ((now - last) < 1000) { if ((now - last) < 1000) {
return false; return false;
@ -48,11 +53,11 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
return true; return true;
} }
function handleCommand(name, options) { export function handleCommand(commandName, options) {
lastInputTime = new Date().getTime(); lastInputTime = new Date().getTime();
var sourceElement = (options ? options.sourceElement : null); let sourceElement = (options ? options.sourceElement : null);
if (sourceElement) { if (sourceElement) {
sourceElement = focusManager.focusableParent(sourceElement); sourceElement = focusManager.focusableParent(sourceElement);
@ -61,7 +66,7 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
if (!sourceElement) { if (!sourceElement) {
sourceElement = document.activeElement || window; sourceElement = document.activeElement || window;
var dlg = document.querySelector('.dialogContainer .dialog.opened'); const dlg = document.querySelector('.dialogContainer .dialog.opened');
if (dlg && (!sourceElement || !dlg.contains(sourceElement))) { if (dlg && (!sourceElement || !dlg.contains(sourceElement))) {
sourceElement = dlg; sourceElement = dlg;
@ -69,169 +74,164 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
} }
if (eventListenerCount) { if (eventListenerCount) {
var customEvent = new CustomEvent("command", { const customEvent = new CustomEvent("command", {
detail: { detail: {
command: name command: commandName
}, },
bubbles: true, bubbles: true,
cancelable: true cancelable: true
}); });
var eventResult = sourceElement.dispatchEvent(customEvent); const eventResult = sourceElement.dispatchEvent(customEvent);
if (!eventResult) { if (!eventResult) {
// event cancelled // event cancelled
return; return;
} }
} }
switch (name) { const keyActions = (command) => ({
case 'up': 'up': () => {
focusManager.moveUp(sourceElement); focusManager.moveUp(sourceElement);
break; },
case 'down': 'down': () => {
focusManager.moveDown(sourceElement); focusManager.moveDown(sourceElement);
break; },
case 'left': 'left': () => {
focusManager.moveLeft(sourceElement); focusManager.moveLeft(sourceElement);
break; },
case 'right': 'right': () => {
focusManager.moveRight(sourceElement); focusManager.moveRight(sourceElement);
break; },
case 'home': 'home': () => {
appRouter.goHome(); appRouter.goHome();
break; },
case 'settings': 'settings': () => {
appRouter.showSettings(); appRouter.showSettings();
break; },
case 'back': 'back': () => {
if (appRouter.canGoBack()) { if (appRouter.canGoBack()) {
appRouter.back(); appRouter.back();
} else if (appHost.supports('exit')) { } else if (appHost.supports('exit')) {
appHost.exit(); appHost.exit();
} }
break; },
case 'forward': 'select': () => {
break;
case 'select':
select(sourceElement); select(sourceElement);
break; },
case 'pageup': 'nextchapter': () => {
break;
case 'pagedown':
break;
case 'end':
break;
case 'menu':
break;
case 'info':
break;
case 'nextchapter':
playbackManager.nextChapter(); playbackManager.nextChapter();
break; },
case 'next': 'next': () => {
case 'nexttrack':
playbackManager.nextTrack(); playbackManager.nextTrack();
break; },
case 'previous': 'nexttrack': () => {
case 'previoustrack': playbackManager.nextTrack();
},
'previous': () => {
playbackManager.previousTrack(); playbackManager.previousTrack();
break; },
case 'previouschapter': 'previoustrack': () => {
playbackManager.previousTrack();
},
'previouschapter': () => {
playbackManager.previousChapter(); playbackManager.previousChapter();
break; },
case 'guide': 'guide': () => {
appRouter.showGuide(); appRouter.showGuide();
break; },
case 'recordedtv': 'recordedtv': () => {
appRouter.showRecordedTV(); appRouter.showRecordedTV();
break; },
case 'record': 'livetv': () => {
break;
case 'livetv':
appRouter.showLiveTV(); appRouter.showLiveTV();
break; },
case 'mute': 'mute': () => {
playbackManager.setMute(true); playbackManager.setMute(true);
break; },
case 'unmute': 'unmute': () => {
playbackManager.setMute(false); playbackManager.setMute(false);
break; },
case 'togglemute': 'togglemute': () => {
playbackManager.toggleMute(); playbackManager.toggleMute();
break; },
case 'channelup': 'channelup': () => {
playbackManager.channelUp(); playbackManager.channelUp();
break; },
case 'channeldown': 'channeldown': () => {
playbackManager.channelDown(); playbackManager.channelDown();
break; },
case 'volumedown': 'volumedown': () => {
playbackManager.volumeDown(); playbackManager.volumeDown();
break; },
case 'volumeup': 'volumeup': () => {
playbackManager.volumeUp(); playbackManager.volumeUp();
break; },
case 'play': 'play': () => {
playbackManager.unpause(); playbackManager.unpause();
break; },
case 'pause': 'pause': () => {
playbackManager.pause(); playbackManager.pause();
break; },
case 'playpause': 'playpause': () => {
playbackManager.playPause(); playbackManager.playPause();
break; },
case 'stop': 'stop': () => {
if (checkCommandTime('stop')) { if (checkCommandTime('stop')) {
playbackManager.stop(); playbackManager.stop();
} }
break; },
case 'changezoom': 'changezoom': () => {
playbackManager.toggleAspectRatio(); playbackManager.toggleAspectRatio();
break; },
case 'changeaudiotrack': 'changeaudiotrack': () => {
playbackManager.changeAudioStream(); playbackManager.changeAudioStream();
break; },
case 'changesubtitletrack': 'changesubtitletrack': () => {
playbackManager.changeSubtitleStream(); playbackManager.changeSubtitleStream();
break; },
case 'search': 'search': () => {
appRouter.showSearch(); appRouter.showSearch();
break; },
case 'favorites': 'favorites': () => {
appRouter.showFavorites(); appRouter.showFavorites();
break; },
case 'fastforward': 'fastforward': () => {
playbackManager.fastForward(); playbackManager.fastForward();
break; },
case 'rewind': 'rewind': () => {
playbackManager.rewind(); playbackManager.rewind();
break; },
case 'togglefullscreen': 'togglefullscreen': () => {
playbackManager.toggleFullscreen(); playbackManager.toggleFullscreen();
break; },
case 'disabledisplaymirror': 'disabledisplaymirror': () => {
playbackManager.enableDisplayMirroring(false); playbackManager.enableDisplayMirroring(false);
break; },
case 'enabledisplaymirror': 'enabledisplaymirror': () => {
playbackManager.enableDisplayMirroring(true); playbackManager.enableDisplayMirroring(true);
break; },
case 'toggledisplaymirror': 'toggledisplaymirror': () => {
playbackManager.toggleDisplayMirroring(); playbackManager.toggleDisplayMirroring();
break; },
case 'nowplaying': 'nowplaying': () => {
appRouter.showNowPlaying(); appRouter.showNowPlaying();
break; },
case 'repeatnone': 'repeatnone': () => {
playbackManager.setRepeatMode('RepeatNone'); playbackManager.setRepeatMode('RepeatNone');
break; },
case 'repeatall': 'repeatall': () => {
playbackManager.setRepeatMode('RepeatAll'); playbackManager.setRepeatMode('RepeatAll');
break; },
case 'repeatone': 'repeatone': () => {
playbackManager.setRepeatMode('RepeatOne'); playbackManager.setRepeatMode('RepeatOne');
break; }
default: })[command];
break;
const action = keyActions(commandName);
if (action !== undefined) {
action.call();
} else {
console.debug(`inputManager: tried to process command with no action assigned: ${commandName}`);
} }
} }
@ -239,7 +239,9 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
passive: true passive: true
}); });
return { /* eslint-enable indent */
export default {
trigger: handleCommand, trigger: handleCommand,
handle: handleCommand, handle: handleCommand,
notify: notify, notify: notify,
@ -247,5 +249,4 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
idleTime: idleTime, idleTime: idleTime,
on: on, on: on,
off: off off: off
}; };
});

View file

@ -8,7 +8,7 @@ define(["listView"], function (listView) {
EnableImageTypes: "Primary,Backdrop,Banner,Thumb", EnableImageTypes: "Primary,Backdrop,Banner,Thumb",
UserId: ApiClient.getCurrentUserId() UserId: ApiClient.getCurrentUserId()
}; };
return ApiClient.getJSON(ApiClient.getUrl("Playlists/" + itemId + "/Items", query)); return ApiClient.getJSON(ApiClient.getUrl(`Playlists/${itemId}/Items`, query));
}; };
} }