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

make compatible

This commit is contained in:
grafixeyehero 2019-11-23 23:25:10 +03:00
parent 3f913bcd29
commit 016eb79885
4 changed files with 102 additions and 93 deletions

View file

@ -1,12 +1,12 @@
define([], function () { define(["connectionManager"], function (connectionManager) {
return function () { return function () {
var self = this; var self = this;
self.name = 'Backdrop ScreenSaver'; self.name = "Backdrop ScreenSaver";
self.type = 'screensaver'; self.type = "screensaver";
self.id = 'backdropscreensaver'; self.id = "backdropscreensaver";
self.supportsAnonymous = false; self.supportsAnonymous = false;
var currentSlideshow; var currentSlideshow;
@ -16,7 +16,7 @@ define([], function () {
var query = { var query = {
ImageTypes: "Backdrop", ImageTypes: "Backdrop",
EnableImageTypes: "Backdrop", EnableImageTypes: "Backdrop",
IncludeItemTypes: "Movie,Series,MusicArtist,Game", IncludeItemTypes: "Movie,Series,MusicArtist",
SortBy: "Random", SortBy: "Random",
Recursive: true, Recursive: true,
Fields: "Taglines", Fields: "Taglines",
@ -25,11 +25,12 @@ define([], function () {
Limit: 200 Limit: 200
}; };
Emby.Models.items(query).then(function (result) { var apiClient = connectionManager.currentApiClient();
apiClient.getItems(apiClient.getCurrentUserId(), query).then(function (result) {
if (result.Items.length) { if (result.Items.length) {
require(['slideshow'], function (slideshow) { require(["slideshow"], function (slideshow) {
var newSlideShow = new slideshow({ var newSlideShow = new slideshow({
showTitle: true, showTitle: true,

View file

@ -1,12 +1,12 @@
define(['pluginManager'], function (pluginManager) { define(["pluginManager"], function (pluginManager) {
return function () { return function () {
var self = this; var self = this;
self.name = 'Logo ScreenSaver'; self.name = "Logo ScreenSaver";
self.type = 'screensaver'; self.type = "screensaver";
self.id = 'logoscreensaver'; self.id = "logoscreensaver";
self.supportsAnonymous = true; self.supportsAnonymous = true;
var interval; var interval;
@ -24,7 +24,7 @@ define(['pluginManager'], function (pluginManager) {
rotateOut rotateOut
]; ];
var elem = document.querySelector('.logoScreenSaverImage'); var elem = document.querySelector(".logoScreenSaverImage");
if (elem && elem.animate) { if (elem && elem.animate) {
var random = getRandomInt(0, animations.length - 1); var random = getRandomInt(0, animations.length - 1);
@ -39,95 +39,95 @@ define(['pluginManager'], function (pluginManager) {
function bounceInLeft(elem, iterations) { function bounceInLeft(elem, iterations) {
var keyframes = [ var keyframes = [
{ transform: 'translate3d(-3000px, 0, 0)', opacity: '0', offset: 0 }, { transform: "translate3d(-3000px, 0, 0)", opacity: "0", offset: 0 },
{ transform: 'translate3d(25px, 0, 0)', opacity: '1', offset: 0.6 }, { transform: "translate3d(25px, 0, 0)", opacity: "1", offset: 0.6 },
{ transform: 'translate3d(-100px, 0, 0)', offset: 0.75 }, { transform: "translate3d(-100px, 0, 0)", offset: 0.75 },
{ transform: 'translate3d(5px, 0, 0)', offset: 0.9 }, { transform: "translate3d(5px, 0, 0)", offset: 0.9 },
{ transform: 'none', opacity: '1', offset: 1 }]; { transform: "none", opacity: "1", offset: 1 }];
var timing = { duration: 900, iterations: iterations, easing: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)' }; var timing = { duration: 900, iterations: iterations, easing: "cubic-bezier(0.215, 0.610, 0.355, 1.000)" };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
} }
function bounceInRight(elem, iterations) { function bounceInRight(elem, iterations) {
var keyframes = [ var keyframes = [
{ transform: 'translate3d(3000px, 0, 0)', opacity: '0', offset: 0 }, { transform: "translate3d(3000px, 0, 0)", opacity: "0", offset: 0 },
{ transform: 'translate3d(-25px, 0, 0)', opacity: '1', offset: 0.6 }, { transform: "translate3d(-25px, 0, 0)", opacity: "1", offset: 0.6 },
{ transform: 'translate3d(100px, 0, 0)', offset: 0.75 }, { transform: "translate3d(100px, 0, 0)", offset: 0.75 },
{ transform: 'translate3d(-5px, 0, 0)', offset: 0.9 }, { transform: "translate3d(-5px, 0, 0)", offset: 0.9 },
{ transform: 'none', opacity: '1', offset: 1 }]; { transform: "none", opacity: "1", offset: 1 }];
var timing = { duration: 900, iterations: iterations, easing: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)' }; var timing = { duration: 900, iterations: iterations, easing: "cubic-bezier(0.215, 0.610, 0.355, 1.000)" };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
} }
function shake(elem, iterations) { function shake(elem, iterations) {
var keyframes = [ var keyframes = [
{ transform: 'translate3d(0, 0, 0)', offset: 0 }, { transform: "translate3d(0, 0, 0)", offset: 0 },
{ transform: 'translate3d(-10px, 0, 0)', offset: 0.1 }, { transform: "translate3d(-10px, 0, 0)", offset: 0.1 },
{ transform: 'translate3d(10px, 0, 0)', offset: 0.2 }, { transform: "translate3d(10px, 0, 0)", offset: 0.2 },
{ transform: 'translate3d(-10px, 0, 0)', offset: 0.3 }, { transform: "translate3d(-10px, 0, 0)", offset: 0.3 },
{ transform: 'translate3d(10px, 0, 0)', offset: 0.4 }, { transform: "translate3d(10px, 0, 0)", offset: 0.4 },
{ transform: 'translate3d(-10px, 0, 0)', offset: 0.5 }, { transform: "translate3d(-10px, 0, 0)", offset: 0.5 },
{ transform: 'translate3d(10px, 0, 0)', offset: 0.6 }, { transform: "translate3d(10px, 0, 0)", offset: 0.6 },
{ transform: 'translate3d(-10px, 0, 0)', offset: 0.7 }, { transform: "translate3d(-10px, 0, 0)", offset: 0.7 },
{ transform: 'translate3d(10px, 0, 0)', offset: 0.8 }, { transform: "translate3d(10px, 0, 0)", offset: 0.8 },
{ transform: 'translate3d(-10px, 0, 0)', offset: 0.9 }, { transform: "translate3d(-10px, 0, 0)", offset: 0.9 },
{ transform: 'translate3d(0, 0, 0)', offset: 1 }]; { transform: "translate3d(0, 0, 0)", offset: 1 }];
var timing = { duration: 900, iterations: iterations }; var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
} }
function swing(elem, iterations) { function swing(elem, iterations) {
var keyframes = [ var keyframes = [
{ transform: 'translate(0%)', offset: 0 }, { transform: "translate(0%)", offset: 0 },
{ transform: 'rotate3d(0, 0, 1, 15deg)', offset: 0.2 }, { transform: "rotate3d(0, 0, 1, 15deg)", offset: 0.2 },
{ transform: 'rotate3d(0, 0, 1, -10deg)', offset: 0.4 }, { transform: "rotate3d(0, 0, 1, -10deg)", offset: 0.4 },
{ transform: 'rotate3d(0, 0, 1, 5deg)', offset: 0.6 }, { transform: "rotate3d(0, 0, 1, 5deg)", offset: 0.6 },
{ transform: 'rotate3d(0, 0, 1, -5deg)', offset: 0.8 }, { transform: "rotate3d(0, 0, 1, -5deg)", offset: 0.8 },
{ transform: 'rotate3d(0, 0, 1, 0deg)', offset: 1 }]; { transform: "rotate3d(0, 0, 1, 0deg)", offset: 1 }];
var timing = { duration: 900, iterations: iterations }; var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
} }
function tada(elem, iterations) { function tada(elem, iterations) {
var keyframes = [ var keyframes = [
{ transform: 'scale3d(1, 1, 1)', offset: 0 }, { transform: "scale3d(1, 1, 1)", offset: 0 },
{ transform: 'scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)', offset: 0.1 }, { transform: "scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)", offset: 0.1 },
{ transform: 'scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)', offset: 0.2 }, { transform: "scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg)", offset: 0.2 },
{ transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)', offset: 0.3 }, { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)", offset: 0.3 },
{ transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)', offset: 0.4 }, { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)", offset: 0.4 },
{ transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)', offset: 0.5 }, { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)", offset: 0.5 },
{ transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)', offset: 0.6 }, { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)", offset: 0.6 },
{ transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)', offset: 0.7 }, { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)", offset: 0.7 },
{ transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)', offset: 0.8 }, { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)", offset: 0.8 },
{ transform: 'scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)', offset: 0.9 }, { transform: "scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)", offset: 0.9 },
{ transform: 'scale3d(1, 1, 1)', offset: 1 }]; { transform: "scale3d(1, 1, 1)", offset: 1 }];
var timing = { duration: 900, iterations: iterations }; var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
} }
function wobble(elem, iterations) { function wobble(elem, iterations) {
var keyframes = [ var keyframes = [
{ transform: 'translate(0%)', offset: 0 }, { transform: "translate(0%)", offset: 0 },
{ transform: 'translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)', offset: 0.15 }, { transform: "translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)", offset: 0.15 },
{ transform: 'translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)', offset: 0.45 }, { transform: "translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)", offset: 0.45 },
{ transform: 'translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)', offset: 0.6 }, { transform: "translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)", offset: 0.6 },
{ transform: 'translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)', offset: 0.75 }, { transform: "translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)", offset: 0.75 },
{ transform: 'translateX(0%)', offset: 1 }]; { transform: "translateX(0%)", offset: 1 }];
var timing = { duration: 900, iterations: iterations }; var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
} }
function rotateIn(elem, iterations) { function rotateIn(elem, iterations) {
var transformOrigin = elem.style['transform-origin']; var transformOrigin = elem.style["transform-origin"];
var keyframes = [{ transform: 'rotate3d(0, 0, 1, -200deg)', opacity: '0', transformOrigin: 'center', offset: 0 }, var keyframes = [{ transform: "rotate3d(0, 0, 1, -200deg)", opacity: "0", transformOrigin: "center", offset: 0 },
{ transform: 'none', opacity: '1', transformOrigin: 'center', offset: 1 }]; { transform: "none", opacity: "1", transformOrigin: "center", offset: 1 }];
var timing = { duration: 900, iterations: iterations }; var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
} }
function rotateOut(elem, iterations) { function rotateOut(elem, iterations) {
var transformOrigin = elem.style['transform-origin']; var transformOrigin = elem.style["transform-origin"];
var keyframes = [{ transform: 'none', opacity: '1', transformOrigin: 'center', offset: 0 }, var keyframes = [{ transform: "none", opacity: "1", transformOrigin: "center", offset: 0 },
{ transform: 'rotate3d(0, 0, 1, 200deg)', opacity: '0', transformOrigin: 'center', offset: 1 }]; { transform: "rotate3d(0, 0, 1, 200deg)", opacity: "0", transformOrigin: "center", offset: 1 }];
var timing = { duration: 900, iterations: iterations }; var timing = { duration: 900, iterations: iterations };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
@ -135,8 +135,8 @@ define(['pluginManager'], function (pluginManager) {
function fadeOut(elem, iterations) { function fadeOut(elem, iterations) {
var keyframes = [ var keyframes = [
{ opacity: '1', offset: 0 }, { opacity: "1", offset: 0 },
{ opacity: '0', offset: 1 }]; { opacity: "0", offset: 1 }];
var timing = { duration: 400, iterations: iterations }; var timing = { duration: 400, iterations: iterations };
return elem.animate(keyframes, timing); return elem.animate(keyframes, timing);
} }
@ -150,16 +150,16 @@ define(['pluginManager'], function (pluginManager) {
self.show = function () { self.show = function () {
require(['css!' + pluginManager.mapPath(self, 'style.css')], function () { require(["css!" + pluginManager.mapPath(self, "style.css")], function () {
var elem = document.querySelector('.logoScreenSaver'); var elem = document.querySelector(".logoScreenSaver");
if (!elem) { if (!elem) {
elem = document.createElement('div'); elem = document.createElement("div");
elem.classList.add('logoScreenSaver'); elem.classList.add("logoScreenSaver");
document.body.appendChild(elem); document.body.appendChild(elem);
elem.innerHTML = '<img class="logoScreenSaverImage" src="' + pluginManager.mapPath(self, 'logowhite.png') + '" />'; elem.innerHTML = '<img class="logoScreenSaverImage" src="' + pluginManager.mapPath(self, "logowhite.png") + '" />';
} }
stopInterval(); stopInterval();
@ -171,7 +171,7 @@ define(['pluginManager'], function (pluginManager) {
stopInterval(); stopInterval();
var elem = document.querySelector('.logoScreenSaver'); var elem = document.querySelector(".logoScreenSaver");
if (elem) { if (elem) {

View file

@ -1,4 +1,4 @@
define(['events', 'playbackManager'], function (events, playbackManager) { define(["events", "playbackManager", "pluginManager"], function (events, playbackManager, pluginManager) {
function getMinIdleTime() { function getMinIdleTime() {
// Returns the minimum amount of idle time required before the screen saver can be displayed // Returns the minimum amount of idle time required before the screen saver can be displayed
@ -11,9 +11,9 @@ define(['events', 'playbackManager'], function (events, playbackManager) {
return new Date().getTime() - lastFunctionalEvent; return new Date().getTime() - lastFunctionalEvent;
} }
events.on(playbackManager, 'playbackstop', function (e, stopInfo) { events.on(playbackManager, "playbackstop", function (e, stopInfo) {
var state = stopInfo.state; var state = stopInfo.state;
if (state.NowPlayingItem && state.NowPlayingItem.MediaType == 'Video') { if (state.NowPlayingItem && state.NowPlayingItem.MediaType == "Video") {
lastFunctionalEvent = new Date().getTime(); lastFunctionalEvent = new Date().getTime();
} }
}); });
@ -26,35 +26,35 @@ define(['events', 'playbackManager'], function (events, playbackManager) {
function showScreenSaver(screensaver) { function showScreenSaver(screensaver) {
if (activeScreenSaver) { if (activeScreenSaver) {
throw new Error('An existing screensaver is already active.'); throw new Error("An existing screensaver is already active.");
} }
console.log('Showing screensaver ' + screensaver.name); console.log("Showing screensaver " + screensaver.name);
screensaver.show(); screensaver.show();
activeScreenSaver = screensaver; activeScreenSaver = screensaver;
if (screensaver.hideOnClick !== false) { if (screensaver.hideOnClick !== false) {
window.addEventListener('click', hide, true); window.addEventListener("click", hide, true);
} }
if (screensaver.hideOnMouse !== false) { if (screensaver.hideOnMouse !== false) {
window.addEventListener('mousemove', hide, true); window.addEventListener("mousemove", hide, true);
} }
if (screensaver.hideOnKey !== false) { if (screensaver.hideOnKey !== false) {
window.addEventListener('keydown', hide, true); window.addEventListener("keydown", hide, true);
} }
} }
function hide() { function hide() {
if (activeScreenSaver) { if (activeScreenSaver) {
console.log('Hiding screensaver'); console.log("Hiding screensaver");
activeScreenSaver.hide(); activeScreenSaver.hide();
activeScreenSaver = null; activeScreenSaver = null;
} }
window.removeEventListener('click', hide, true); window.removeEventListener("click", hide, true);
window.removeEventListener('mousemove', hide, true); window.removeEventListener("mousemove", hide, true);
window.removeEventListener('keydown', hide, true); window.removeEventListener("keydown", hide, true);
} }
self.isShowing = function () { self.isShowing = function () {
@ -62,11 +62,11 @@ define(['events', 'playbackManager'], function (events, playbackManager) {
}; };
self.show = function () { self.show = function () {
var screensavers = Emby.PluginManager.ofType('screensaver'); var screensavers = pluginManager.ofType("screensaver");
require(['connectionManager'], function (connectionManager) { require(["connectionManager"], function (connectionManager) {
var server = connectionManager.currentLoggedInServer(); var server = connectionManager.currentApiClient();
show(screensavers, server); show(screensavers, server);
}); });
@ -109,7 +109,7 @@ define(['events', 'playbackManager'], function (events, playbackManager) {
return; return;
} }
require(['inputmanager'], function (inputmanager) { require(["inputmanager"], function (inputmanager) {
if (inputmanager.idleTime() < getMinIdleTime()) { if (inputmanager.idleTime() < getMinIdleTime()) {
return; return;

View file

@ -528,7 +528,9 @@ var AppInfo = {};
"components/htmlaudioplayer/plugin", "components/htmlaudioplayer/plugin",
"components/htmlvideoplayer/plugin", "components/htmlvideoplayer/plugin",
"components/photoplayer/plugin", "components/photoplayer/plugin",
"components/youtubeplayer/plugin" "components/youtubeplayer/plugin",
"components/backdropscreensaver/plugin",
"components/logoscreensaver/plugin"
]; ];
if (appHost.supports("remotecontrol")) { if (appHost.supports("remotecontrol")) {
@ -590,6 +592,8 @@ var AppInfo = {};
require(["playerSelectionMenu", "components/playback/remotecontrolautoplay"]); require(["playerSelectionMenu", "components/playback/remotecontrolautoplay"]);
} }
require(["components/screensavermanager"]);
if (!appHost.supports("physicalvolumecontrol") || browser.touch) { if (!appHost.supports("physicalvolumecontrol") || browser.touch) {
require(["components/playback/volumeosd"]); require(["components/playback/volumeosd"]);
} }
@ -667,7 +671,8 @@ var AppInfo = {};
autoPlayDetect: componentsPath + "/playback/autoplaydetect", autoPlayDetect: componentsPath + "/playback/autoplaydetect",
nowPlayingHelper: componentsPath + "/playback/nowplayinghelper", nowPlayingHelper: componentsPath + "/playback/nowplayinghelper",
pluginManager: componentsPath + "/pluginManager", pluginManager: componentsPath + "/pluginManager",
packageManager: componentsPath + "/packagemanager" packageManager: componentsPath + "/packagemanager",
screensaverManager: componentsPath + "/screensavermanager"
}; };
requirejs.onError = onRequireJsError; requirejs.onError = onRequireJsError;
@ -710,6 +715,9 @@ var AppInfo = {};
require(["css!css/site"]); require(["css!css/site"]);
// alias
define("inputmanager", ["inputManager"], returnFirstDependency);
// define styles // define styles
// TODO determine which of these files can be moved to the components themselves // TODO determine which of these files can be moved to the components themselves
define("material-icons", ["css!css/material-icons/style"], returnFirstDependency); define("material-icons", ["css!css/material-icons/style"], returnFirstDependency);