define(["exports","./../modules/tabbedview/basetab.js","./../modules/loading/loading.js","./../modules/common/globalize.js","./../modules/formhelper.js","./../modules/genericedit/genericedit.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"],function(_exports,_basetab,_loading,_globalize,_formhelper,_genericedit,_embyInput,_embyButton,_embyCheckbox,_embySelect){function displayError(){}function loadPageLegacy(instance,config){instance=instance.view.querySelector(".selectToneMapping");config.EnableHardwareToneMapping&&config.EnableSoftwareToneMapping?instance.value="both":config.EnableHardwareToneMapping?instance.value="hw":config.EnableSoftwareToneMapping?instance.value="swforced":instance.value="",function(e){var descriptionText,selectContainer=this.closest(".selectContainer"),value=this.value;"both"===value?descriptionText=_globalize.default.translate("ToneMappingInBothDescription"):"hw"===value?descriptionText=_globalize.default.translate("ToneMappingInHardwareDescription"):"swforced"===value&&(descriptionText=_globalize.default.translate("ToneMappingInSoftwareDescription")),(value=selectContainer.querySelector(".toneMappingDescription")).innerHTML=descriptionText||"",descriptionText?value.classList.remove("hide"):value.classList.add("hide")}.call(instance)}function onMediaEncodingInitializaed(instance,apiClient,toneMapOptions){_loading.default.show(),instance.isLegacyView?(function(page,toneMapOptions){var innerHTML;toneMapOptions.OptionsVisibility.IsSoftwareToneMappingAvailable||toneMapOptions.OptionsVisibility.IsAnyHardwareToneMappingAvailable?(innerHTML="",innerHTML+='",toneMapOptions.OptionsVisibility.IsAnyHardwareToneMappingAvailable?innerHTML=(innerHTML+='")+'":innerHTML+='",page.querySelector(".selectToneMapping").innerHTML=innerHTML,page.querySelector(".fldToneMapping").classList.remove("hide")):page.querySelector(".fldToneMapping").classList.add("hide")}(instance.view,toneMapOptions),apiClient.getNamedConfiguration("encoding").then(function(config){loadPageLegacy(instance,config),_loading.default.hide()})):(toneMapOptions=apiClient.getUrl("Encoding/FullToneMapOptions"),apiClient.getJSON(toneMapOptions).then(function(editObjectContainer){instance.editObjectContainer=editObjectContainer,function(instance,editObjectContainer){var editContainer=instance.view.querySelector(".editContainer");editObjectContainer.EditorRoot.DisplayName=null,_genericedit.default.renderForm(editObjectContainer,editContainer).then(function(){_genericedit.default.setFormValues(editObjectContainer,editContainer),_loading.default.hide()})}(instance,editObjectContainer)},displayError))}function checkMediaEncodingInitialization(instance,apiClient){_loading.default.show(),apiClient.getToneMapOptions().then(function(toneMapOptions){var view=instance.view;apiClient.isMinServerVersion("4.8.0.30")?(view.querySelector(".tonemapOptionForm").classList.remove("hide"),view.querySelector(".tonemapOptionForm-legacy").classList.add("hide"),instance.isLegacyView=null):(instance.isLegacyView=!0,view.querySelector(".tonemapOptionForm").classList.add("hide"),view.querySelector(".tonemapOptionForm-legacy").classList.remove("hide")),view.querySelector(".encodingNotInitializedMessage").classList.add("hide"),onMediaEncodingInitializaed(instance,apiClient,toneMapOptions)},function(errorResponse){var view=instance.view;view.querySelector(".tonemapOptionForm").classList.add("hide"),view.querySelector(".tonemapOptionForm-legacy").classList.add("hide"),view.querySelector(".encodingNotInitializedMessage").classList.remove("hide"),503===errorResponse.status?function(instance,apiClient){setTimeout(function(){checkMediaEncodingInitialization(instance,apiClient)},1e3)}(instance,apiClient):_loading.default.hide()})}function ToneMappingTab(view,params){_basetab.default.apply(this,arguments)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(ToneMappingTab.prototype,_basetab.default.prototype),ToneMappingTab.prototype.loadTemplate=function(){return require(["text!transcoding/tonemappingtab.html"])},ToneMappingTab.prototype.onTemplateLoaded=function(){_basetab.default.prototype.onTemplateLoaded.apply(this,arguments);var view=this.view;view.querySelector(".tonemapOptionForm").addEventListener("submit",function(e){var editContainer=this.view.querySelector(".editContainer"),apiClient=(_loading.default.show(),ApiClient),editObjectContainer=this.editObjectContainer,editContainer=(_genericedit.default.getItemValues(editObjectContainer,editContainer),apiClient.getUrl("Encoding/FullToneMapOptions"));return apiClient.ajax({type:"POST",url:editContainer,data:JSON.stringify(editObjectContainer.Object),contentType:"application/json"}).then(_formhelper.default.handleConfigurationSavedResponse,displayError),e.preventDefault(),e.stopPropagation(),!1}.bind(this)),view.querySelector(".tonemapOptionForm-legacy").addEventListener("submit",function(e){var form=this.view,apiClient=(_loading.default.show(),ApiClient);return apiClient.getNamedConfiguration("encoding").then(function(config){var selectToneMappingValue=form.querySelector(".selectToneMapping").value;"both"===selectToneMappingValue?(config.EnableHardwareToneMapping=!0,config.EnableSoftwareToneMapping=!0):"hw"===selectToneMappingValue?(config.EnableHardwareToneMapping=!0,config.EnableSoftwareToneMapping=!1):"swforced"===selectToneMappingValue?(config.EnableHardwareToneMapping=!1,config.EnableSoftwareToneMapping=!0):(config.EnableHardwareToneMapping=!1,config.EnableSoftwareToneMapping=!1),apiClient.updateNamedConfiguration("encoding",config).then(function(response){_loading.default.hide(),_formhelper.default.handleConfigurationSavedResponse(response)})}),e.preventDefault(),e.stopPropagation(),!1}.bind(this))},ToneMappingTab.prototype.onResume=function(options){_basetab.default.prototype.onResume.apply(this,arguments),checkMediaEncodingInitialization(this,ApiClient)},ToneMappingTab.prototype.destroy=function(){_basetab.default.prototype.destroy.apply(this,arguments),this.editObjectContainer=null,this.isLegacyView=null},_exports.default=ToneMappingTab});