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/user/menu.js

59 lines
2.7 KiB
JavaScript
Raw Normal View History

2020-05-04 12:44:12 +02:00
define(['apphost', 'connectionManager', 'layoutManager', 'listViewStyle', 'emby-button'], function(appHost, connectionManager, layoutManager) {
'use strict';
2018-10-23 01:05:09 +03:00
return function(view, params) {
2020-05-04 12:44:12 +02:00
view.querySelector('.btnLogout').addEventListener('click', function() {
Dashboard.logout();
});
2020-05-04 12:44:12 +02:00
view.querySelector('.selectServer').addEventListener('click', function () {
Dashboard.selectServer();
});
2020-05-04 12:44:12 +02:00
view.querySelector('.clientSettings').addEventListener('click', function () {
2020-03-20 02:54:12 +09:00
window.NativeShell.openClientSettings();
});
2020-05-04 12:44:12 +02:00
view.addEventListener('viewshow', function() {
// this page can also be used by admins to change user preferences from the user edit page
2019-01-17 04:55:51 +09:00
var userId = params.userId || Dashboard.getCurrentUserId();
var page = this;
2019-01-17 04:55:51 +09:00
2020-05-04 12:44:12 +02:00
page.querySelector('.lnkMyProfile').setAttribute('href', 'myprofile.html?userId=' + userId);
page.querySelector('.lnkDisplayPreferences').setAttribute('href', 'mypreferencesdisplay.html?userId=' + userId);
page.querySelector('.lnkHomePreferences').setAttribute('href', 'mypreferenceshome.html?userId=' + userId);
page.querySelector('.lnkPlaybackPreferences').setAttribute('href', 'mypreferencesplayback.html?userId=' + userId);
page.querySelector('.lnkSubtitlePreferences').setAttribute('href', 'mypreferencessubtitles.html?userId=' + userId);
2019-01-17 04:55:51 +09:00
2020-05-04 12:44:12 +02:00
if (window.NativeShell && window.NativeShell.AppHost.supports('clientsettings')) {
page.querySelector('.clientSettings').classList.remove('hide');
2020-03-20 02:54:12 +09:00
} else {
2020-05-04 12:44:12 +02:00
page.querySelector('.clientSettings').classList.add('hide');
2020-03-20 02:54:12 +09:00
}
2020-05-04 12:44:12 +02:00
if (appHost.supports('multiserver')) {
page.querySelector('.selectServer').classList.remove('hide');
} else {
2020-05-04 12:44:12 +02:00
page.querySelector('.selectServer').classList.add('hide');
}
// hide the actions if user preferences are being edited for a different user
if (params.userId && params.userId !== Dashboard.getCurrentUserId) {
2020-05-04 12:44:12 +02:00
page.querySelector('.userSection').classList.add('hide');
page.querySelector('.adminSection').classList.add('hide');
}
2019-01-17 04:55:51 +09:00
ApiClient.getUser(userId).then(function(user) {
2020-05-04 12:44:12 +02:00
page.querySelector('.headerUsername').innerHTML = user.Name;
if (!user.Policy.IsAdministrator) {
2020-05-04 12:44:12 +02:00
page.querySelector('.adminSection').classList.add('hide');
}
2019-01-17 04:55:51 +09:00
});
2019-11-02 20:38:58 +03:00
2020-05-04 12:44:12 +02:00
require(['autoFocuser'], function (autoFocuser) {
2019-11-02 20:38:58 +03:00
autoFocuser.autoFocus(view);
});
});
};
});