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

Clean inputManager

This commit is contained in:
MrTimscampi 2020-04-07 00:09:07 +02:00
parent b7661c2977
commit 43f6f985aa

View file

@ -48,7 +48,7 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
return true; return true;
} }
function handleCommand(name, options) { function handleCommand(commandName, options) {
lastInputTime = new Date().getTime(); lastInputTime = new Date().getTime();
@ -71,7 +71,7 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
if (eventListenerCount) { if (eventListenerCount) {
var customEvent = new CustomEvent("command", { var customEvent = new CustomEvent("command", {
detail: { detail: {
command: name command: commandName
}, },
bubbles: true, bubbles: true,
cancelable: true cancelable: true
@ -84,155 +84,63 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
} }
} }
switch (name) { const keyActions = (command) => ({
case 'up': 'up': focusManager.moveUp(sourceElement),
focusManager.moveUp(sourceElement); 'down': focusManager.moveDown(sourceElement),
break; 'left': focusManager.moveLeft(sourceElement),
case 'down': 'right': focusManager.moveRight(sourceElement),
focusManager.moveDown(sourceElement); 'home': appRouter.goHome(),
break; 'settings': appRouter.showSettings(),
case 'left': 'back': () => {
focusManager.moveLeft(sourceElement);
break;
case 'right':
focusManager.moveRight(sourceElement);
break;
case 'home':
appRouter.goHome();
break;
case 'settings':
appRouter.showSettings();
break;
case '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': select(sourceElement),
break; 'nextchapter': playbackManager.nextChapter(),
case 'select': 'next': playbackManager.nextTrack(),
select(sourceElement); 'nexttrack': playbackManager.nextTrack(),
break; 'previous': playbackManager.previousTrack(),
case 'pageup': 'previoustrack': playbackManager.previousTrack(),
break; 'previouschapter': playbackManager.previousChapter(),
case 'pagedown': 'guide': appRouter.showGuide(),
break; 'recordedtv': appRouter.showRecordedTV(),
case 'end': 'livetv': appRouter.showLiveTV(),
break; 'mute': playbackManager.setMute(true),
case 'menu': 'unmute': playbackManager.setMute(false),
break; 'togglemute': playbackManager.toggleMute(),
case 'info': 'channelup': playbackManager.channelUp(),
break; 'channeldown': playbackManager.channelDown(),
case 'nextchapter': 'volumedown': playbackManager.volumeDown(),
playbackManager.nextChapter(); 'volumeup': playbackManager.volumeUp(),
break; 'play': playbackManager.unpause(),
case 'next': 'pause': playbackManager.pause(),
case 'nexttrack': 'playpause': playbackManager.playPause(),
playbackManager.nextTrack(); 'stop': () => {
break;
case 'previous':
case 'previoustrack':
playbackManager.previousTrack();
break;
case 'previouschapter':
playbackManager.previousChapter();
break;
case 'guide':
appRouter.showGuide();
break;
case 'recordedtv':
appRouter.showRecordedTV();
break;
case 'record':
break;
case 'livetv':
appRouter.showLiveTV();
break;
case 'mute':
playbackManager.setMute(true);
break;
case 'unmute':
playbackManager.setMute(false);
break;
case 'togglemute':
playbackManager.toggleMute();
break;
case 'channelup':
playbackManager.channelUp();
break;
case 'channeldown':
playbackManager.channelDown();
break;
case 'volumedown':
playbackManager.volumeDown();
break;
case 'volumeup':
playbackManager.volumeUp();
break;
case 'play':
playbackManager.unpause();
break;
case 'pause':
playbackManager.pause();
break;
case 'playpause':
playbackManager.playPause();
break;
case 'stop':
if (checkCommandTime('stop')) { if (checkCommandTime('stop')) {
playbackManager.stop(); playbackManager.stop();
} }
break; },
case 'changezoom': 'changezoom': playbackManager.toggleAspectRatio(),
playbackManager.toggleAspectRatio(); 'changeaudiotrack': playbackManager.changeAudioStream(),
break; 'changesubtitletrack': playbackManager.changeSubtitleStream(),
case 'changeaudiotrack': 'search': appRouter.showSearch(),
playbackManager.changeAudioStream(); 'favorites': appRouter.showFavorites(),
break; 'fastforward': playbackManager.fastForward(),
case 'changesubtitletrack': 'rewind': playbackManager.rewind(),
playbackManager.changeSubtitleStream(); 'togglefullscreen': playbackManager.toggleFullscreen(),
break; 'disabledisplaymirror': playbackManager.enableDisplayMirroring(false),
case 'search': 'enabledisplaymirror': playbackManager.enableDisplayMirroring(true),
appRouter.showSearch(); 'toggledisplaymirror': playbackManager.toggleDisplayMirroring(),
break; 'nowplaying': appRouter.showNowPlaying(),
case 'favorites': 'repeatnone': playbackManager.setRepeatMode('RepeatNone'),
appRouter.showFavorites(); 'repeatall': playbackManager.setRepeatMode('RepeatAll'),
break; 'repeatone': playbackManager.setRepeatMode('RepeatOne')
case 'fastforward': })[command];
playbackManager.fastForward();
break; keyActions(commandName);
case 'rewind':
playbackManager.rewind();
break;
case 'togglefullscreen':
playbackManager.toggleFullscreen();
break;
case 'disabledisplaymirror':
playbackManager.enableDisplayMirroring(false);
break;
case 'enabledisplaymirror':
playbackManager.enableDisplayMirroring(true);
break;
case 'toggledisplaymirror':
playbackManager.toggleDisplayMirroring();
break;
case 'nowplaying':
appRouter.showNowPlaying();
break;
case 'repeatnone':
playbackManager.setRepeatMode('RepeatNone');
break;
case 'repeatall':
playbackManager.setRepeatMode('RepeatAll');
break;
case 'repeatone':
playbackManager.setRepeatMode('RepeatOne');
break;
default:
break;
}
} }
dom.addEventListener(document, 'click', notify, { dom.addEventListener(document, 'click', notify, {