mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Beautified all js in web dashboard
This commit is contained in:
parent
5895f209e7
commit
6bfd795635
346 changed files with 72978 additions and 375 deletions
|
@ -1 +1,145 @@
|
|||
define(["connectionManager","playbackManager","events","inputManager","focusManager","appRouter"],function(connectionManager,playbackManager,events,inputManager,focusManager,appRouter){"use strict";function notifyApp(){inputManager.notify()}function displayMessage(cmd){var args=cmd.Arguments;args.TimeoutMs?require(["toast"],function(toast){toast({title:args.Header,text:args.Text})}):require(["alert"],function(alert){alert({title:args.Header,text:args.Text})})}function displayContent(cmd,apiClient){playbackManager.isPlayingLocally(["Video","Book","Game"])||appRouter.showItem(cmd.Arguments.ItemId,apiClient.serverId())}function playTrailers(apiClient,itemId){apiClient.getItem(apiClient.getCurrentUserId(),itemId).then(function(item){playbackManager.playTrailers(item)})}function processGeneralCommand(cmd,apiClient){switch(cmd.Name){case"Select":return void inputManager.trigger("select");case"Back":return void inputManager.trigger("back");case"MoveUp":return void inputManager.trigger("up");case"MoveDown":return void inputManager.trigger("down");case"MoveLeft":return void inputManager.trigger("left");case"MoveRight":return void inputManager.trigger("right");case"PageUp":return void inputManager.trigger("pageup");case"PageDown":return void inputManager.trigger("pagedown");case"PlayTrailers":playTrailers(apiClient,cmd.Arguments.ItemId);break;case"SetRepeatMode":playbackManager.setRepeatMode(cmd.Arguments.RepeatMode);break;case"VolumeUp":return void inputManager.trigger("volumeup");case"VolumeDown":return void inputManager.trigger("volumedown");case"ChannelUp":return void inputManager.trigger("channelup");case"ChannelDown":return void inputManager.trigger("channeldown");case"Mute":return void inputManager.trigger("mute");case"Unmute":return void inputManager.trigger("unmute");case"ToggleMute":return void inputManager.trigger("togglemute");case"SetVolume":notifyApp(),playbackManager.setVolume(cmd.Arguments.Volume);break;case"SetAudioStreamIndex":notifyApp(),playbackManager.setAudioStreamIndex(parseInt(cmd.Arguments.Index));break;case"SetSubtitleStreamIndex":notifyApp(),playbackManager.setSubtitleStreamIndex(parseInt(cmd.Arguments.Index));break;case"ToggleFullscreen":return void inputManager.trigger("togglefullscreen");case"GoHome":return void inputManager.trigger("home");case"GoToSettings":return void inputManager.trigger("settings");case"DisplayContent":displayContent(cmd,apiClient);break;case"GoToSearch":return void inputManager.trigger("search");case"DisplayMessage":displayMessage(cmd);break;case"ToggleOsd":case"ToggleContextMenu":case"TakeScreenShot":case"SendKey":break;case"SendString":focusManager.sendText(cmd.Arguments.String);break;default:console.log("processGeneralCommand does not recognize: "+cmd.Name)}notifyApp()}function onMessageReceived(e,msg){var apiClient=this;if("Play"===msg.MessageType){notifyApp();var serverId=apiClient.serverInfo().Id;"PlayNext"===msg.Data.PlayCommand?playbackManager.queueNext({ids:msg.Data.ItemIds,serverId:serverId}):"PlayLast"===msg.Data.PlayCommand?playbackManager.queue({ids:msg.Data.ItemIds,serverId:serverId}):playbackManager.play({ids:msg.Data.ItemIds,startPositionTicks:msg.Data.StartPositionTicks,mediaSourceId:msg.Data.MediaSourceId,audioStreamIndex:msg.Data.AudioStreamIndex,subtitleStreamIndex:msg.Data.SubtitleStreamIndex,startIndex:msg.Data.StartIndex,serverId:serverId})}else if("Playstate"===msg.MessageType)"Stop"===msg.Data.Command?inputManager.trigger("stop"):"Pause"===msg.Data.Command?inputManager.trigger("pause"):"Unpause"===msg.Data.Command?inputManager.trigger("play"):"PlayPause"===msg.Data.Command?inputManager.trigger("playpause"):"Seek"===msg.Data.Command?playbackManager.seek(msg.Data.SeekPositionTicks):"NextTrack"===msg.Data.Command?inputManager.trigger("next"):"PreviousTrack"===msg.Data.Command?inputManager.trigger("previous"):notifyApp();else if("GeneralCommand"===msg.MessageType){var cmd=msg.Data;processGeneralCommand(cmd,apiClient)}else if("UserDataChanged"===msg.MessageType){if(msg.Data.UserId===apiClient.getCurrentUserId())for(var i=0,length=msg.Data.UserDataList.length;i<length;i++)events.trigger(serverNotifications,"UserDataChanged",[apiClient,msg.Data.UserDataList[i]])}else events.trigger(serverNotifications,msg.MessageType,[apiClient,msg.Data])}function bindEvents(apiClient){events.off(apiClient,"message",onMessageReceived),events.on(apiClient,"message",onMessageReceived)}var serverNotifications={};return connectionManager.getApiClients().forEach(bindEvents),events.on(connectionManager,"apiclientcreated",function(e,newApiClient){bindEvents(newApiClient)}),serverNotifications});
|
||||
define(["connectionManager", "playbackManager", "events", "inputManager", "focusManager", "appRouter"], function(connectionManager, playbackManager, events, inputManager, focusManager, appRouter) {
|
||||
"use strict";
|
||||
|
||||
function notifyApp() {
|
||||
inputManager.notify()
|
||||
}
|
||||
|
||||
function displayMessage(cmd) {
|
||||
var args = cmd.Arguments;
|
||||
args.TimeoutMs ? require(["toast"], function(toast) {
|
||||
toast({
|
||||
title: args.Header,
|
||||
text: args.Text
|
||||
})
|
||||
}) : require(["alert"], function(alert) {
|
||||
alert({
|
||||
title: args.Header,
|
||||
text: args.Text
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function displayContent(cmd, apiClient) {
|
||||
playbackManager.isPlayingLocally(["Video", "Book", "Game"]) || appRouter.showItem(cmd.Arguments.ItemId, apiClient.serverId())
|
||||
}
|
||||
|
||||
function playTrailers(apiClient, itemId) {
|
||||
apiClient.getItem(apiClient.getCurrentUserId(), itemId).then(function(item) {
|
||||
playbackManager.playTrailers(item)
|
||||
})
|
||||
}
|
||||
|
||||
function processGeneralCommand(cmd, apiClient) {
|
||||
switch (cmd.Name) {
|
||||
case "Select":
|
||||
return void inputManager.trigger("select");
|
||||
case "Back":
|
||||
return void inputManager.trigger("back");
|
||||
case "MoveUp":
|
||||
return void inputManager.trigger("up");
|
||||
case "MoveDown":
|
||||
return void inputManager.trigger("down");
|
||||
case "MoveLeft":
|
||||
return void inputManager.trigger("left");
|
||||
case "MoveRight":
|
||||
return void inputManager.trigger("right");
|
||||
case "PageUp":
|
||||
return void inputManager.trigger("pageup");
|
||||
case "PageDown":
|
||||
return void inputManager.trigger("pagedown");
|
||||
case "PlayTrailers":
|
||||
playTrailers(apiClient, cmd.Arguments.ItemId);
|
||||
break;
|
||||
case "SetRepeatMode":
|
||||
playbackManager.setRepeatMode(cmd.Arguments.RepeatMode);
|
||||
break;
|
||||
case "VolumeUp":
|
||||
return void inputManager.trigger("volumeup");
|
||||
case "VolumeDown":
|
||||
return void inputManager.trigger("volumedown");
|
||||
case "ChannelUp":
|
||||
return void inputManager.trigger("channelup");
|
||||
case "ChannelDown":
|
||||
return void inputManager.trigger("channeldown");
|
||||
case "Mute":
|
||||
return void inputManager.trigger("mute");
|
||||
case "Unmute":
|
||||
return void inputManager.trigger("unmute");
|
||||
case "ToggleMute":
|
||||
return void inputManager.trigger("togglemute");
|
||||
case "SetVolume":
|
||||
notifyApp(), playbackManager.setVolume(cmd.Arguments.Volume);
|
||||
break;
|
||||
case "SetAudioStreamIndex":
|
||||
notifyApp(), playbackManager.setAudioStreamIndex(parseInt(cmd.Arguments.Index));
|
||||
break;
|
||||
case "SetSubtitleStreamIndex":
|
||||
notifyApp(), playbackManager.setSubtitleStreamIndex(parseInt(cmd.Arguments.Index));
|
||||
break;
|
||||
case "ToggleFullscreen":
|
||||
return void inputManager.trigger("togglefullscreen");
|
||||
case "GoHome":
|
||||
return void inputManager.trigger("home");
|
||||
case "GoToSettings":
|
||||
return void inputManager.trigger("settings");
|
||||
case "DisplayContent":
|
||||
displayContent(cmd, apiClient);
|
||||
break;
|
||||
case "GoToSearch":
|
||||
return void inputManager.trigger("search");
|
||||
case "DisplayMessage":
|
||||
displayMessage(cmd);
|
||||
break;
|
||||
case "ToggleOsd":
|
||||
case "ToggleContextMenu":
|
||||
case "TakeScreenShot":
|
||||
case "SendKey":
|
||||
break;
|
||||
case "SendString":
|
||||
focusManager.sendText(cmd.Arguments.String);
|
||||
break;
|
||||
default:
|
||||
console.log("processGeneralCommand does not recognize: " + cmd.Name)
|
||||
}
|
||||
notifyApp()
|
||||
}
|
||||
|
||||
function onMessageReceived(e, msg) {
|
||||
var apiClient = this;
|
||||
if ("Play" === msg.MessageType) {
|
||||
notifyApp();
|
||||
var serverId = apiClient.serverInfo().Id;
|
||||
"PlayNext" === msg.Data.PlayCommand ? playbackManager.queueNext({
|
||||
ids: msg.Data.ItemIds,
|
||||
serverId: serverId
|
||||
}) : "PlayLast" === msg.Data.PlayCommand ? playbackManager.queue({
|
||||
ids: msg.Data.ItemIds,
|
||||
serverId: serverId
|
||||
}) : playbackManager.play({
|
||||
ids: msg.Data.ItemIds,
|
||||
startPositionTicks: msg.Data.StartPositionTicks,
|
||||
mediaSourceId: msg.Data.MediaSourceId,
|
||||
audioStreamIndex: msg.Data.AudioStreamIndex,
|
||||
subtitleStreamIndex: msg.Data.SubtitleStreamIndex,
|
||||
startIndex: msg.Data.StartIndex,
|
||||
serverId: serverId
|
||||
})
|
||||
} else if ("Playstate" === msg.MessageType) "Stop" === msg.Data.Command ? inputManager.trigger("stop") : "Pause" === msg.Data.Command ? inputManager.trigger("pause") : "Unpause" === msg.Data.Command ? inputManager.trigger("play") : "PlayPause" === msg.Data.Command ? inputManager.trigger("playpause") : "Seek" === msg.Data.Command ? playbackManager.seek(msg.Data.SeekPositionTicks) : "NextTrack" === msg.Data.Command ? inputManager.trigger("next") : "PreviousTrack" === msg.Data.Command ? inputManager.trigger("previous") : notifyApp();
|
||||
else if ("GeneralCommand" === msg.MessageType) {
|
||||
var cmd = msg.Data;
|
||||
processGeneralCommand(cmd, apiClient)
|
||||
} else if ("UserDataChanged" === msg.MessageType) {
|
||||
if (msg.Data.UserId === apiClient.getCurrentUserId())
|
||||
for (var i = 0, length = msg.Data.UserDataList.length; i < length; i++) events.trigger(serverNotifications, "UserDataChanged", [apiClient, msg.Data.UserDataList[i]])
|
||||
} else events.trigger(serverNotifications, msg.MessageType, [apiClient, msg.Data])
|
||||
}
|
||||
|
||||
function bindEvents(apiClient) {
|
||||
events.off(apiClient, "message", onMessageReceived), events.on(apiClient, "message", onMessageReceived)
|
||||
}
|
||||
var serverNotifications = {};
|
||||
return connectionManager.getApiClients().forEach(bindEvents), events.on(connectionManager, "apiclientcreated", function(e, newApiClient) {
|
||||
bindEvents(newApiClient)
|
||||
}), serverNotifications
|
||||
});
|
File diff suppressed because one or more lines are too long
|
@ -1 +1,75 @@
|
|||
define(["inputManager","focusManager","browser","layoutManager","events","dom"],function(inputmanager,focusManager,browser,layoutManager,events,dom){"use strict";function mouseIdleTime(){return(new Date).getTime()-lastMouseInputTime}function notifyApp(){inputmanager.notifyMouseMove()}function removeIdleClasses(){var classList=document.body.classList;classList.remove("mouseIdle"),classList.remove("mouseIdle-tv")}function addIdleClasses(){var classList=document.body.classList;classList.add("mouseIdle"),layoutManager.tv&&classList.add("mouseIdle-tv")}function onPointerMove(e){var eventX=e.screenX,eventY=e.screenY;if(void 0!==eventX||void 0!==eventY){var obj=lastPointerMoveData;if(!obj)return void(lastPointerMoveData={x:eventX,y:eventY});Math.abs(eventX-obj.x)<10&&Math.abs(eventY-obj.y)<10||(obj.x=eventX,obj.y=eventY,lastMouseInputTime=(new Date).getTime(),notifyApp(),isMouseIdle&&(isMouseIdle=!1,removeIdleClasses(),events.trigger(self,"mouseactive")))}}function onPointerEnter(e){if("mouse"===(e.pointerType||(layoutManager.mobile?"touch":"mouse"))&&!isMouseIdle){var parent=focusManager.focusableParent(e.target);parent&&focusManager.focus(parent)}}function enableFocusWithMouse(){return!!layoutManager.tv&&(!browser.web0s&&!!browser.tv)}function onMouseInterval(){!isMouseIdle&&mouseIdleTime()>=5e3&&(isMouseIdle=!0,addIdleClasses(),events.trigger(self,"mouseidle"))}function startMouseInterval(){mouseInterval||(mouseInterval=setInterval(onMouseInterval,5e3))}function stopMouseInterval(){var interval=mouseInterval;interval&&(clearInterval(interval),mouseInterval=null),removeIdleClasses()}function initMouse(){stopMouseInterval(),dom.removeEventListener(document,window.PointerEvent?"pointermove":"mousemove",onPointerMove,{passive:!0}),layoutManager.mobile||(startMouseInterval(),dom.addEventListener(document,window.PointerEvent?"pointermove":"mousemove",onPointerMove,{passive:!0})),dom.removeEventListener(document,window.PointerEvent?"pointerenter":"mouseenter",onPointerEnter,{capture:!0,passive:!0}),enableFocusWithMouse()&&dom.addEventListener(document,window.PointerEvent?"pointerenter":"mouseenter",onPointerEnter,{capture:!0,passive:!0})}var isMouseIdle,lastPointerMoveData,mouseInterval,self={},lastMouseInputTime=(new Date).getTime();return initMouse(),events.on(layoutManager,"modechange",initMouse),self});
|
||||
define(["inputManager", "focusManager", "browser", "layoutManager", "events", "dom"], function(inputmanager, focusManager, browser, layoutManager, events, dom) {
|
||||
"use strict";
|
||||
|
||||
function mouseIdleTime() {
|
||||
return (new Date).getTime() - lastMouseInputTime
|
||||
}
|
||||
|
||||
function notifyApp() {
|
||||
inputmanager.notifyMouseMove()
|
||||
}
|
||||
|
||||
function removeIdleClasses() {
|
||||
var classList = document.body.classList;
|
||||
classList.remove("mouseIdle"), classList.remove("mouseIdle-tv")
|
||||
}
|
||||
|
||||
function addIdleClasses() {
|
||||
var classList = document.body.classList;
|
||||
classList.add("mouseIdle"), layoutManager.tv && classList.add("mouseIdle-tv")
|
||||
}
|
||||
|
||||
function onPointerMove(e) {
|
||||
var eventX = e.screenX,
|
||||
eventY = e.screenY;
|
||||
if (void 0 !== eventX || void 0 !== eventY) {
|
||||
var obj = lastPointerMoveData;
|
||||
if (!obj) return void(lastPointerMoveData = {
|
||||
x: eventX,
|
||||
y: eventY
|
||||
});
|
||||
Math.abs(eventX - obj.x) < 10 && Math.abs(eventY - obj.y) < 10 || (obj.x = eventX, obj.y = eventY, lastMouseInputTime = (new Date).getTime(), notifyApp(), isMouseIdle && (isMouseIdle = !1, removeIdleClasses(), events.trigger(self, "mouseactive")))
|
||||
}
|
||||
}
|
||||
|
||||
function onPointerEnter(e) {
|
||||
if ("mouse" === (e.pointerType || (layoutManager.mobile ? "touch" : "mouse")) && !isMouseIdle) {
|
||||
var parent = focusManager.focusableParent(e.target);
|
||||
parent && focusManager.focus(parent)
|
||||
}
|
||||
}
|
||||
|
||||
function enableFocusWithMouse() {
|
||||
return !!layoutManager.tv && (!browser.web0s && !!browser.tv)
|
||||
}
|
||||
|
||||
function onMouseInterval() {
|
||||
!isMouseIdle && mouseIdleTime() >= 5e3 && (isMouseIdle = !0, addIdleClasses(), events.trigger(self, "mouseidle"))
|
||||
}
|
||||
|
||||
function startMouseInterval() {
|
||||
mouseInterval || (mouseInterval = setInterval(onMouseInterval, 5e3))
|
||||
}
|
||||
|
||||
function stopMouseInterval() {
|
||||
var interval = mouseInterval;
|
||||
interval && (clearInterval(interval), mouseInterval = null), removeIdleClasses()
|
||||
}
|
||||
|
||||
function initMouse() {
|
||||
stopMouseInterval(), dom.removeEventListener(document, window.PointerEvent ? "pointermove" : "mousemove", onPointerMove, {
|
||||
passive: !0
|
||||
}), layoutManager.mobile || (startMouseInterval(), dom.addEventListener(document, window.PointerEvent ? "pointermove" : "mousemove", onPointerMove, {
|
||||
passive: !0
|
||||
})), dom.removeEventListener(document, window.PointerEvent ? "pointerenter" : "mouseenter", onPointerEnter, {
|
||||
capture: !0,
|
||||
passive: !0
|
||||
}), enableFocusWithMouse() && dom.addEventListener(document, window.PointerEvent ? "pointerenter" : "mouseenter", onPointerEnter, {
|
||||
capture: !0,
|
||||
passive: !0
|
||||
})
|
||||
}
|
||||
var isMouseIdle, lastPointerMoveData, mouseInterval, self = {},
|
||||
lastMouseInputTime = (new Date).getTime();
|
||||
return initMouse(), events.on(layoutManager, "modechange", initMouse), self
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue