mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
expand display settings
This commit is contained in:
parent
785230eb8e
commit
e5f32b2f90
81 changed files with 1275 additions and 297 deletions
|
@ -1 +1 @@
|
|||
define(["backdrop","appStorage","libraryMenu"],function(backdrop,appStorage,libraryMenu){"use strict";function enabled(){var apiClient=window.ApiClient;if(!apiClient)return!1;var userId=apiClient.getCurrentUserId(),val=appStorage.getItem("enableBackdrops-"+userId);return"1"==val}function getBackdropItemIds(apiClient,userId,types,parentId){var key="backdrops2_"+userId+(types||"")+(parentId||""),data=cache[key];if(data)return console.log("Found backdrop id list in cache. Key: "+key),data=JSON.parse(data),Promise.resolve(data);var options={SortBy:"IsFavoriteOrLiked,Random",Limit:20,Recursive:!0,IncludeItemTypes:types,ImageTypes:"Backdrop",ParentId:parentId,EnableTotalRecordCount:!1};return apiClient.getItems(apiClient.getCurrentUserId(),options).then(function(result){var images=result.Items.map(function(i){return{Id:i.Id,tag:i.BackdropImageTags[0],ServerId:i.ServerId}});return cache[key]=JSON.stringify(images),images})}function showBackdrop(type,parentId){var apiClient=window.ApiClient;apiClient&&getBackdropItemIds(apiClient,apiClient.getCurrentUserId(),type,parentId).then(function(images){images.length?backdrop.setBackdrops(images.map(function(i){return i.BackdropImageTags=[i.tag],i})):backdrop.clear()})}var cache={};pageClassOn("pagebeforeshow","page",function(){var page=this;if(!page.classList.contains("selfBackdropPage"))if(page.classList.contains("backdropPage"))if(enabled()){var type=page.getAttribute("data-backdroptype"),parentId=page.classList.contains("globalBackdropPage")?"":libraryMenu.getTopParentId();showBackdrop(type,parentId)}else page.classList.remove("backdropPage"),backdrop.clear();else backdrop.clear()})});
|
||||
define(["backdrop","userSettings","libraryMenu"],function(backdrop,userSettings,libraryMenu){"use strict";function enabled(){return userSettings.enableBackdrops()}function getBackdropItemIds(apiClient,userId,types,parentId){var key="backdrops2_"+userId+(types||"")+(parentId||""),data=cache[key];if(data)return console.log("Found backdrop id list in cache. Key: "+key),data=JSON.parse(data),Promise.resolve(data);var options={SortBy:"IsFavoriteOrLiked,Random",Limit:20,Recursive:!0,IncludeItemTypes:types,ImageTypes:"Backdrop",ParentId:parentId,EnableTotalRecordCount:!1};return apiClient.getItems(apiClient.getCurrentUserId(),options).then(function(result){var images=result.Items.map(function(i){return{Id:i.Id,tag:i.BackdropImageTags[0],ServerId:i.ServerId}});return cache[key]=JSON.stringify(images),images})}function showBackdrop(type,parentId){var apiClient=window.ApiClient;apiClient&&getBackdropItemIds(apiClient,apiClient.getCurrentUserId(),type,parentId).then(function(images){images.length?backdrop.setBackdrops(images.map(function(i){return i.BackdropImageTags=[i.tag],i})):backdrop.clear()})}var cache={};pageClassOn("pagebeforeshow","page",function(){var page=this;if(!page.classList.contains("selfBackdropPage"))if(page.classList.contains("backdropPage"))if(enabled()){var type=page.getAttribute("data-backdroptype"),parentId=page.classList.contains("globalBackdropPage")?"":libraryMenu.getTopParentId();showBackdrop(type,parentId)}else page.classList.remove("backdropPage"),backdrop.clear();else backdrop.clear()})});
|
|
@ -1 +1 @@
|
|||
define(["userSettingsBuilder","appStorage","loading","skinManager","emby-linkbutton"],function(userSettingsBuilder,appStorage,loading,skinManager){"use strict";function fillThemes(select,isDashboard){select.innerHTML=skinManager.getThemes().map(function(t){var value=t.id;return t.isDefault&&!isDashboard?value="":t.isDefaultServerDashboard&&isDashboard&&(value=""),'<option value="'+value+'">'+t.name+"</option>"}).join("")}return function(view,params){function loadForm(page,user){user.Policy.IsAdministrator?page.querySelector(".selectDashboardThemeContainer").classList.remove("hide"):page.querySelector(".selectDashboardThemeContainer").classList.add("hide"),userSettingsInstance.setUserInfo(userId,ApiClient).then(function(){var selectTheme=page.querySelector("#selectTheme"),selectDashboardTheme=page.querySelector("#selectDashboardTheme");fillThemes(selectTheme),fillThemes(selectDashboardTheme,!0),userSettingsLoaded=!0,page.querySelector(".chkDisplayMissingEpisodes").checked=user.Configuration.DisplayMissingEpisodes||!1,page.querySelector("#chkThemeSong").checked=userSettingsInstance.enableThemeSongs(),page.querySelector("#selectBackdrop").value=appStorage.getItem("enableBackdrops-"+user.Id)||"0",page.querySelector("#selectLanguage").value=userSettingsInstance.language()||"",selectDashboardTheme.value=userSettingsInstance.dashboardTheme()||"",selectTheme.value=userSettingsInstance.theme()||"",loading.hide()})}function refreshGlobalUserSettings(){require(["userSettings"],function(userSettings){userSettings.importFrom(userSettingsInstance)})}function saveUser(page,user){return user.Configuration.DisplayMissingEpisodes=page.querySelector(".chkDisplayMissingEpisodes").checked,userSettingsLoaded&&(AppInfo.supportsUserDisplayLanguageSetting&&userSettingsInstance.language(page.querySelector("#selectLanguage").value),userSettingsInstance.enableThemeSongs(page.querySelector("#chkThemeSong").checked),userSettingsInstance.dashboardTheme(page.querySelector("#selectDashboardTheme").value),userSettingsInstance.theme(page.querySelector("#selectTheme").value),userId===Dashboard.getCurrentUserId()&&(skinManager.setTheme(userSettingsInstance.theme()||"dark"),refreshGlobalUserSettings())),appStorage.setItem("enableBackdrops-"+user.Id,page.querySelector("#selectBackdrop").value),ApiClient.updateUserConfiguration(user.Id,user.Configuration)}function save(page){autoSave||loading.show(),ApiClient.getUser(userId).then(function(user){saveUser(page,user).then(function(){loading.hide(),autoSave||require(["toast"],function(toast){toast(Globalize.translate("SettingsSaved"))})},function(){loading.hide()})})}var userSettingsLoaded,userId=params.userId||Dashboard.getCurrentUserId(),userSettingsInstance=new userSettingsBuilder,autoSave=!0;view.querySelector(".displayPreferencesForm").addEventListener("submit",function(e){return save(view),e.preventDefault(),!1}),autoSave?view.querySelector(".btnSave").classList.add("hide"):view.querySelector(".btnSave").classList.remove("hide"),view.addEventListener("viewshow",function(){var page=this;loading.show(),ApiClient.getUser(userId).then(function(user){loadForm(page,user)}),AppInfo.supportsUserDisplayLanguageSetting?page.querySelector(".languageSection").classList.remove("hide"):page.querySelector(".languageSection").classList.add("hide")}),view.addEventListener("viewbeforehide",function(){var page=this;autoSave&&save(page)})}});
|
||||
define(["displaySettings","userSettingsBuilder"],function(DisplaySettings,userSettingsBuilder){"use strict";return function(view,params){var settingsInstance,userId=params.userId||ApiClient.getCurrentUserId(),userSettings=new userSettingsBuilder,autoSave=!0;view.addEventListener("viewshow",function(){settingsInstance||(settingsInstance=new DisplaySettings({serverId:ApiClient.serverId(),userId:userId,element:view.querySelector(".settingsContainer"),userSettings:userSettings,enableSaveButton:!autoSave,enableSaveConfirmation:!autoSave})),settingsInstance.loadData()}),view.addEventListener("viewbeforehide",function(){autoSave&&settingsInstance&&settingsInstance.submit()}),view.addEventListener("viewdestroy",function(){settingsInstance&&(settingsInstance.destroy(),settingsInstance=null)})}});
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue