dashboard-ui/settings/display.js
2023-08-31 15:30:17 +02:00

1 line
9.3 KiB
JavaScript

define(["exports","./../modules/viewmanager/basesettingsview.js","./../modules/loading/loading.js","./../modules/common/globalize.js","./../modules/emby-elements/emby-input/emby-input.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-checkbox/emby-checkbox.js","./../modules/emby-elements/emby-select/emby-select.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-elements/emby-slider/emby-slider.js","./../modules/common/datetime.js","./../modules/layoutmanager.js","./../modules/common/usersettings/usersettings.js","./../modules/common/usersettings/usersettingsbuilder.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/common/pluginmanager.js","./../modules/skinmanager.js","./../modules/common/servicelocator.js"],function(_exports,_basesettingsview,_loading,_globalize,_embyInput,_embyButton,_embyCheckbox,_embySelect,_embyScroller,_embySlider,_datetime,_layoutmanager,_usersettings,_usersettingsbuilder,_connectionmanager,_pluginmanager,_skinmanager,_servicelocator){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var supportsCssVariables=CSS.supports("color","var(--fake-var)"),supportsCalc=CSS.supports("width","min(45.2%,calc(100% - .65em))"),supportsMin=CSS.supports("width","min(10em, 5vw)");function fillThemes(select,isSettings){for(var mainThemeValue,themes=_skinmanager.default.getThemes(),defaultFound=!1,i=0,length=themes.length;i<length;i++){var theme=themes[i],value=theme.id;(theme.isDefault&&!isSettings||theme.isSettingsDefault&&isSettings)&&(defaultFound=!(value="")),theme.value=value}isSettings&&(mainThemeValue=isSettings&&!defaultFound?"":"maintheme",themes.unshift({name:_globalize.default.translate("SameAsMainTheme"),id:"maintheme",value:mainThemeValue,isSettingsDefault:_servicelocator.appHost.supports("multiserver")})),select.innerHTML=themes.map(function(t){return'<option value="'+t.value+'">'+t.name+"</option>"}).join("")}function normalizeCardSize(cardSize){switch(cardSize){case"normal":case"default":return"";default:return cardSize}}function loadData(options){var context=options.element,userId=(_loading.default.show(),options.userId),apiClient=_connectionmanager.default.getApiClient(options.serverId),userSettings=options.userSettings;return apiClient.getUser(userId).then(function(user){return options.user=user,(userId===apiClient.getCurrentUserId()?Promise.resolve():userSettings.setUserInfo(userId,apiClient)).then(function(){!function(context,apiClient){_servicelocator.appHost.supports("displaymode")?context.querySelector(".fldDisplayMode").classList.remove("hide"):context.querySelector(".fldDisplayMode").classList.add("hide"),_servicelocator.appHost.supports("externallinks")&&_servicelocator.appHost.supports("externalappinfo")?context.querySelector(".learnHowToContributeContainer").classList.remove("hide"):context.querySelector(".learnHowToContributeContainer").classList.add("hide"),_servicelocator.appHost.supports("runatstartup")?context.querySelector(".fldAutorun").classList.remove("hide"):context.querySelector(".fldAutorun").classList.add("hide"),_servicelocator.appHost.supports("soundeffects")&&_layoutmanager.default.tv?context.querySelector(".fldSoundEffects").classList.remove("hide"):context.querySelector(".fldSoundEffects").classList.add("hide"),_servicelocator.appHost.supports("screensaver")?context.querySelector(".selectScreensaverContainer").classList.remove("hide"):context.querySelector(".selectScreensaverContainer").classList.add("hide"),_datetime.default.supportsLocalization()?context.querySelector(".fldDateTimeLocale").classList.remove("hide"):context.querySelector(".fldDateTimeLocale").classList.add("hide"),supportsCssVariables?context.querySelector(".fldAccentColor").classList.remove("hide"):context.querySelector(".fldAccentColor").classList.add("hide"),"554ae9ea56b94c1c82cc628f6de52d85"!==apiClient.serverId()?(context.querySelector(".fldBackdrops").classList.remove("hide"),context.querySelector(".fldThemeSong").classList.remove("hide"),context.querySelector(".fldThemeVideo").classList.remove("hide")):(context.querySelector(".fldBackdrops").classList.add("hide"),context.querySelector(".fldThemeSong").classList.add("hide"),context.querySelector(".fldThemeVideo").classList.add("hide")),supportsCalc&&supportsMin&&supportsCssVariables?context.querySelector(".fldCardSize").classList.remove("hide"):context.querySelector(".fldCardSize").classList.add("hide"),function(context,apiClient){"554ae9ea56b94c1c82cc628f6de52d85"===apiClient.serverId()?context.querySelector(".fldDisplayMissingEpisodes").classList.add("hide"):context.querySelector(".fldDisplayMissingEpisodes").classList.remove("hide")}(context,apiClient)}(context,apiClient),_loading.default.hide()})})}function setPremiereText(elem,key){_servicelocator.appHost.supports("externallinks")&&_servicelocator.appHost.supports("externalpremium")?elem.innerHTML=_globalize.default.translate(key,'<a is="emby-linkbutton" href="https://emby.media/premiere" data-preset="premiereinfo" target="_blank" class="button-link">',"</a>"):elem.innerHTML=_globalize.default.translate(key,"","")}function View(view,params){_basesettingsview.default.apply(this,arguments);for(var apiClient=_connectionmanager.default.getApiClient(params.serverId),userId=params.userId||apiClient.getCurrentUserId(),userSettings=userId===apiClient.getCurrentUserId()?_usersettings.default:new _usersettingsbuilder.default,apiClient={serverId:apiClient.serverId(),userId:userId,element:view.querySelector(".settingsContainer"),userSettings:userSettings},featurePremiereInfo=((this.settingsOptions=apiClient).element.querySelector(".selectLayout").addEventListener("change",function(e){e=e.target.closest(".settingsContainer").querySelector(".selectCardSize"),this.setFieldValue(e,normalizeCardSize("normal"),!0)}.bind(this)),apiClient.element.querySelector("form").addEventListener("submit",function(e){return e.preventDefault(),!1}.bind(this)),apiClient.element.querySelectorAll(".featurePremiereInfo")),i=0,length=featurePremiereInfo.length;i<length;i++)setPremiereText(featurePremiereInfo[i],"FeatureRequiresEmbyPremiere");!function(view){var displayModePremiere=view.querySelector(".displayModePremiere");setPremiereText(displayModePremiere,"PlaybackTvModeRequiresEmbyPremiere"),_servicelocator.iapManager.isUnlockedByDefault("playback").then(function(result){_servicelocator.iapManager.isUnlockedByDefault("playback-tv").then(function(result){displayModePremiere.classList.add("hide")},function(result){displayModePremiere.classList.remove("hide")})},function(result){displayModePremiere.classList.add("hide")})}(view);userId=view.querySelector(".selectTheme"),userSettings=view.querySelector(".selectSettingsTheme");fillThemes(userId),fillThemes(userSettings,!0),function(context){var context=context.querySelector(".selectScreensaver"),options=_pluginmanager.default.ofType("screensaver").map(function(plugin){return{name:plugin.name,value:plugin.id}});options.unshift({name:_globalize.default.translate("None"),value:"none"}),context.innerHTML=options.map(function(o){return'<option value="'+o.value+'">'+o.name+"</option>"}).join("")}(view),function(context){var context=context.querySelector(".selectSoundEffects"),options=_pluginmanager.default.ofType("soundeffects").map(function(plugin){return{name:plugin.name,value:plugin.id}});options.unshift({name:_globalize.default.translate("None"),value:"none"}),context.innerHTML=options.map(function(o){return'<option value="'+o.value+'">'+o.name+"</option>"}).join("")}(view)}function revertToNoneIfNeeded(elem,value){return value&&elem.querySelector('option[value="'+value+'"]')?value:"none"}Object.assign(View.prototype,_basesettingsview.default.prototype),View.prototype.loadSettingsInternal=function(){var instance=this;return loadData(instance.settingsOptions).then(function(){return instance.loadAutoSettings()})},View.prototype.getAutoSettingsObjectsPromises=function(){var options,list=_basesettingsview.default.prototype.getAutoSettingsObjectsPromises.apply(this,arguments);return list.push((options=this.settingsOptions,Promise.resolve({key:"userconfiguration",value:options.user.Configuration}))),list},View.prototype.getSettingValueFromOwner=function(owner,method){switch(method){case"getEnableLogoAsTitle":return this.settingsOptions.userSettings.getEnableLogoAsTitle(_globalize.default.getCurrentLocale());case"cardSize":return normalizeCardSize(_basesettingsview.default.prototype.getSettingValueFromOwner.apply(this,arguments));case"soundEffects":return revertToNoneIfNeeded(this.view.querySelector(".selectSoundEffects"),_basesettingsview.default.prototype.getSettingValueFromOwner.apply(this,arguments));case"screensaver":return revertToNoneIfNeeded(this.view.querySelector(".selectScreensaver"),_basesettingsview.default.prototype.getSettingValueFromOwner.apply(this,arguments));default:return _basesettingsview.default.prototype.getSettingValueFromOwner.apply(this,arguments)}},View.prototype.getNamedSettingsOwner=function(owner){switch(owner){case"usersettings":return this.settingsOptions.userSettings;case"userconfiguration":return this.settingsOptions.user.Configuration;default:return _basesettingsview.default.prototype.getNamedSettingsOwner.apply(this,arguments)}},View.prototype.getUserConfigurationUserId=function(){return this.settingsOptions.userId},View.prototype.destroy=function(){_basesettingsview.default.prototype.destroy.apply(this,arguments),this.settingsOptions=null},_exports.default=View});