mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
condense router and remove another sync button
This commit is contained in:
parent
3edaae9d48
commit
1445524edf
5 changed files with 17 additions and 94 deletions
|
@ -3,9 +3,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
|
|
||||||
var appRouter = {
|
var appRouter = {
|
||||||
showLocalLogin: function (serverId, manualLogin) {
|
showLocalLogin: function (serverId, manualLogin) {
|
||||||
|
|
||||||
var pageName = manualLogin ? 'manuallogin' : 'login';
|
var pageName = manualLogin ? 'manuallogin' : 'login';
|
||||||
|
|
||||||
show('/startup/' + pageName + '.html?serverid=' + serverId);
|
show('/startup/' + pageName + '.html?serverid=' + serverId);
|
||||||
},
|
},
|
||||||
showSelectServer: function () {
|
showSelectServer: function () {
|
||||||
|
@ -45,65 +43,42 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
};
|
};
|
||||||
|
|
||||||
function beginConnectionWizard() {
|
function beginConnectionWizard() {
|
||||||
|
|
||||||
backdrop.clear();
|
backdrop.clear();
|
||||||
|
|
||||||
loading.show();
|
loading.show();
|
||||||
|
|
||||||
connectionManager.connect({
|
connectionManager.connect({
|
||||||
|
|
||||||
enableAutoLogin: appSettings.enableAutoLogin()
|
enableAutoLogin: appSettings.enableAutoLogin()
|
||||||
|
|
||||||
}).then(function (result) {
|
}).then(function (result) {
|
||||||
handleConnectionResult(result, loading);
|
handleConnectionResult(result, loading);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleConnectionResult(result, loading) {
|
function handleConnectionResult(result, loading) {
|
||||||
|
|
||||||
switch (result.State) {
|
switch (result.State) {
|
||||||
|
|
||||||
case 'SignedIn':
|
case 'SignedIn':
|
||||||
{
|
|
||||||
loading.hide();
|
loading.hide();
|
||||||
skinManager.loadUserSkin();
|
skinManager.loadUserSkin();
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'ServerSignIn':
|
case 'ServerSignIn':
|
||||||
{
|
|
||||||
result.ApiClient.getPublicUsers().then(function (users) {
|
result.ApiClient.getPublicUsers().then(function (users) {
|
||||||
|
|
||||||
if (users.length) {
|
if (users.length) {
|
||||||
appRouter.showLocalLogin(result.Servers[0].Id);
|
appRouter.showLocalLogin(result.Servers[0].Id);
|
||||||
} else {
|
} else {
|
||||||
appRouter.showLocalLogin(result.Servers[0].Id, true);
|
appRouter.showLocalLogin(result.Servers[0].Id, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'ServerSelection':
|
case 'ServerSelection':
|
||||||
{
|
|
||||||
appRouter.showSelectServer();
|
appRouter.showSelectServer();
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'ConnectSignIn':
|
|
||||||
{
|
|
||||||
appRouter.showWelcome();
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case 'ServerUpdateNeeded':
|
case 'ServerUpdateNeeded':
|
||||||
{
|
|
||||||
require(['alert'], function (alert) {
|
require(['alert'], function (alert) {
|
||||||
alert({
|
alert({
|
||||||
|
|
||||||
text: globalize.translate('sharedcomponents#ServerUpdateNeeded', 'https://github.com/jellyfin/jellyfin'),
|
text: globalize.translate('sharedcomponents#ServerUpdateNeeded', 'https://github.com/jellyfin/jellyfin'),
|
||||||
html: globalize.translate('sharedcomponents#ServerUpdateNeeded', '<a href="https://github.com/jellyfin/jellyfin">https://github.com/jellyfin/jellyfin</a>')
|
html: globalize.translate('sharedcomponents#ServerUpdateNeeded', '<a href="https://github.com/jellyfin/jellyfin">https://github.com/jellyfin/jellyfin</a>')
|
||||||
|
|
||||||
}).then(function () {
|
}).then(function () {
|
||||||
appRouter.showSelectServer();
|
appRouter.showSelectServer();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -111,9 +86,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadContentUrl(ctx, next, route, request) {
|
function loadContentUrl(ctx, next, route, request) {
|
||||||
|
|
||||||
var url;
|
var url;
|
||||||
|
|
||||||
if (route.contentPath && typeof (route.contentPath) === 'function') {
|
if (route.contentPath && typeof (route.contentPath) === 'function') {
|
||||||
url = route.contentPath(ctx.querystring);
|
url = route.contentPath(ctx.querystring);
|
||||||
} else {
|
} else {
|
||||||
|
@ -121,10 +94,8 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
}
|
}
|
||||||
|
|
||||||
if (url.indexOf('://') === -1) {
|
if (url.indexOf('://') === -1) {
|
||||||
|
|
||||||
// Put a slash at the beginning but make sure to avoid a double slash
|
// Put a slash at the beginning but make sure to avoid a double slash
|
||||||
if (url.indexOf('/') !== 0) {
|
if (url.indexOf('/') !== 0) {
|
||||||
|
|
||||||
url = '/' + url;
|
url = '/' + url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,26 +107,22 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
}
|
}
|
||||||
|
|
||||||
require(['text!' + url], function (html) {
|
require(['text!' + url], function (html) {
|
||||||
|
|
||||||
loadContent(ctx, route, html, request);
|
loadContent(ctx, route, html, request);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleRoute(ctx, next, route) {
|
function handleRoute(ctx, next, route) {
|
||||||
|
|
||||||
authenticate(ctx, route, function () {
|
authenticate(ctx, route, function () {
|
||||||
initRoute(ctx, next, route);
|
initRoute(ctx, next, route);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function initRoute(ctx, next, route) {
|
function initRoute(ctx, next, route) {
|
||||||
|
|
||||||
var onInitComplete = function (controllerFactory) {
|
var onInitComplete = function (controllerFactory) {
|
||||||
sendRouteToViewManager(ctx, next, route, controllerFactory);
|
sendRouteToViewManager(ctx, next, route, controllerFactory);
|
||||||
};
|
};
|
||||||
|
|
||||||
require(route.dependencies || [], function () {
|
require(route.dependencies || [], function () {
|
||||||
|
|
||||||
if (route.controller) {
|
if (route.controller) {
|
||||||
require([route.controller], onInitComplete);
|
require([route.controller], onInitComplete);
|
||||||
} else {
|
} else {
|
||||||
|
@ -173,14 +140,12 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
|
|
||||||
var currentViewLoadRequest;
|
var currentViewLoadRequest;
|
||||||
function sendRouteToViewManager(ctx, next, route, controllerFactory) {
|
function sendRouteToViewManager(ctx, next, route, controllerFactory) {
|
||||||
|
|
||||||
if (isDummyBackToHome && route.type === 'home') {
|
if (isDummyBackToHome && route.type === 'home') {
|
||||||
isDummyBackToHome = false;
|
isDummyBackToHome = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
cancelCurrentLoadRequest();
|
cancelCurrentLoadRequest();
|
||||||
|
|
||||||
var isBackNav = ctx.isBack;
|
var isBackNav = ctx.isBack;
|
||||||
|
|
||||||
var currentRequest = {
|
var currentRequest = {
|
||||||
|
@ -201,9 +166,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
|
|
||||||
var onNewViewNeeded = function () {
|
var onNewViewNeeded = function () {
|
||||||
if (typeof route.path === 'string') {
|
if (typeof route.path === 'string') {
|
||||||
|
|
||||||
loadContentUrl(ctx, next, route, currentRequest);
|
loadContentUrl(ctx, next, route, currentRequest);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// ? TODO
|
// ? TODO
|
||||||
next();
|
next();
|
||||||
|
@ -226,7 +189,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
};
|
};
|
||||||
|
|
||||||
}).catch(function (result) {
|
}).catch(function (result) {
|
||||||
|
|
||||||
if (!result || !result.cancelled) {
|
if (!result || !result.cancelled) {
|
||||||
onNewViewNeeded();
|
onNewViewNeeded();
|
||||||
}
|
}
|
||||||
|
@ -236,7 +198,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
var msgTimeout;
|
var msgTimeout;
|
||||||
var forcedLogoutMsg;
|
var forcedLogoutMsg;
|
||||||
function onForcedLogoutMessageTimeout() {
|
function onForcedLogoutMessageTimeout() {
|
||||||
|
|
||||||
var msg = forcedLogoutMsg;
|
var msg = forcedLogoutMsg;
|
||||||
forcedLogoutMsg = null;
|
forcedLogoutMsg = null;
|
||||||
|
|
||||||
|
@ -248,7 +209,6 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
}
|
}
|
||||||
|
|
||||||
function showForcedLogoutMessage(msg) {
|
function showForcedLogoutMessage(msg) {
|
||||||
|
|
||||||
forcedLogoutMsg = msg;
|
forcedLogoutMsg = msg;
|
||||||
if (msgTimeout) {
|
if (msgTimeout) {
|
||||||
clearTimeout(msgTimeout);
|
clearTimeout(msgTimeout);
|
||||||
|
@ -277,14 +237,12 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
}
|
}
|
||||||
|
|
||||||
function onBeforeExit(e) {
|
function onBeforeExit(e) {
|
||||||
|
|
||||||
if (browser.web0s) {
|
if (browser.web0s) {
|
||||||
page.restorePreviousState();
|
page.restorePreviousState();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function normalizeImageOptions(options) {
|
function normalizeImageOptions(options) {
|
||||||
|
|
||||||
var scaleFactor = browser.tv ? 0.8 : 1;
|
var scaleFactor = browser.tv ? 0.8 : 1;
|
||||||
|
|
||||||
var setQuality;
|
var setQuality;
|
||||||
|
@ -331,9 +289,7 @@ define(['loading', 'globalize', 'events', 'viewManager', 'layoutManager', 'skinM
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMaxBandwidth() {
|
function getMaxBandwidth() {
|
||||||
|
|
||||||
if (navigator.connection) {
|
if (navigator.connection) {
|
||||||
|
|
||||||
var max = navigator.connection.downlinkMax;
|
var max = navigator.connection.downlinkMax;
|
||||||
if (max && max > 0 && max < Number.POSITIVE_INFINITY) {
|
if (max && max > 0 && max < Number.POSITIVE_INFINITY) {
|
||||||
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
<div id="mySyncActivityPage" data-role="page" class="page libraryPage syncActivityPage mySyncPage noSecondaryNavPage" data-title="${TitleSync}">
|
|
||||||
|
|
||||||
<div class="padded-left padded-right padded-top padded-bottom-page" style="clear:both;">
|
|
||||||
<div class="syncActivity">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -113,7 +113,6 @@ define(["dom", "layoutManager", "inputManager", "connectionManager", "events", "
|
||||||
if (user.localUser) {
|
if (user.localUser) {
|
||||||
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder lnkMySettings" href="mypreferencesmenu.html"><i class="md-icon navMenuOptionIcon"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSettings") + "</span></a>";
|
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder lnkMySettings" href="mypreferencesmenu.html"><i class="md-icon navMenuOptionIcon"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSettings") + "</span></a>";
|
||||||
}
|
}
|
||||||
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder lnkSyncToOtherDevices" data-itemid="syncotherdevices" href="mysync.html"><i class="md-icon navMenuOptionIcon"></i><span class="navMenuOptionText">' + globalize.translate("sharedcomponents#Sync") + "</span></a>";
|
|
||||||
if (AppInfo.isNativeApp) {
|
if (AppInfo.isNativeApp) {
|
||||||
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder" data-itemid="selectserver" href="selectserver.html?showuser=1"><i class="md-icon navMenuOptionIcon"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSelectServer") + "</span></a>";
|
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder" data-itemid="selectserver" href="selectserver.html?showuser=1"><i class="md-icon navMenuOptionIcon"></i><span class="navMenuOptionText">' + globalize.translate("ButtonSelectServer") + "</span></a>";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
define(["apphost", "globalize", "syncJobList", "events", "localsync", "emby-button", "paper-icon-button-light"], function(appHost, globalize, syncJobList, events, localSync) {
|
|
||||||
"use strict";
|
|
||||||
return function(view, params) {
|
|
||||||
var interval, mySyncJobList = new syncJobList({
|
|
||||||
mode: params.mode,
|
|
||||||
enableRemoteSyncManagement: !1,
|
|
||||||
serverId: ApiClient.serverId(),
|
|
||||||
userId: "offline" === params.mode ? null : ApiClient.getCurrentUserId(),
|
|
||||||
element: view.querySelector(".syncActivity"),
|
|
||||||
mode: params.mode
|
|
||||||
});
|
|
||||||
view.addEventListener("viewbeforehide", function() {
|
|
||||||
interval && (clearInterval(interval), interval = null)
|
|
||||||
}), view.addEventListener("viewdestroy", function() {
|
|
||||||
mySyncJobList.destroy()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
});
|
|
|
@ -670,12 +670,6 @@ var Dashboard = {
|
||||||
autoFocus: !1,
|
autoFocus: !1,
|
||||||
transition: "fade",
|
transition: "fade",
|
||||||
controller: "scripts/myprofile"
|
controller: "scripts/myprofile"
|
||||||
}), defineRoute({
|
|
||||||
path: "/mysync.html",
|
|
||||||
dependencies: [],
|
|
||||||
autoFocus: !1,
|
|
||||||
transition: "fade",
|
|
||||||
controller: "scripts/mysync"
|
|
||||||
}), defineRoute({
|
}), defineRoute({
|
||||||
path: "/camerauploadsettings.html",
|
path: "/camerauploadsettings.html",
|
||||||
dependencies: [],
|
dependencies: [],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue