mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
improve user view images
This commit is contained in:
parent
132a02a48d
commit
6b72ea474c
19 changed files with 325 additions and 224 deletions
|
@ -8,7 +8,8 @@
|
|||
Unavilable: 0,
|
||||
ServerSelection: 1,
|
||||
ServerSignIn: 2,
|
||||
SignedIn: 3
|
||||
SignedIn: 3,
|
||||
ConnectSignIn: 4
|
||||
};
|
||||
|
||||
globalScope.MediaBrowser.ConnectionMode = {
|
||||
|
@ -519,60 +520,41 @@
|
|||
|
||||
if (servers.length == 1) {
|
||||
|
||||
if (!servers[0].DateLastAccessed && !self.connectUserId()) {
|
||||
self.connectToServer(servers[0]).done(function (result) {
|
||||
|
||||
deferred.resolveWith(null, [
|
||||
{
|
||||
Servers: servers,
|
||||
State: MediaBrowser.ConnectionState.ServerSelection,
|
||||
ConnectUser: self.connectUser()
|
||||
}
|
||||
]);
|
||||
if (result.State == MediaBrowser.ConnectionState.Unavailable) {
|
||||
|
||||
} else {
|
||||
result.State = result.ConnectUser == null ?
|
||||
MediaBrowser.ConnectionState.ConnectSignIn :
|
||||
MediaBrowser.ConnectionState.ServerSelection;
|
||||
}
|
||||
|
||||
self.connectToServer(servers[0]).done(function (result) {
|
||||
deferred.resolveWith(null, [result]);
|
||||
|
||||
if (result.State == MediaBrowser.ConnectionState.Unavailable) {
|
||||
result.State = MediaBrowser.ConnectionState.ServerSelection;
|
||||
}
|
||||
|
||||
deferred.resolveWith(null, [result]);
|
||||
|
||||
}).fail(function () {
|
||||
|
||||
deferred.resolveWith(null, [
|
||||
{
|
||||
Servers: servers,
|
||||
State: MediaBrowser.ConnectionState.ServerSelection,
|
||||
ConnectUser: self.connectUser()
|
||||
}
|
||||
]);
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
|
||||
// Find the first server with a saved access token
|
||||
var currentServer = servers.filter(function (s) {
|
||||
return s.AccessToken;
|
||||
return s.AccessToken || (s.ExchangeToken && self.connectUser());
|
||||
})[0];
|
||||
|
||||
if (currentServer) {
|
||||
self.connectToServer(currentServer).done(function (result) {
|
||||
|
||||
deferred.resolveWith(null, [result]);
|
||||
if (result.State == MediaBrowser.ConnectionState.SignedIn) {
|
||||
|
||||
}).fail(function () {
|
||||
deferred.resolveWith(null, [result]);
|
||||
|
||||
deferred.resolveWith(null, [
|
||||
} else {
|
||||
deferred.resolveWith(null, [
|
||||
{
|
||||
Servers: servers,
|
||||
State: MediaBrowser.ConnectionState.ServerSelection,
|
||||
State: (!servers.length && !self.connectUser()) ? MediaBrowser.ConnectionState.ConnectSignIn : MediaBrowser.ConnectionState.ServerSelection,
|
||||
ConnectUser: self.connectUser()
|
||||
}
|
||||
]);
|
||||
}]);
|
||||
}
|
||||
|
||||
});
|
||||
} else {
|
||||
|
@ -580,7 +562,7 @@
|
|||
deferred.resolveWith(null, [
|
||||
{
|
||||
Servers: servers,
|
||||
State: (!servers.length && !self.connectUser()) ? MediaBrowser.ConnectionState.Unavailable : MediaBrowser.ConnectionState.ServerSelection,
|
||||
State: (!servers.length && !self.connectUser()) ? MediaBrowser.ConnectionState.ConnectSignIn : MediaBrowser.ConnectionState.ServerSelection,
|
||||
ConnectUser: self.connectUser()
|
||||
}]);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,18 @@
|
|||
/**
|
||||
* Gets the server address.
|
||||
*/
|
||||
self.serverAddress = function () {
|
||||
self.serverAddress = function (val) {
|
||||
|
||||
if (val != null) {
|
||||
|
||||
var changed = val != serverAddress;
|
||||
|
||||
serverAddress = val;
|
||||
|
||||
if (changed) {
|
||||
$(this).trigger('serveraddresschanged');
|
||||
}
|
||||
}
|
||||
|
||||
return serverAddress;
|
||||
};
|
||||
|
@ -141,6 +152,7 @@
|
|||
}
|
||||
|
||||
if (!self.enableAutomaticNetwork || !self.serverInfo() || self.connectionMode == null) {
|
||||
console.log('Requesting url without automatic networking: ' + request.url);
|
||||
return $.ajax(request).fail(onRequestFail);
|
||||
}
|
||||
|
||||
|
@ -172,6 +184,8 @@
|
|||
self.serverInfo().LocalAddress :
|
||||
self.serverInfo().RemoteAddress;
|
||||
|
||||
console.log("Attempting reconnection to " + url);
|
||||
|
||||
$.ajax({
|
||||
|
||||
type: "GET",
|
||||
|
@ -182,6 +196,8 @@
|
|||
|
||||
}).done(function () {
|
||||
|
||||
console.log("Reconnect succeeeded to " + url);
|
||||
|
||||
self.connectionMode = connectionMode;
|
||||
self.serverAddress(url);
|
||||
|
||||
|
@ -189,6 +205,8 @@
|
|||
|
||||
}).fail(function () {
|
||||
|
||||
console.log("Reconnect attempt failed to " + url);
|
||||
|
||||
if (currentRetryCount <= 6) {
|
||||
|
||||
var newConnectionMode = switchConnectionMode(connectionMode);
|
||||
|
@ -234,20 +252,31 @@
|
|||
request.url = replaceServerAddress(request.url, baseUrl);
|
||||
}
|
||||
|
||||
console.log("Requesting " + request.url);
|
||||
|
||||
request.timeout = 3000;
|
||||
|
||||
$.ajax(request).done(function (response) {
|
||||
|
||||
deferred.resolveWith(null, [response]);
|
||||
deferred.resolve(response, 0);
|
||||
|
||||
}).fail(function (e, textStatus) {
|
||||
|
||||
console.log("Request failed with textStatus " + textStatus + " to " + request.url);
|
||||
|
||||
var statusCode = parseInt(e.status || '0');
|
||||
var isUserErrorCode = statusCode >= 400 && statusCode < 500;
|
||||
|
||||
// http://api.jquery.com/jQuery.ajax/
|
||||
if (enableReconnection && textStatus == "timeout") {
|
||||
if (enableReconnection && !isUserErrorCode) {
|
||||
tryReconnect().done(function () {
|
||||
|
||||
console.log("Reconnect succeesed");
|
||||
self.ajaxWithFailover(request, deferred, false, true);
|
||||
|
||||
}).fail(function () {
|
||||
|
||||
console.log("Reconnect failed");
|
||||
onRetryRequestFail(request);
|
||||
deferred.reject();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue