mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
rework settings page
This commit is contained in:
parent
3e9ce24eaf
commit
2548f83871
35 changed files with 1216 additions and 520 deletions
|
@ -17,7 +17,7 @@
|
|||
return dictionaries[getUrl(name, culture)];
|
||||
}
|
||||
|
||||
function loadDictionary(name, culture) {
|
||||
function loadDictionary(name, culture, loadUrl, saveUrl) {
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
|
@ -25,10 +25,8 @@
|
|||
deferred.resolve();
|
||||
} else {
|
||||
|
||||
var url = getUrl(name, culture);
|
||||
|
||||
$.getJSON(url).done(function (dictionary) {
|
||||
dictionaries[url] = dictionary;
|
||||
$.getJSON(loadUrl).done(function (dictionary) {
|
||||
dictionaries[saveUrl] = dictionary;
|
||||
deferred.resolve();
|
||||
});
|
||||
}
|
||||
|
@ -41,7 +39,19 @@
|
|||
|
||||
currentCulture = value;
|
||||
|
||||
return $.when(loadDictionary('html', value), loadDictionary('javascript', value));
|
||||
var htmlValue = value;
|
||||
var jsValue = value;
|
||||
|
||||
var htmlUrl = getUrl('html', htmlValue);
|
||||
var jsUrl = getUrl('javascript', jsValue);
|
||||
|
||||
var htmlLoadUrl = getUrl('html', htmlValue);
|
||||
var jsLoadUrl = getUrl('javascript', jsValue);
|
||||
|
||||
//htmlLoadUrl = getUrl('html', 'server');
|
||||
//jsLoadUrl = getUrl('javascript', 'javascript');
|
||||
|
||||
return $.when(loadDictionary('html', htmlValue, htmlLoadUrl, htmlUrl), loadDictionary('javascript', jsValue, jsLoadUrl, jsUrl));
|
||||
}
|
||||
|
||||
function ensure() {
|
||||
|
|
|
@ -341,7 +341,7 @@
|
|||
html += '</a>';
|
||||
|
||||
if (user.localUser && showUserAtTop()) {
|
||||
html += '<a class="sidebarLink lnkMediaFolder lnkMySettings" onclick="return LibraryMenu.onLinkClicked(event, this);" data-itemid="mysync" href="mypreferencesdisplay.html?userId=' + user.localUser.Id + '"><iron-icon icon="settings" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonSettings') + '</span></a>';
|
||||
html += '<a class="sidebarLink lnkMediaFolder lnkMySettings" onclick="return LibraryMenu.onLinkClicked(event, this);" data-itemid="mysync" href="mypreferencesmenu.html?userId=' + user.localUser.Id + '"><iron-icon icon="settings" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonSettings') + '</span></a>';
|
||||
}
|
||||
|
||||
html += '<a class="sidebarLink lnkMediaFolder lnkMySync" data-itemid="mysync" onclick="return LibraryMenu.onLinkClicked(event, this);" href="mysync.html"><iron-icon icon="refresh" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonSync') + '</span></a>';
|
||||
|
|
|
@ -425,14 +425,14 @@
|
|||
Format: 'srt',
|
||||
Method: 'Embed'
|
||||
});
|
||||
profile.SubtitleProfiles.push({
|
||||
Format: 'ass',
|
||||
Method: 'Embed'
|
||||
});
|
||||
profile.SubtitleProfiles.push({
|
||||
Format: 'ssa',
|
||||
Method: 'Embed'
|
||||
});
|
||||
//profile.SubtitleProfiles.push({
|
||||
// Format: 'ass',
|
||||
// Method: 'Embed'
|
||||
//});
|
||||
//profile.SubtitleProfiles.push({
|
||||
// Format: 'ssa',
|
||||
// Method: 'Embed'
|
||||
//});
|
||||
profile.SubtitleProfiles.push({
|
||||
Format: 'pgs',
|
||||
Method: 'Embed'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
$(document).on('pageshowready', ".userPreferencesPage", function () {
|
||||
$(document).on('pageshowready', "#myPreferencesMenuPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
|
|
|
@ -2,36 +2,33 @@
|
|||
|
||||
function loadForm(page, user) {
|
||||
|
||||
$('#chkDisplayMissingEpisodes', page).checked(user.Configuration.DisplayMissingEpisodes || false).checkboxradio("refresh");
|
||||
$('#chkDisplayUnairedEpisodes', page).checked(user.Configuration.DisplayUnairedEpisodes || false).checkboxradio("refresh");
|
||||
|
||||
$('#chkDisplayTrailersWithinMovieSuggestions', page).checked(user.Configuration.IncludeTrailersInSuggestions || false).checkboxradio("refresh");
|
||||
|
||||
$('#chkGroupMoviesIntoCollections', page).checked(user.Configuration.GroupMoviesIntoBoxSets || false).checkboxradio("refresh");
|
||||
page.querySelector('.chkDisplayMissingEpisodes').checked = user.Configuration.DisplayMissingEpisodes || false;
|
||||
page.querySelector('.chkDisplayUnairedEpisodes').checked = user.Configuration.DisplayUnairedEpisodes || false;
|
||||
page.querySelector('.chkDisplayTrailersWithinMovieSuggestions').checked = user.Configuration.IncludeTrailersInSuggestions || false;
|
||||
page.querySelector('.chkGroupMoviesIntoCollections').checked = user.Configuration.GroupMoviesIntoBoxSets || false;
|
||||
|
||||
$('#selectThemeSong', page).val(appStorage.getItem('enableThemeSongs-' + user.Id) || '').selectmenu("refresh");
|
||||
$('#selectBackdrop', page).val(appStorage.getItem('enableBackdrops-' + user.Id) || '').selectmenu("refresh");
|
||||
|
||||
$('#chkEnableFullScreen', page).checked(AppSettings.enableFullScreen()).checkboxradio("refresh");
|
||||
|
||||
$('#chkSyncToExternalCard', page).checked(AppSettings.enableSyncToExternalStorage()).checkboxradio("refresh");
|
||||
page.querySelector('.chkEnableFullScreen').checked = AppSettings.enableFullScreen();
|
||||
page.querySelector('.chkSyncToExternalCard').checked = AppSettings.enableSyncToExternalStorage();
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}
|
||||
|
||||
function saveUser(page, user) {
|
||||
|
||||
user.Configuration.DisplayMissingEpisodes = $('#chkDisplayMissingEpisodes', page).checked();
|
||||
user.Configuration.DisplayUnairedEpisodes = $('#chkDisplayUnairedEpisodes', page).checked();
|
||||
user.Configuration.GroupMoviesIntoBoxSets = $('#chkGroupMoviesIntoCollections', page).checked();
|
||||
user.Configuration.IncludeTrailersInSuggestions = $('#chkDisplayTrailersWithinMovieSuggestions', page).checked();
|
||||
user.Configuration.DisplayMissingEpisodes = page.querySelector('.chkDisplayMissingEpisodes').checked;
|
||||
user.Configuration.DisplayUnairedEpisodes = page.querySelector('.chkDisplayUnairedEpisodes').checked;
|
||||
user.Configuration.IncludeTrailersInSuggestions = page.querySelector('.chkDisplayTrailersWithinMovieSuggestions').checked;
|
||||
user.Configuration.GroupMoviesIntoBoxSets = page.querySelector('.chkGroupMoviesIntoCollections').checked;
|
||||
|
||||
AppSettings.enableFullScreen($('#chkEnableFullScreen', page).checked());
|
||||
AppSettings.enableFullScreen(page.querySelector('.chkEnableFullScreen').checked);
|
||||
|
||||
appStorage.setItem('enableThemeSongs-' + user.Id, $('#selectThemeSong', page).val());
|
||||
appStorage.setItem('enableBackdrops-' + user.Id, $('#selectBackdrop', page).val());
|
||||
|
||||
AppSettings.enableSyncToExternalStorage($('#chkSyncToExternalCard', page).checked());
|
||||
AppSettings.enableSyncToExternalStorage(page.querySelector('.chkSyncToExternalCard').checked);
|
||||
|
||||
ApiClient.updateUserConfiguration(user.Id, user.Configuration).done(function () {
|
||||
Dashboard.alert(Globalize.translate('SettingsSaved'));
|
||||
|
|
|
@ -159,9 +159,8 @@
|
|||
|
||||
function loadForm(page, user, displayPreferences) {
|
||||
|
||||
$('#chkDisplayCollectionView', page).checked(user.Configuration.DisplayCollectionsView || false).checkboxradio("refresh");
|
||||
|
||||
$('#chkHidePlayedFromLatest', page).checked(user.Configuration.HidePlayedInLatest || false).checkboxradio("refresh");
|
||||
page.querySelector('.chkDisplayCollectionView').checked = user.Configuration.DisplayCollectionsView || false;
|
||||
page.querySelector('.chkHidePlayedFromLatest').checked = user.Configuration.HidePlayedInLatest || false;
|
||||
|
||||
$('#selectHomeSection1', page).val(displayPreferences.CustomPrefs.home0 || '').selectmenu("refresh");
|
||||
$('#selectHomeSection2', page).val(displayPreferences.CustomPrefs.home1 || '').selectmenu("refresh");
|
||||
|
@ -191,9 +190,8 @@
|
|||
|
||||
function saveUser(page, user, displayPreferences) {
|
||||
|
||||
user.Configuration.DisplayCollectionsView = $('#chkDisplayCollectionView', page).checked();
|
||||
|
||||
user.Configuration.HidePlayedInLatest = $('#chkHidePlayedFromLatest', page).checked();
|
||||
user.Configuration.DisplayCollectionsView = page.querySelector('.chkDisplayCollectionView').checked;
|
||||
user.Configuration.HidePlayedInLatest = page.querySelector('.chkHidePlayedFromLatest').checked;
|
||||
|
||||
user.Configuration.LatestItemsExcludes = $(".chkIncludeInLatest:not(:checked)", page).get().map(function (i) {
|
||||
|
||||
|
@ -239,7 +237,7 @@
|
|||
|
||||
function onSubmit() {
|
||||
|
||||
var page = $(this).parents('.page');
|
||||
var page = $(this).parents('.page')[0];
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
|
|
|
@ -28,11 +28,11 @@
|
|||
});
|
||||
|
||||
$('#selectSubtitlePlaybackMode', page).val(user.Configuration.SubtitleMode || "").selectmenu("refresh").trigger('change');
|
||||
$('#chkPlayDefaultAudioTrack', page).checked(user.Configuration.PlayDefaultAudioTrack || false).checkboxradio("refresh");
|
||||
$('#chkEnableCinemaMode', page).checked(user.Configuration.EnableCinemaMode || false).checkboxradio("refresh");
|
||||
|
||||
$('#chkEnableChromecastAc3', page).checked(AppSettings.enableChromecastAc3()).checkboxradio("refresh");
|
||||
$('#chkExternalVideoPlayer', page).checked(AppSettings.enableExternalPlayers()).checkboxradio("refresh");
|
||||
page.querySelector('.chkPlayDefaultAudioTrack').checked = user.Configuration.PlayDefaultAudioTrack || false;
|
||||
page.querySelector('.chkEnableCinemaMode').checked = user.Configuration.EnableCinemaMode || false;
|
||||
page.querySelector('.chkEnableChromecastAc3').checked = AppSettings.enableChromecastAc3();
|
||||
page.querySelector('.chkExternalVideoPlayer').checked = AppSettings.enableExternalPlayers();
|
||||
|
||||
var bitrateOptions = MediaPlayer.getVideoQualityOptions().map(function (i) {
|
||||
|
||||
|
@ -81,8 +81,8 @@
|
|||
user.Configuration.SubtitleLanguagePreference = $('#selectSubtitleLanguage', page).val();
|
||||
|
||||
user.Configuration.SubtitleMode = $('#selectSubtitlePlaybackMode', page).val();
|
||||
user.Configuration.PlayDefaultAudioTrack = $('#chkPlayDefaultAudioTrack', page).checked();
|
||||
user.Configuration.EnableCinemaMode = $('#chkEnableCinemaMode', page).checked();
|
||||
user.Configuration.PlayDefaultAudioTrack = page.querySelector('.chkPlayDefaultAudioTrack').checked;
|
||||
user.Configuration.EnableCinemaMode = page.querySelector('.chkEnableCinemaMode').checked;
|
||||
|
||||
ApiClient.updateUserConfiguration(user.Id, user.Configuration).done(function () {
|
||||
Dashboard.alert(Globalize.translate('SettingsSaved'));
|
||||
|
@ -98,10 +98,11 @@
|
|||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
AppSettings.enableExternalPlayers($('#chkExternalVideoPlayer', page).checked());
|
||||
AppSettings.enableExternalPlayers(page.querySelector('.chkExternalVideoPlayer').checked);
|
||||
|
||||
AppSettings.maxStreamingBitrate($('#selectMaxBitrate', page).val());
|
||||
AppSettings.maxChromecastBitrate($('#selectMaxChromecastBitrate', page).val());
|
||||
AppSettings.enableChromecastAc3($('#chkEnableChromecastAc3', page).checked());
|
||||
AppSettings.enableExternalPlayers(page.querySelector('.chkEnableChromecastAc3').checked);
|
||||
|
||||
var userId = getParameterByName('userId') || Dashboard.getCurrentUserId();
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
|
||||
Dashboard.hideLoadingMsg();
|
||||
|
||||
var page = $.mobile.activePage;
|
||||
var page = $($.mobile.activePage)[0];
|
||||
|
||||
reloadUser(page);
|
||||
}
|
||||
|
@ -246,7 +246,7 @@
|
|||
$('#btnResetEasyPassword', page).hide();
|
||||
}
|
||||
|
||||
$('#chkEnableLocalEasyPassword', page).checked(user.Configuration.EnableLocalPassword).checkboxradio('refresh');
|
||||
page.querySelector('.chkEnableLocalEasyPassword').checked = user.Configuration.EnableLocalPassword;
|
||||
});
|
||||
|
||||
$('#txtCurrentPassword', page).val('');
|
||||
|
@ -277,7 +277,7 @@
|
|||
|
||||
ApiClient.getUser(userId).done(function (user) {
|
||||
|
||||
user.Configuration.EnableLocalPassword = $('#chkEnableLocalEasyPassword', page).checked();
|
||||
user.Configuration.EnableLocalPassword = page.queryselector('.chkEnableLocalEasyPassword').checked;
|
||||
|
||||
ApiClient.updateUserConfiguration(user.Id, user.Configuration).done(function () {
|
||||
|
||||
|
@ -313,7 +313,7 @@
|
|||
|
||||
self.onSubmit = function () {
|
||||
|
||||
var page = $.mobile.activePage;
|
||||
var page = $($.mobile.activePage)[0];
|
||||
|
||||
if ($('#txtNewPassword', page).val() != $('#txtNewPasswordConfirm', page).val()) {
|
||||
|
||||
|
@ -332,7 +332,7 @@
|
|||
|
||||
self.onLocalAccessSubmit = function () {
|
||||
|
||||
var page = $.mobile.activePage;
|
||||
var page = $($.mobile.activePage)[0];
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
|
@ -347,7 +347,7 @@
|
|||
|
||||
var msg = Globalize.translate('PasswordResetConfirmation');
|
||||
|
||||
var page = $.mobile.activePage;
|
||||
var page = $($.mobile.activePage)[0];
|
||||
|
||||
Dashboard.confirm(msg, Globalize.translate('PasswordResetHeader'), function (result) {
|
||||
|
||||
|
@ -377,7 +377,7 @@
|
|||
|
||||
var msg = Globalize.translate('PinCodeResetConfirmation');
|
||||
|
||||
var page = $.mobile.activePage;
|
||||
var page = $($.mobile.activePage)[0];
|
||||
|
||||
Dashboard.confirm(msg, Globalize.translate('HeaderPinCodeReset'), function (result) {
|
||||
|
||||
|
|
|
@ -778,7 +778,7 @@ var Dashboard = {
|
|||
html = '';
|
||||
|
||||
if (user.localUser && user.localUser.Policy.EnableUserPreferenceAccess) {
|
||||
html += '<p><a data-mini="true" data-role="button" href="mypreferencesdisplay.html?userId=' + user.localUser.Id + '" data-icon="gear">' + Globalize.translate('ButtonSettings') + '</button></a>';
|
||||
html += '<p><a data-mini="true" data-role="button" href="mypreferencesmenu.html?userId=' + user.localUser.Id + '" data-icon="gear">' + Globalize.translate('ButtonSettings') + '</button></a>';
|
||||
}
|
||||
|
||||
$('.preferencesContainer', elem).html(html).trigger('create');
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
$('#fldConnectInfo', page).show();
|
||||
}
|
||||
|
||||
$('.lnkEditUserPreferences', page).attr('href', 'mypreferencesdisplay.html?userId=' + user.Id);
|
||||
$('.lnkEditUserPreferences', page).attr('href', 'mypreferencesmenu.html?userId=' + user.Id);
|
||||
|
||||
Dashboard.setPageTitle(user.Name);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue