1
0
Fork 0
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:
dkanada 2020-04-02 01:46:44 +09:00
commit 850df11f27
351 changed files with 12788 additions and 5249 deletions

View file

@ -19,11 +19,23 @@
document.head.appendChild(script);
}
injectScriptElement(
self.Promise ? "./libraries/alameda.js" : "./libraries/require.js",
function() {
// onload of require library
injectScriptElement("./scripts/site.js");
}
);
function loadSite() {
injectScriptElement(
"./libraries/alameda.js",
function() {
// onload of require library
injectScriptElement("./scripts/site.js");
}
);
}
if (!self.Promise) {
// Load Promise polyfill if they are not natively supported
injectScriptElement(
"./libraries/npo.js",
loadSite
);
} else {
loadSite();
}
})();

View file

@ -10,7 +10,7 @@ define(["backdrop", "userSettings", "libraryMenu"], function (backdrop, userSett
var data = cache[key];
if (data) {
console.log("Found backdrop id list in cache. Key: " + key);
console.debug("Found backdrop id list in cache. Key: " + key);
data = JSON.parse(data);
return Promise.resolve(data);
}

View file

@ -271,6 +271,9 @@ define([], function () {
if (!browser.tizen) {
browser.orsay = userAgent.toLowerCase().indexOf('smarthub') !== -1;
} else {
var v = (navigator.appVersion).match(/Tizen (\d+).(\d+)/);
browser.tizenVersion = parseInt(v[1]);
}
if (browser.edgeUwp) {
@ -311,4 +314,4 @@ define([], function () {
browser.chromecast = browser.chrome && userAgent.toLowerCase().indexOf('crkey') !== -1;
return browser;
});
});

View file

@ -92,7 +92,7 @@ define(['browser'], function (browser) {
return true;
}
if (!!videoTestElement.canPlayType) {
if (videoTestElement.canPlayType) {
return videoTestElement.canPlayType('application/x-mpegurl; codecs="avc1.42E01E, ac-3"').replace(/no/, '') ||
videoTestElement.canPlayType('application/vnd.apple.mpegURL; codecs="avc1.42E01E, ac-3"').replace(/no/, '');
}
@ -214,6 +214,15 @@ define(['browser'], function (browser) {
break;
case 'avi':
supported = browser.tizen || browser.orsay || browser.web0s || browser.edgeUwp;
// New Samsung TV don't support XviD/DivX
// Explicitly add supported codecs to make other codecs be transcoded
if (browser.tizenVersion >= 4) {
videoCodecs.push('h264');
if (canPlayH265(videoTestElement, options)) {
videoCodecs.push('h265');
videoCodecs.push('hevc');
}
}
break;
case 'mpg':
case 'mpeg':
@ -302,9 +311,9 @@ define(['browser'], function (browser) {
try {
var isTizenUhd = webapis.productinfo.isUdPanelSupported();
isTizenFhd = !isTizenUhd;
console.log("isTizenFhd = " + isTizenFhd);
console.debug("isTizenFhd = " + isTizenFhd);
} catch (error) {
console.log("isUdPanelSupported() error code = " + error.code);
console.error("isUdPanelSupported() error code = " + error.code);
}
}
@ -761,7 +770,7 @@ define(['browser'], function (browser) {
videoTestElement.canPlayType('video/mp4; codecs="avc1.6e0033"').replace(/no/, '')) {
// These tests are passing in safari, but playback is failing
if (!browser.safari && !browser.iOS && !browser.web0s && !browser.edge) {
if (!browser.safari && !browser.iOS && !browser.web0s && !browser.edge && !browser.mobile) {
h264Profiles += '|high 10';
}
}

View file

@ -279,4 +279,4 @@ define(['globalize'], function (globalize) {
return toLocaleTimeStringSupportsLocales;
}
};
});
});

View file

@ -49,7 +49,7 @@ define(["datetime", "jQuery", "material-icons"], function (datetime, $) {
} else if (item.MediaType === "Audio") {
htmlName += '<i class="material-icons metadataSidebarIcon">audiotrack</i>';
} else if (item.Type === "TvChannel") {
htmlName += '<i class="material-icons metadataSidebarIcon">live_tv</i>';
htmlName += '<i class="material-icons metadataSidebarIcon live_tv"></i>';
} else if (item.MediaType === "Photo") {
htmlName += '<i class="material-icons metadataSidebarIcon">photo</i>';
} else if (item.MediaType === "Book") {

View file

@ -38,7 +38,7 @@ define(['connectionManager', 'userSettings', 'events'], function (connectionMana
try {
culture = userSettings.language();
} catch (err) {
console.log('no language set in user settings');
console.error('no language set in user settings');
}
culture = culture || getDefaultLanguage();
@ -48,7 +48,7 @@ define(['connectionManager', 'userSettings', 'events'], function (connectionMana
try {
dateTimeCulture = userSettings.dateTimeLocale();
} catch (err) {
console.log('no date format set in user settings');
console.error('no date format set in user settings');
}
if (dateTimeCulture) {

View file

@ -58,7 +58,15 @@ define(['playbackManager', 'focusManager', 'appRouter', 'dom', 'apphost'], funct
sourceElement = focusManager.focusableParent(sourceElement);
}
sourceElement = sourceElement || document.activeElement || window;
if (!sourceElement) {
sourceElement = document.activeElement || window;
var dlg = document.querySelector('.dialogContainer .dialog.opened');
if (dlg && (!sourceElement || !dlg.contains(sourceElement))) {
sourceElement = dlg;
}
}
if (eventListenerCount) {
var customEvent = new CustomEvent("command", {

View file

@ -91,20 +91,20 @@ define(["userSettings"], function (userSettings) {
html += '<div style="display:inline-block;">';
if (showControls) {
html += '<button is="paper-icon-button-light" class="btnPreviousPage autoSize" ' + (startIndex ? "" : "disabled") + '><i class="material-icons">arrow_back</i></button>';
html += '<button is="paper-icon-button-light" class="btnNextPage autoSize" ' + (startIndex + limit >= totalRecordCount ? "disabled" : "") + '><i class="material-icons">arrow_forward</i></button>';
html += '<button is="paper-icon-button-light" class="btnPreviousPage autoSize" ' + (startIndex ? "" : "disabled") + '><i class="material-icons arrow_back"></i></button>';
html += '<button is="paper-icon-button-light" class="btnNextPage autoSize" ' + (startIndex + limit >= totalRecordCount ? "disabled" : "") + '><i class="material-icons arrow_forward"></i></button>';
}
if (options.addLayoutButton) {
html += '<button is="paper-icon-button-light" title="' + Globalize.translate("ButtonSelectView") + '" class="btnChangeLayout autoSize" data-layouts="' + (options.layouts || "") + '" onclick="LibraryBrowser.showLayoutMenu(this, \'' + (options.currentLayout || "") + '\');"><i class="material-icons">view_comfy</i></button>';
html += '<button is="paper-icon-button-light" title="' + Globalize.translate("ButtonSelectView") + '" class="btnChangeLayout autoSize" data-layouts="' + (options.layouts || "") + '" onclick="LibraryBrowser.showLayoutMenu(this, \'' + (options.currentLayout || "") + '\');"><i class="material-icons view_comfy"></i></button>';
}
if (options.sortButton) {
html += '<button is="paper-icon-button-light" class="btnSort autoSize" title="' + Globalize.translate("ButtonSort") + '"><i class="material-icons">sort_by_alpha</i></button>';
html += '<button is="paper-icon-button-light" class="btnSort autoSize" title="' + Globalize.translate("ButtonSort") + '"><i class="material-icons sort_by_alpha"></i></button>';
}
if (options.filterButton) {
html += '<button is="paper-icon-button-light" class="btnFilter autoSize" title="' + Globalize.translate("ButtonFilter") + '"><i class="material-icons">filter_list</i></button>';
html += '<button is="paper-icon-button-light" class="btnFilter autoSize" title="' + Globalize.translate("ButtonFilter") + '"><i class="material-icons filter_list"></i></button>';
}
html += "</div>";

View file

@ -5,13 +5,14 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
var html = "";
html += '<div class="flex align-items-center flex-grow headerTop">';
html += '<div class="headerLeft">';
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerButtonLeft headerBackButton hide"><i class="material-icons">' + (browser.safari ? "chevron_left" : "arrow_back") + "</i></button>";
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerButtonLeft headerBackButton hide"><i class="material-icons ' + (browser.safari ? 'chevron_left' : 'arrow_back') + '"></i></button>';
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerHomeButton hide barsMenuButton headerButtonLeft"><i class="material-icons">home</i></button>';
html += '<button type="button" is="paper-icon-button-light" class="headerButton mainDrawerButton barsMenuButton headerButtonLeft hide"><i class="material-icons">menu</i></button>';
html += '<h3 class="pageTitle"></h3>';
html += "</div>";
html += '<div class="headerRight">';
html += '<span class="headerSelectedPlayer"></span>';
html += '<button is="paper-icon-button-light" class="headerAudioPlayerButton audioPlayerButton headerButton headerButtonRight hide"><i class="material-icons music_note"></i></button>';
html += '<button is="paper-icon-button-light" class="headerCastButton castButton headerButton headerButtonRight hide"><i class="material-icons">cast</i></button>';
html += '<button type="button" is="paper-icon-button-light" class="headerButton headerButtonRight headerSearchButton hide"><i class="material-icons">search</i></button>';
html += '<button is="paper-icon-button-light" class="headerButton headerButtonRight headerUserButton hide"><i class="material-icons">person</i></button>';
@ -27,6 +28,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
headerHomeButton = skinHeader.querySelector(".headerHomeButton");
headerUserButton = skinHeader.querySelector(".headerUserButton");
headerCastButton = skinHeader.querySelector(".headerCastButton");
headerAudioPlayerButton = skinHeader.querySelector(".headerAudioPlayerButton");
headerSearchButton = skinHeader.querySelector(".headerSearchButton");
lazyLoadViewMenuBarImages();
@ -71,7 +73,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
}
if (user && user.localUser) {
if (headerHomeButton) {
if (headerHomeButton && !layoutManager.mobile) {
headerHomeButton.classList.remove("hide");
}
@ -116,6 +118,10 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
Dashboard.navigate("home.html");
}
function showAudioPlayer() {
return appRouter.showNowPlaying();
}
function bindMenuEvents() {
mainDrawerButton = document.querySelector(".mainDrawerButton");
@ -140,9 +146,27 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
headerCastButton.addEventListener("click", onCastButtonClicked);
}
headerAudioPlayerButton.addEventListener("click", showAudioPlayer);
if (layoutManager.mobile) {
initHeadRoom(skinHeader);
}
events.on(playbackManager, 'playbackstart', onPlaybackStart);
events.on(playbackManager, 'playbackstop', onPlaybackStop);
}
function onPlaybackStart(e) {
if (playbackManager.isPlayingAudio() && layoutManager.tv) {
headerAudioPlayerButton.classList.remove("hide");
} else {
headerAudioPlayerButton.classList.add("hide");
}
}
function onPlaybackStop(e, stopInfo) {
if (stopInfo.nextMediaType != 'Audio') {
headerAudioPlayerButton.classList.add("hide");
}
}
function onCastButtonClicked() {
@ -205,7 +229,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
html += globalize.translate("HeaderAdmin");
html += "</h3>";
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder lnkManageServer" data-itemid="dashboard" href="dashboard.html"><i class="material-icons navMenuOptionIcon">dashboard</i><span class="navMenuOptionText">' + globalize.translate("TabDashboard") + "</span></a>";
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder editorViewMenu" data-itemid="editor" href="edititemmetadata.html"><i class="material-icons navMenuOptionIcon">mode_edit</i><span class="navMenuOptionText">' + globalize.translate("Metadata") + "</span></a>";
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder editorViewMenu" data-itemid="editor" href="edititemmetadata.html"><i class="material-icons navMenuOptionIcon mode_edit"></i><span class="navMenuOptionText">' + globalize.translate("Metadata") + "</span></a>";
html += "</div>";
}
@ -219,15 +243,20 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder" data-itemid="selectserver" href="selectserver.html?showuser=1"><i class="material-icons navMenuOptionIcon">wifi</i><span class="navMenuOptionText">' + globalize.translate("ButtonSelectServer") + "</span></a>";
}
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnLogout" data-itemid="logout" href="#"><i class="material-icons navMenuOptionIcon">exit_to_app</i><span class="navMenuOptionText">' + globalize.translate("ButtonSignOut") + "</span></a>";
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnSettings" data-itemid="settings" href="#"><i class="material-icons navMenuOptionIcon settings"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSettings") + "</span></a>";
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnLogout" data-itemid="logout" href="#"><i class="material-icons navMenuOptionIcon exit_to_app"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSignOut") + "</span></a>";
html += "</div>";
}
// add buttons to navigation drawer
navDrawerScrollContainer.innerHTML = html;
// bind logout button click to method
var btnLogout = navDrawerScrollContainer.querySelector(".btnLogout");
var btnSettings = navDrawerScrollContainer.querySelector(".btnSettings");
if (btnSettings) {
btnSettings.addEventListener("click", onSettingsClick);
}
var btnLogout = navDrawerScrollContainer.querySelector(".btnLogout");
if (btnLogout) {
btnLogout.addEventListener("click", onLogoutClick);
}
@ -306,7 +335,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
icon: "folder"
}, {
name: globalize.translate("TabPlayback"),
icon: "play_arrow",
icon: "&#xE037;",
href: "encodingsettings.html",
pageIds: ["encodingSettingsPage", "playbackConfigurationPage", "streamingSettingsPage"]
}];
@ -574,6 +603,10 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
}
}
function onSettingsClick() {
Dashboard.navigate("mypreferencesmenu.html");
}
function onLogoutClick() {
Dashboard.logout();
}
@ -584,7 +617,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
var icon = headerCastButton.querySelector("i");
if (info && !info.isLocalPlayer) {
icon.innerHTML = "cast_connected";
icon.innerHTML = "&#xE308;";
headerCastButton.classList.add("castButton-active");
context.querySelector(".headerSelectedPlayer").innerHTML = info.deviceName || info.name;
} else {
@ -763,7 +796,8 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
var currentUser;
var headerCastButton;
var headerSearchButton;
var enableLibraryNavDrawer = !layoutManager.tv;
var headerAudioPlayerButton;
var enableLibraryNavDrawer = layoutManager.desktop;
var skinHeader = document.querySelector(".skinHeader");
var requiresUserRefresh = true;
var lastOpenTime = new Date().getTime();
@ -838,6 +872,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
pageClassOn("pageshow", "page", function (e) {
var page = this;
var isDashboardPage = page.classList.contains("type-interior");
var isHomePage = page.classList.contains("homePage");
var isLibraryPage = !isDashboardPage && page.classList.contains("libraryPage");
var apiClient = getCurrentApiClient();
@ -849,7 +884,7 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
refreshDashboardInfoInDrawer(apiClient);
} else {
if (mainDrawerButton) {
if (enableLibraryNavDrawer) {
if (enableLibraryNavDrawer || isHomePage) {
mainDrawerButton.classList.remove("hide");
} else {
mainDrawerButton.classList.add("hide");

View file

@ -34,7 +34,7 @@ define(["layoutManager", "datetime", "cardBuilder", "apphost"], function (layout
day: "numeric"
});
} catch (err) {
console.log("Error parsing premiereDate:" + item.StartDate + "; error: " + err);
console.error("error parsing premiereDate:" + item.StartDate + "; error: " + err);
}
}

View file

@ -16,12 +16,12 @@ define([
function defineRoute(newRoute) {
var path = newRoute.path;
console.log("defining route: " + path);
console.debug("defining route: " + path);
newRoute.dictionary = "core";
Emby.Page.addRoute(path, newRoute);
}
console.log("defining core routes");
console.debug("defining core routes");
defineRoute({
path: "/addplugin.html",

View file

@ -251,5 +251,5 @@ define(['appSettings', 'events'], function (appSettings, events) {
return this.get(key, true);
};
return new UserSettings();
return UserSettings;
});

View file

@ -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);
};

View file

@ -1,30 +0,0 @@
define(["jQuery", "loading", "libraryMenu"], function ($, loading, libraryMenu) {
"use strict";
function loadUser(page, user) {
libraryMenu.setTitle(user.Name);
if ("Guest" == user.ConnectLinkType) {
$(".connectMessage", page).show();
} else {
$(".connectMessage", page).hide();
}
loading.hide();
}
function loadData(page) {
loading.show();
var userId = getParameterByName("userId");
ApiClient.getUser(userId).then(function (user) {
loadUser(page, user);
});
}
$(document).on("pageinit", "#userPasswordPage", function () {
$(".adminUpdatePasswordForm").off("submit", UpdatePasswordPage.onSubmit).on("submit", UpdatePasswordPage.onSubmit);
$(".adminLocalAccessForm").off("submit", UpdatePasswordPage.onLocalAccessSubmit).on("submit", UpdatePasswordPage.onLocalAccessSubmit);
}).on("pagebeforeshow", "#userPasswordPage", function () {
loadData(this);
});
});