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

1 line
11 KiB
JavaScript

define(["exports","./../modules/viewmanager/basesettingsview.js","./../modules/common/servicelocator.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/common/usersettings/usersettings.js","./../modules/common/usersettings/usersettingsbuilder.js","./../modules/loading/loading.js","./../modules/common/globalize.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-elements/emby-select/emby-select.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-input/emby-input.js","./../modules/emby-elements/emby-checkbox/emby-checkbox.js","./../modules/layoutmanager.js","./../modules/common/appsettings.js","./../modules/common/qualityoptions.js","./../modules/browser.js"],function(_exports,_basesettingsview,_servicelocator,_connectionmanager,_usersettings,_usersettingsbuilder,_loading,_globalize,_embyScroller,_embySelect,_embyButton,_embyInput,_embyCheckbox,_layoutmanager,_appsettings,_qualityoptions,_browser){function fillSkipLengths(select){select.innerHTML=[5,10,15,20,25,30].map(function(option){return{name:_globalize.default.translate("ValueSeconds",option),value:1e3*option}}).map(function(o){return'<option value="'+o.value+'">'+o.name+"</option>"}).join("")}function setMaxBitrateIntoField(select,isInNetwork,mediatype){var options="Audio"===mediatype?_qualityoptions.default.getAudioQualityOptions({currentMaxBitrate:_appsettings.default.maxStreamingBitrate(isInNetwork,mediatype),isAutomaticBitrateEnabled:_appsettings.default.enableAutomaticBitrateDetection(isInNetwork,mediatype),enableAuto:!0}):_qualityoptions.default.getVideoQualityOptions({currentMaxBitrate:_appsettings.default.maxStreamingBitrate(isInNetwork,mediatype),isAutomaticBitrateEnabled:_appsettings.default.enableAutomaticBitrateDetection(isInNetwork,mediatype),enableAuto:!0});select.innerHTML=options.map(function(i){return'<option value="'+(i.bitrate||"")+'">'+i.name+"</option>"}).join(""),_appsettings.default.enableAutomaticBitrateDetection(isInNetwork,mediatype)?select.value="":select.value=_appsettings.default.maxStreamingBitrate(isInNetwork,mediatype)}function setMaxBitrateFromField(select,isInNetwork,mediatype){select.value?(_appsettings.default.maxStreamingBitrate(isInNetwork,mediatype,select.value),_appsettings.default.enableAutomaticBitrateDetection(isInNetwork,mediatype,!1)):_appsettings.default.enableAutomaticBitrateDetection(isInNetwork,mediatype,!0)}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(){var select,options;return function(context,user,apiClient){var _screen$orientation,userId=user.Id,loggedInUserId=apiClient.getCurrentUserId();_layoutmanager.default.tv||_browser.default.tv||null==(_screen$orientation=screen.orientation)||!_screen$orientation.lock?context.querySelector(".fldOrientationLock").classList.add("hide"):context.querySelector(".fldOrientationLock").classList.remove("hide"),_servicelocator.appHost.supports("backgroundvideo")?context.querySelector(".fldBackgroundVideo").classList.remove("hide"):context.querySelector(".fldBackgroundVideo").classList.add("hide"),_servicelocator.appHost.supports("externalplayerintent")&&userId===loggedInUserId?context.querySelector(".fldExternalPlayer").classList.remove("hide"):context.querySelector(".fldExternalPlayer").classList.add("hide"),userId===loggedInUserId?(context.querySelector(".qualitySections").classList.remove("hide"),_servicelocator.appHost.supports("chromecast")?context.querySelector(".fldChromecastQuality").classList.remove("hide"):context.querySelector(".fldChromecastQuality").classList.add("hide")):(context.querySelector(".qualitySections").classList.add("hide"),context.querySelector(".fldChromecastQuality").classList.add("hide")),_servicelocator.appHost.supports("changerefreshrate")?(context.querySelector(".fldEnableRefreshRate").classList.remove("hide"),context.querySelector(".fldEnableResolutionSwitch").classList.remove("hide")):(context.querySelector(".fldEnableRefreshRate").classList.add("hide"),context.querySelector(".fldEnableResolutionSwitch").classList.add("hide")),"554ae9ea56b94c1c82cc628f6de52d85"===apiClient.serverId()?context.querySelector(".fldEnableNextVideoOverlay").classList.add("hide"):context.querySelector(".fldEnableNextVideoOverlay").classList.remove("hide"),_servicelocator.appHost.supports("multiserver")?(context.querySelector(".fldVideoInNetworkQuality").classList.remove("hide"),context.querySelector(".fldVideoInternetQuality").classList.remove("hide"),user.Policy.EnableAudioPlaybackTranscoding?context.querySelector(".musicQualitySection").classList.remove("hide"):context.querySelector(".musicQualitySection").classList.add("hide")):apiClient.getEndpointInfo().then(function(endpointInfo){endpointInfo.IsInNetwork?(context.querySelector(".fldVideoInNetworkQuality").classList.remove("hide"),context.querySelector(".fldVideoInternetQuality").classList.add("hide"),context.querySelector(".musicQualitySection").classList.add("hide")):(context.querySelector(".fldVideoInNetworkQuality").classList.add("hide"),context.querySelector(".fldVideoInternetQuality").classList.remove("hide"),user.Policy.EnableAudioPlaybackTranscoding?context.querySelector(".musicQualitySection").classList.remove("hide"):context.querySelector(".musicQualitySection").classList.add("hide"))})}(context,user,apiClient),select=context.querySelector(".selectChromecastVideoQuality"),options=_qualityoptions.default.getVideoQualityOptions({currentMaxBitrate:_appsettings.default.maxChromecastBitrate(),isAutomaticBitrateEnabled:!_appsettings.default.maxChromecastBitrate(),enableAuto:!0}),select.innerHTML=options.map(function(i){return'<option value="'+(i.bitrate||"")+'">'+i.name+"</option>"}).join(""),function(context,apiClient){"554ae9ea56b94c1c82cc628f6de52d85"===apiClient.serverId()?context.querySelector(".fldEpisodeAutoPlay").classList.add("hide"):context.querySelector(".fldEpisodeAutoPlay").classList.remove("hide")}(context,apiClient),apiClient.getCultures().then(function(allCultures){var select=context.querySelector(".selectAudioLanguage"),languages=allCultures,html="";html+="<option value=''>"+_globalize.default.translate("AnyLanguage")+"</option>";for(var i=0,length=languages.length;i<length;i++){var culture=languages[i];html+="<option value='"+culture.TwoLetterISOLanguageName+"'>"+culture.DisplayName+"</option>"}select.innerHTML=html,_loading.default.hide()})})})}function onTrackSelectionsCleared(){_loading.default.hide()}function onClearSavedTrackSelectionsClick(e){var options=this,mode=e.target.closest("button").getAttribute("data-mode");return function(options){return Emby.importModule("./modules/common/dialogs/confirm.js").then(function(confirm){return confirm(options)})}({title:_globalize.default.translate("HeaderClearTrackSelections"),text:_globalize.default.translate("QuestionClearSavedTracks"),confirmText:_globalize.default.translate("HeaderClearTrackSelections"),primary:"cancel"}).then(function(){return _loading.default.show(),_connectionmanager.default.getApiClient(options.serverId).clearUserTrackSelections(options.userId,mode).then(onTrackSelectionsCleared,onTrackSelectionsCleared)})}function onSelectVideoUnderUIChange(e){var form=this.closest("form");_layoutmanager.default.tv&&"stop"===this.value?form.querySelector(".fldHideMediaTransport").classList.remove("hide"):form.querySelector(".fldHideMediaTransport").classList.add("hide")}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("form").addEventListener("submit",function(e){return e.preventDefault(),!1}.bind(apiClient)),apiClient.element.querySelector(".btnClearTrackSelections").addEventListener("click",onClearSavedTrackSelectionsClick.bind(apiClient)),apiClient.element.querySelector(".selectVideoUnderUI").addEventListener("change",onSelectVideoUnderUIChange),apiClient.element.querySelectorAll(".featurePremiereInfo")),i=0,length=featurePremiereInfo.length;i<length;i++)featurePremiereInfo[i].innerHTML=_globalize.default.translate("FeatureRequiresEmbyPremiere","","");view.querySelector(".selectResumeRewind").innerHTML=[0,5,10,15,20].map(function(option){return{name:_globalize.default.translate("ValueSeconds",option),value:option}}).map(function(o){return'<option value="'+o.value+'">'+o.name+"</option>"}).join(""),fillSkipLengths(view.querySelector(".selectSkipForwardLength")),fillSkipLengths(view.querySelector(".selectSkipBackLength"))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,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.loadAutoSetting=function(elem){if(elem.classList.contains("selectVideoInNetworkQuality"))setMaxBitrateIntoField(elem,!0,"Video");else if(elem.classList.contains("selectVideoInternetQuality"))setMaxBitrateIntoField(elem,!1,"Video");else{if(!elem.classList.contains("selectMusicInternetQuality"))return _basesettingsview.default.prototype.loadAutoSetting.apply(this,arguments);setMaxBitrateIntoField(elem,!1,"Audio")}},View.prototype.getSettingValueFromOwner=function(owner,method){return"enableVideoUnderUI"!==method?_basesettingsview.default.prototype.getSettingValueFromOwner.apply(this,arguments):_basesettingsview.default.prototype.getSettingValueFromOwner.apply(this,arguments)?"play":"stop"},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.saveAutoSettingIntoOwner=function(elem,owner,memberInfo,value){if("enableVideoUnderUI"===memberInfo.member)return _basesettingsview.default.prototype.saveAutoSettingIntoOwner.call(this,elem,owner,memberInfo,value="play"===value);if("selectVideoInNetworkQuality"===memberInfo.member)setMaxBitrateFromField(elem,!0,"Video");else if("selectVideoInternetQuality"===memberInfo.member)setMaxBitrateFromField(elem,!1,"Video");else{if("selectMusicInternetQuality"!==memberInfo.member)return _basesettingsview.default.prototype.saveAutoSettingIntoOwner.apply(this,arguments);setMaxBitrateFromField(elem,!1,"Audio")}},View.prototype.destroy=function(){_basesettingsview.default.prototype.destroy.apply(this,arguments),this.settingsOptions=null},_exports.default=View});