1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/src/controllers/addserver.js

62 lines
2.2 KiB
JavaScript
Raw Normal View History

define(["appSettings", "loading", "browser", "emby-button"], function(appSettings, loading, browser) {
2019-01-11 20:36:17 +09:00
"use strict";
function handleConnectionResult(page, result) {
2019-01-11 20:52:44 +09:00
loading.hide();
switch (result.State) {
2019-01-11 20:36:17 +09:00
case "SignedIn":
var apiClient = result.ApiClient;
2019-08-25 00:29:12 -07:00
Dashboard.onServerChanged(apiClient.getCurrentUserId(), apiClient.accessToken(), apiClient);
Dashboard.navigate("home.html");
2019-01-11 20:36:17 +09:00
break;
case "ServerSignIn":
2019-01-11 20:52:44 +09:00
Dashboard.navigate("login.html?serverid=" + result.Servers[0].Id, false, "none");
2019-01-11 20:36:17 +09:00
break;
case "ServerSelection":
2019-01-11 20:52:44 +09:00
Dashboard.navigate("selectserver.html", false, "none");
2019-01-11 20:36:17 +09:00
break;
case "ServerUpdateNeeded":
Dashboard.alert({
message: Globalize.translate("ServerUpdateNeeded", '<a href="https://github.com/jellyfin/jellyfin">https://github.com/jellyfin/jellyfin</a>')
});
break;
case "Unavailable":
Dashboard.alert({
message: Globalize.translate("MessageUnableToConnectToServer"),
title: Globalize.translate("HeaderConnectionFailure")
2019-01-11 20:52:44 +09:00
});
2019-01-11 20:36:17 +09:00
}
}
2019-08-25 00:29:12 -07:00
function submitServer(page) {
2019-01-11 20:52:44 +09:00
loading.show();
2019-08-25 00:29:12 -07:00
var host = page.querySelector("#txtServerHost").value;
2019-01-11 20:52:44 +09:00
ConnectionManager.connectToAddress(host, {
2019-01-11 20:36:17 +09:00
enableAutoLogin: appSettings.enableAutoLogin()
}).then(function(result) {
2019-01-11 20:52:44 +09:00
handleConnectionResult(page, result);
2019-01-11 20:36:17 +09:00
}, function() {
handleConnectionResult(page, {
State: "Unavailable"
2019-01-11 20:52:44 +09:00
});
});
2019-01-11 20:36:17 +09:00
}
return function(view, params) {
2019-08-25 00:29:12 -07:00
view.querySelector(".addServerForm").addEventListener("submit", onServerSubmit);
view.querySelector(".btnCancel").addEventListener("click", goBack);
2019-01-11 20:52:44 +09:00
2019-08-25 00:29:12 -07:00
function onServerSubmit(e) {
submitServer(view);
2019-01-11 20:52:44 +09:00
e.preventDefault();
return false;
2019-01-11 20:36:17 +09:00
}
function goBack() {
require(["appRouter"], function(appRouter) {
2019-01-11 20:52:44 +09:00
appRouter.back();
});
2019-01-11 20:36:17 +09:00
}
}
});