mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00

new module ServerConnections for ConnectionManager all code adapted to this new module removed Events and ConnectionManager from eslintrc
73 lines
2.7 KiB
JavaScript
73 lines
2.7 KiB
JavaScript
import appSettings from '../../../scripts/settings/appSettings';
|
|
import loading from '../../../components/loading/loading';
|
|
import globalize from '../../../scripts/globalize';
|
|
import '../../../elements/emby-button/emby-button';
|
|
import Dashboard from '../../../scripts/clientUtils';
|
|
import ServerConnections from '../../../components/ServerConnections';
|
|
|
|
/* eslint-disable indent */
|
|
|
|
function handleConnectionResult(page, result) {
|
|
loading.hide();
|
|
switch (result.State) {
|
|
case 'SignedIn': {
|
|
const apiClient = result.ApiClient;
|
|
Dashboard.onServerChanged(apiClient.getCurrentUserId(), apiClient.accessToken(), apiClient);
|
|
Dashboard.navigate('home.html');
|
|
break;
|
|
}
|
|
case 'ServerSignIn':
|
|
Dashboard.navigate('login.html?serverid=' + result.Servers[0].Id, false, 'none');
|
|
break;
|
|
case 'ServerSelection':
|
|
Dashboard.navigate('selectserver.html', false, 'none');
|
|
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')
|
|
});
|
|
}
|
|
}
|
|
|
|
function submitServer(page) {
|
|
loading.show();
|
|
const host = page.querySelector('#txtServerHost').value;
|
|
ServerConnections.connectToAddress(host, {
|
|
enableAutoLogin: appSettings.enableAutoLogin()
|
|
}).then(function(result) {
|
|
handleConnectionResult(page, result);
|
|
}, function() {
|
|
handleConnectionResult(page, {
|
|
State: 'Unavailable'
|
|
});
|
|
});
|
|
}
|
|
|
|
export default function(view, params) {
|
|
view.querySelector('.addServerForm').addEventListener('submit', onServerSubmit);
|
|
view.querySelector('.btnCancel').addEventListener('click', goBack);
|
|
|
|
import('../../../components/autoFocuser').then(({default: autoFocuser}) => {
|
|
autoFocuser.autoFocus(view);
|
|
});
|
|
|
|
function onServerSubmit(e) {
|
|
submitServer(view);
|
|
e.preventDefault();
|
|
return false;
|
|
}
|
|
|
|
function goBack() {
|
|
import('../../../components/appRouter').then(({default: appRouter}) => {
|
|
appRouter.back();
|
|
});
|
|
}
|
|
}
|
|
|
|
/* eslint-enable indent */
|