mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
merge branch master into config
This commit is contained in:
commit
850df11f27
351 changed files with 12788 additions and 5249 deletions
|
@ -221,6 +221,13 @@ var Dashboard = {
|
|||
};
|
||||
appHost.getPushTokenInfo();
|
||||
return capabilities = Object.assign(capabilities, appHost.getPushTokenInfo());
|
||||
},
|
||||
selectServer: function () {
|
||||
if (window.NativeShell && typeof window.NativeShell.selectServer === "function") {
|
||||
window.NativeShell.selectServer();
|
||||
} else {
|
||||
Dashboard.navigate("selectserver.html");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -273,18 +280,18 @@ var AppInfo = {};
|
|||
|
||||
capabilities.DeviceProfile = deviceProfile;
|
||||
|
||||
var connectionManager = new ConnectionManager(credentialProviderInstance, apphost.appName(), apphost.appVersion(), apphost.deviceName(), apphost.deviceId(), capabilities, window.devicePixelRatio);
|
||||
var connectionManager = new ConnectionManager(credentialProviderInstance, apphost.appName(), apphost.appVersion(), apphost.deviceName(), apphost.deviceId(), capabilities);
|
||||
|
||||
defineConnectionManager(connectionManager);
|
||||
bindConnectionManagerEvents(connectionManager, events, userSettings);
|
||||
|
||||
if (!AppInfo.isNativeApp) {
|
||||
console.log("loading ApiClient singleton");
|
||||
console.debug("loading ApiClient singleton");
|
||||
|
||||
return require(["apiclient"], function (apiClientFactory) {
|
||||
console.log("creating ApiClient singleton");
|
||||
console.debug("creating ApiClient singleton");
|
||||
|
||||
var apiClient = new apiClientFactory(Dashboard.serverAddress(), apphost.appName(), apphost.appVersion(), apphost.deviceName(), apphost.deviceId(), window.devicePixelRatio);
|
||||
var apiClient = new apiClientFactory(Dashboard.serverAddress(), apphost.appName(), apphost.appVersion(), apphost.deviceName(), apphost.deviceId());
|
||||
|
||||
apiClient.enableAutomaticNetworking = false;
|
||||
apiClient.manualAddressOnly = true;
|
||||
|
@ -294,7 +301,7 @@ var AppInfo = {};
|
|||
window.ApiClient = apiClient;
|
||||
localApiClient = apiClient;
|
||||
|
||||
console.log("loaded ApiClient singleton");
|
||||
console.debug("loaded ApiClient singleton");
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -328,7 +335,7 @@ var AppInfo = {};
|
|||
try {
|
||||
playbackManager.onAppClose();
|
||||
} catch (err) {
|
||||
console.log("error in onAppClose: " + err);
|
||||
console.error("error in onAppClose: " + err);
|
||||
}
|
||||
});
|
||||
return playbackManager;
|
||||
|
@ -348,45 +355,12 @@ var AppInfo = {};
|
|||
return headroom;
|
||||
}
|
||||
|
||||
function getCastSenderApiLoader() {
|
||||
var ccLoaded = false;
|
||||
return {
|
||||
load: function () {
|
||||
if (ccLoaded) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
var fileref = document.createElement("script");
|
||||
fileref.setAttribute("type", "text/javascript");
|
||||
|
||||
fileref.onload = function () {
|
||||
ccLoaded = true;
|
||||
resolve();
|
||||
};
|
||||
|
||||
fileref.setAttribute("src", "https://www.gstatic.com/cv/js/sender/v1/cast_sender.js");
|
||||
document.querySelector("head").appendChild(fileref);
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function getDummyCastSenderApiLoader() {
|
||||
return {
|
||||
load: function () {
|
||||
window.chrome = window.chrome || {};
|
||||
return Promise.resolve();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function createSharedAppFooter(appFooter) {
|
||||
return new appFooter({});
|
||||
}
|
||||
|
||||
function onRequireJsError(requireType, requireModules) {
|
||||
console.log("RequireJS error: " + (requireType || "unknown") + ". Failed modules: " + (requireModules || []).join(","));
|
||||
console.error("RequireJS error: " + (requireType || "unknown") + ". Failed modules: " + (requireModules || []).join(","));
|
||||
}
|
||||
|
||||
function defineResizeObserver() {
|
||||
|
@ -432,28 +406,16 @@ var AppInfo = {};
|
|||
defineResizeObserver();
|
||||
define("dialog", [componentsPath + "/dialog/dialog"], returnFirstDependency);
|
||||
|
||||
if (preferNativeAlerts && window.confirm) {
|
||||
define("confirm", [componentsPath + "/confirm/nativeconfirm"], returnFirstDependency);
|
||||
} else {
|
||||
define("confirm", [componentsPath + "/confirm/confirm"], returnFirstDependency);
|
||||
}
|
||||
define("confirm", [componentsPath + "/confirm/confirm"], returnFirstDependency);
|
||||
|
||||
if ((preferNativeAlerts || browser.xboxOne) && window.confirm) {
|
||||
define("prompt", [componentsPath + "/prompt/nativeprompt"], returnFirstDependency);
|
||||
} else {
|
||||
define("prompt", [componentsPath + "/prompt/prompt"], returnFirstDependency);
|
||||
}
|
||||
define("prompt", [componentsPath + "/prompt/prompt"], returnFirstDependency);
|
||||
|
||||
define("loading", [componentsPath + "/loading/loading"], returnFirstDependency);
|
||||
define("multi-download", [componentsPath + "/multidownload"], returnFirstDependency);
|
||||
define("fileDownloader", [componentsPath + "/filedownloader"], returnFirstDependency);
|
||||
define("localassetmanager", [bowerPath + "/apiclient/localassetmanager"], returnFirstDependency);
|
||||
|
||||
if ("cordova" === self.appMode || "android" === self.appMode) {
|
||||
define("castSenderApiLoader", [], getDummyCastSenderApiLoader);
|
||||
} else {
|
||||
define("castSenderApiLoader", [], getCastSenderApiLoader);
|
||||
}
|
||||
define("castSenderApiLoader", [componentsPath + "/castSenderApi"], returnFirstDependency);
|
||||
|
||||
define("transfermanager", [bowerPath + "/apiclient/sync/transfermanager"], returnFirstDependency);
|
||||
define("filerepository", [bowerPath + "/apiclient/sync/filerepository"], returnFirstDependency);
|
||||
|
@ -474,7 +436,7 @@ var AppInfo = {};
|
|||
|
||||
Promise.all(promises).then(function () {
|
||||
createConnectionManager().then(function () {
|
||||
console.log("initAfterDependencies promises resolved");
|
||||
console.debug("initAfterDependencies promises resolved");
|
||||
|
||||
require(["globalize", "browser"], function (globalize, browser) {
|
||||
window.Globalize = globalize;
|
||||
|
@ -485,6 +447,7 @@ var AppInfo = {};
|
|||
require(["keyboardnavigation"], function(keyboardnavigation) {
|
||||
keyboardnavigation.enable();
|
||||
});
|
||||
require(["mouseManager"]);
|
||||
require(["focusPreventScroll"]);
|
||||
require(["autoFocuser"], function(autoFocuser) {
|
||||
autoFocuser.enable();
|
||||
|
@ -518,10 +481,10 @@ var AppInfo = {};
|
|||
document.title = Globalize.translateDocument(document.title, "core");
|
||||
|
||||
if (browser.tv && !browser.android) {
|
||||
console.log("Using system fonts with explicit sizes");
|
||||
console.debug("using system fonts with explicit sizes");
|
||||
require(["systemFontsSizedCss"]);
|
||||
} else {
|
||||
console.log("Using default fonts");
|
||||
console.debug("using default fonts");
|
||||
require(["systemFontsCss"]);
|
||||
}
|
||||
|
||||
|
@ -533,7 +496,7 @@ var AppInfo = {};
|
|||
}
|
||||
|
||||
function loadPlugins(appHost, browser, shell) {
|
||||
console.log("Loading installed plugins");
|
||||
console.debug("loading installed plugins");
|
||||
var list = [
|
||||
"components/playback/playaccessvalidation",
|
||||
"components/playback/experimentalwarnings",
|
||||
|
@ -575,13 +538,13 @@ var AppInfo = {};
|
|||
}
|
||||
|
||||
function onAppReady(browser) {
|
||||
console.log("Begin onAppReady");
|
||||
console.debug("begin onAppReady");
|
||||
|
||||
// ensure that appHost is loaded in this point
|
||||
require(['apphost', 'appRouter'], function (appHost, appRouter) {
|
||||
window.Emby = {};
|
||||
|
||||
console.log("onAppReady - loading dependencies");
|
||||
console.debug("onAppReady: loading dependencies");
|
||||
if (browser.iOS) {
|
||||
require(['css!assets/css/ios.css']);
|
||||
}
|
||||
|
@ -652,7 +615,7 @@ var AppInfo = {};
|
|||
try {
|
||||
navigator.serviceWorker.register("serviceworker.js");
|
||||
} catch (err) {
|
||||
console.log("Error registering serviceWorker: " + err);
|
||||
console.error("error registering serviceWorker: " + err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -664,11 +627,7 @@ var AppInfo = {};
|
|||
AppInfo.isNativeApp = true;
|
||||
}
|
||||
|
||||
if (!window.Promise || browser.web0s) {
|
||||
require(["native-promise-only"], init);
|
||||
} else {
|
||||
init();
|
||||
}
|
||||
init();
|
||||
}
|
||||
|
||||
var localApiClient;
|
||||
|
@ -729,11 +688,13 @@ var AppInfo = {};
|
|||
"resize-observer-polyfill",
|
||||
"shaka",
|
||||
"swiper",
|
||||
"queryString",
|
||||
"sortable",
|
||||
"libjass",
|
||||
"webcomponents",
|
||||
"material-icons",
|
||||
"jellyfin-noto"
|
||||
"jellyfin-noto",
|
||||
"page",
|
||||
"polyfill"
|
||||
]
|
||||
},
|
||||
urlArgs: urlArgs,
|
||||
|
@ -741,6 +702,8 @@ var AppInfo = {};
|
|||
onError: onRequireJsError
|
||||
});
|
||||
|
||||
require(["polyfill"]);
|
||||
|
||||
// Expose jQuery globally
|
||||
require(["jQuery"], function(jQuery) {
|
||||
window.$ = jQuery;
|
||||
|
@ -787,13 +750,9 @@ var AppInfo = {};
|
|||
|
||||
// TODO remove these libraries
|
||||
// all of these have been modified so we need to fix that first
|
||||
define("page", [bowerPath + "/pagejs/page"], returnFirstDependency);
|
||||
define("headroom", [componentsPath + "/headroom/headroom"], returnFirstDependency);
|
||||
define("scroller", [componentsPath + "/scroller"], returnFirstDependency);
|
||||
define("navdrawer", [componentsPath + "/navdrawer/navdrawer"], returnFirstDependency);
|
||||
define("queryString", [bowerPath + "/query-string/index"], function () {
|
||||
return queryString;
|
||||
});
|
||||
|
||||
define("emby-button", [elementsPath + "/emby-button/emby-button"], returnFirstDependency);
|
||||
define("paper-icon-button-light", [elementsPath + "/emby-button/paper-icon-button-light"], returnFirstDependency);
|
||||
|
@ -807,9 +766,12 @@ var AppInfo = {};
|
|||
define("emby-textarea", [elementsPath + "/emby-textarea/emby-textarea"], returnFirstDependency);
|
||||
define("emby-toggle", [elementsPath + "/emby-toggle/emby-toggle"], returnFirstDependency);
|
||||
|
||||
define("appSettings", [scriptsPath + "/settings/appSettings"], returnFirstDependency);
|
||||
define("userSettings", [scriptsPath + "/settings/userSettings"], returnFirstDependency);
|
||||
define("webSettings", [scriptsPath + "/settings/webSettings"], returnFirstDependency);
|
||||
define("appSettings", [scriptsPath + "/settings/appSettings"], returnFirstDependency);
|
||||
define("userSettingsBuilder", [scriptsPath + "/settings/userSettingsBuilder"], returnFirstDependency);
|
||||
define("userSettings", ["userSettingsBuilder"], function(userSettingsBuilder) {
|
||||
return new userSettingsBuilder();
|
||||
});
|
||||
|
||||
define("chromecastHelper", [componentsPath + "/chromecast/chromecasthelpers"], returnFirstDependency);
|
||||
define("mediaSession", [componentsPath + "/playback/mediasession"], returnFirstDependency);
|
||||
|
@ -902,9 +864,10 @@ var AppInfo = {};
|
|||
define("htmlMediaHelper", [componentsPath + "/htmlMediaHelper"], returnFirstDependency);
|
||||
define("viewContainer", [componentsPath + "/viewContainer"], returnFirstDependency);
|
||||
define("dialogHelper", [componentsPath + "/dialogHelper/dialogHelper"], returnFirstDependency);
|
||||
define("serverNotifications", [componentsPath + "/serverNotifications/serverNotifications"], returnFirstDependency);
|
||||
define("serverNotifications", [componentsPath + "/serverNotifications"], returnFirstDependency);
|
||||
define("skinManager", [componentsPath + "/skinManager"], returnFirstDependency);
|
||||
define("keyboardnavigation", [componentsPath + "/keyboardnavigation"], returnFirstDependency);
|
||||
define("keyboardnavigation", [componentsPath + "/input/keyboardnavigation"], returnFirstDependency);
|
||||
define("mouseManager", [componentsPath + "/input/mouseManager"], returnFirstDependency);
|
||||
define("scrollManager", [componentsPath + "/scrollManager"], returnFirstDependency);
|
||||
define("autoFocuser", [componentsPath + "/autoFocuser"], returnFirstDependency);
|
||||
define("connectionManager", [], function () {
|
||||
|
@ -983,10 +946,6 @@ var AppInfo = {};
|
|||
Dashboard.navigate("mypreferencesmenu.html");
|
||||
};
|
||||
|
||||
appRouter.showNowPlaying = function () {
|
||||
Dashboard.navigate("nowplaying.html");
|
||||
};
|
||||
|
||||
appRouter.setTitle = function (title) {
|
||||
LibraryMenu.setTitle(title);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue