mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
connect updates
This commit is contained in:
parent
90082ed4bc
commit
83d7b945d7
25 changed files with 686 additions and 312 deletions
120
dashboard-ui/scripts/selectserver.js
Normal file
120
dashboard-ui/scripts/selectserver.js
Normal file
|
@ -0,0 +1,120 @@
|
|||
(function () {
|
||||
|
||||
function connectToServer(page, server) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ConnectionManager.connectToServer(server).done(function (result) {
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
||||
switch (result.State) {
|
||||
|
||||
case MediaBrowser.ConnectionState.Unavilable:
|
||||
showServerConnectionFailure();
|
||||
break;
|
||||
case MediaBrowser.ConnectionState.SignedIn:
|
||||
{
|
||||
var apiClient = result.ApiClient;
|
||||
|
||||
Dashboard.serverAddress(apiClient.serverAddress());
|
||||
Dashboard.setCurrentUser(apiClient.getCurrentUserId(), apiClient.accessToken());
|
||||
window.location = 'index.html';
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function showServerConnectionFailure() {
|
||||
|
||||
Dashboard.alert({
|
||||
message: Globalize.translate("MessageUnableToConnectToServer"),
|
||||
title: Globalize.translate("HeaderConnectionFailure")
|
||||
});
|
||||
}
|
||||
|
||||
function renderServers(page, servers) {
|
||||
|
||||
if (servers.length) {
|
||||
$('.noServersMessage', page).hide();
|
||||
} else {
|
||||
$('.noServersMessage', page).show();
|
||||
}
|
||||
|
||||
var html = '<ul data-role="listview" data-inset="true">';
|
||||
|
||||
html += servers.map(function (s) {
|
||||
|
||||
var serverHtml = '';
|
||||
|
||||
serverHtml += '<li>';
|
||||
|
||||
serverHtml += '<a class="lnkServer" data-serverid="' + s.Id + '" href="#">';
|
||||
serverHtml += '<h3>';
|
||||
serverHtml += s.Name;
|
||||
serverHtml += '</h3>';
|
||||
serverHtml += '</a>';
|
||||
|
||||
serverHtml += '</li>';
|
||||
|
||||
return serverHtml;
|
||||
|
||||
}).join('');
|
||||
|
||||
html += '</ul>';
|
||||
|
||||
var elem = $('.serverList', page).html(html).trigger('create');
|
||||
|
||||
$('.lnkServer', elem).on('click', function () {
|
||||
|
||||
var id = this.getAttribute('data-serverid');
|
||||
var server = servers.filter(function (s) {
|
||||
return s.Id == id;
|
||||
})[0];
|
||||
|
||||
connectToServer(page, server);
|
||||
});
|
||||
}
|
||||
|
||||
function loadPage(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ConnectionManager.getServers().done(function (servers) {
|
||||
|
||||
renderServers(page, servers);
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#selectServerPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
loadPage(page);
|
||||
|
||||
});
|
||||
|
||||
window.SelectServerPage = {
|
||||
|
||||
onServerAddressEntrySubmit: function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
var form = this;
|
||||
var page = $(form).parents('.page');
|
||||
|
||||
|
||||
// Disable default form submission
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})();
|
Loading…
Add table
Add a link
Reference in a new issue