1
0
Fork 0
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:
Luke Pulverenti 2016-11-16 01:00:28 -05:00
parent 0291450ffb
commit 71b0be28b8
8 changed files with 226 additions and 126 deletions

View file

@ -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();
}
});
};