mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update lazy loader
This commit is contained in:
parent
0291450ffb
commit
71b0be28b8
8 changed files with 226 additions and 126 deletions
|
@ -1,4 +1,4 @@
|
|||
define(['listViewStyle'], function () {
|
||||
define(['userSettingsBuilder', 'listViewStyle'], function (userSettingsBuilder) {
|
||||
'use strict';
|
||||
|
||||
function renderViews(page, user, result) {
|
||||
|
@ -113,14 +113,14 @@
|
|||
page.querySelector('.viewOrderList').innerHTML = html;
|
||||
}
|
||||
|
||||
function loadForm(page, user, displayPreferences) {
|
||||
function loadForm(page, user, userSettings) {
|
||||
|
||||
page.querySelector('.chkHidePlayedFromLatest').checked = user.Configuration.HidePlayedInLatest || false;
|
||||
|
||||
page.querySelector('#selectHomeSection1').value = displayPreferences.CustomPrefs.home0 || '';
|
||||
page.querySelector('#selectHomeSection2').value = displayPreferences.CustomPrefs.home1 || '';
|
||||
page.querySelector('#selectHomeSection3').value = displayPreferences.CustomPrefs.home2 || '';
|
||||
page.querySelector('#selectHomeSection4').value = displayPreferences.CustomPrefs.home3 || '';
|
||||
page.querySelector('#selectHomeSection1').value = userSettings.get('homesection0') || '';
|
||||
page.querySelector('#selectHomeSection2').value = userSettings.get('homesection1') || '';
|
||||
page.querySelector('#selectHomeSection3').value = userSettings.get('homesection2') || '';
|
||||
page.querySelector('#selectHomeSection4').value = userSettings.get('homesection3') || '';
|
||||
|
||||
var promise1 = ApiClient.getUserViews({}, user.Id);
|
||||
var promise2 = ApiClient.getJSON(ApiClient.getUrl("Users/" + user.Id + "/GroupingOptions"));
|
||||
|
@ -135,14 +135,6 @@
|
|||
});
|
||||
}
|
||||
|
||||
function displayPreferencesKey() {
|
||||
if (AppInfo.isNativeApp) {
|
||||
return 'Emby Mobile';
|
||||
}
|
||||
|
||||
return 'webclient';
|
||||
}
|
||||
|
||||
function getCheckboxItems(selector, page, isChecked) {
|
||||
|
||||
var inputs = page.querySelectorAll(selector);
|
||||
|
@ -159,7 +151,7 @@
|
|||
return list;
|
||||
}
|
||||
|
||||
function saveUser(page, user, displayPreferences) {
|
||||
function saveUser(page, user, userSettings) {
|
||||
|
||||
user.Configuration.HidePlayedInLatest = page.querySelector('.chkHidePlayedFromLatest').checked;
|
||||
|
||||
|
@ -183,18 +175,15 @@
|
|||
|
||||
user.Configuration.OrderedViews = orderedViews;
|
||||
|
||||
displayPreferences.CustomPrefs.home0 = page.querySelector('#selectHomeSection1').value;
|
||||
displayPreferences.CustomPrefs.home1 = page.querySelector('#selectHomeSection2').value;
|
||||
displayPreferences.CustomPrefs.home2 = page.querySelector('#selectHomeSection3').value;
|
||||
displayPreferences.CustomPrefs.home3 = page.querySelector('#selectHomeSection4').value;
|
||||
userSettings.set('homesection0', page.querySelector('#selectHomeSection1').value);
|
||||
userSettings.set('homesection1', page.querySelector('#selectHomeSection2').value);
|
||||
userSettings.set('homesection2', page.querySelector('#selectHomeSection3').value);
|
||||
userSettings.set('homesection3', page.querySelector('#selectHomeSection4').value);
|
||||
|
||||
return ApiClient.updateDisplayPreferences('home', displayPreferences, user.Id, displayPreferencesKey()).then(function () {
|
||||
|
||||
return ApiClient.updateUserConfiguration(user.Id, user.Configuration);
|
||||
});
|
||||
return ApiClient.updateUserConfiguration(user.Id, user.Configuration);
|
||||
}
|
||||
|
||||
function save(page, userId) {
|
||||
function save(page, userId, userSettings) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
|
@ -204,21 +193,17 @@
|
|||
|
||||
ApiClient.getUser(userId).then(function (user) {
|
||||
|
||||
ApiClient.getDisplayPreferences('home', user.Id, displayPreferencesKey()).then(function (displayPreferences) {
|
||||
saveUser(page, user, userSettings).then(function () {
|
||||
|
||||
saveUser(page, user, displayPreferences).then(function () {
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
if (!AppInfo.enableAutoSave) {
|
||||
require(['toast'], function (toast) {
|
||||
toast(Globalize.translate('SettingsSaved'));
|
||||
});
|
||||
}
|
||||
|
||||
}, function () {
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
Dashboard.hideLoadingMsg();
|
||||
if (!AppInfo.enableAutoSave) {
|
||||
require(['toast'], function (toast) {
|
||||
toast(Globalize.translate('SettingsSaved'));
|
||||
});
|
||||
}
|
||||
|
||||
}, function () {
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -257,14 +242,21 @@
|
|||
|
||||
return function (view, params) {
|
||||
|
||||
var userId = getParameterByName('userId') || Dashboard.getCurrentUserId();
|
||||
var userId = params.userId || Dashboard.getCurrentUserId();
|
||||
var userSettings = new userSettingsBuilder();
|
||||
var userSettingsLoaded;
|
||||
|
||||
function onSubmit(e) {
|
||||
|
||||
save(view, userId);
|
||||
userSettings.setUserInfo(userId, ApiClient).then(function () {
|
||||
|
||||
save(view, userId, userSettings);
|
||||
});
|
||||
|
||||
// Disable default form submission
|
||||
e.preventDefault();
|
||||
if (e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -329,19 +321,18 @@
|
|||
|
||||
ApiClient.getUser(userId).then(function (user) {
|
||||
|
||||
ApiClient.getDisplayPreferences('home', user.Id, displayPreferencesKey()).then(function (result) {
|
||||
userSettings.setUserInfo(userId, ApiClient).then(function () {
|
||||
|
||||
loadForm(page, user, result);
|
||||
userSettingsLoaded = true;
|
||||
|
||||
loadForm(page, user, userSettings);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
view.addEventListener('viewbeforehide', function () {
|
||||
var page = this;
|
||||
|
||||
if (AppInfo.enableAutoSave) {
|
||||
save(page, userId);
|
||||
onSubmit();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue