EmbyCrackedClient/web/transcoding/codeceditor.js

1 line
7 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import dialogHelper from"./../modules/dialoghelper/dialoghelper.js";import layoutManager from"./../modules/layoutmanager.js";import globalize from"./../modules/common/globalize.js";import loading from"./../modules/loading/loading.js";import genericedit from"./../modules/genericedit/genericedit.js";import formHelper from"./../modules/common/responsehelper.js";import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import"./../modules/emby-elements/emby-input/emby-input.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-checkbox/emby-checkbox.js";import"./../modules/emby-elements/emby-select/emby-select.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import"./../modules/emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";let hasChanges;function getValue(sourceObject,propertyPath){let subObject=sourceObject;var pathElements=propertyPath.split(".");for(let i=0;i<pathElements.length;i++){var pathElement=pathElements[i].replace("colitem","");if(!Object.hasOwn(subObject,pathElement))return null;subObject=subObject[pathElement]}return subObject}function setValue(sourceObject,propertyPath,value){let subObject=sourceObject;var pathElements=propertyPath.split(".");for(let i=0;i<pathElements.length-1;i++){var pathElement=pathElements[i].replace("colitem","");if(!Object.hasOwn(subObject,pathElement))return;subObject=subObject[pathElement]}sourceObject=pathElements[pathElements.length-1];subObject[sourceObject]=value}function showEditorInternal(apiClient,codec,editObjectContainer,template){var dialogOptions={removeOnClose:!(hasChanges=!1),scrollY:!0};editObjectContainer&&(layoutManager.tv?dialogOptions.size="fullscreen":dialogOptions.size="small");let dlg=dialogHelper.createDialog(dialogOptions);dlg.classList.add("formDialog"),dlg.classList.add("codecEditorDialog"),dlg.innerHTML=globalize.translateDocument(template,"sharedcomponents");var dialogOptions=dlg.querySelector(".btnSave"),template=dlg.querySelector(".btnReset");let editContainer=dlg.querySelector(".codecConfig");return dlg.querySelector(".formDialogHeaderTitle").innerHTML=codec.IsHardwareCodec?codec.Name:codec.MediaTypeName,editObjectContainer?(dlg.querySelector(".formDialogFooter").classList.remove("hide"),dlg.querySelector(".warningBanner").classList.remove("hide"),editObjectContainer.EditorRoot.DisplayName=null,dialogOptions.classList.remove("hide"),template.classList.remove("hide"),genericedit.renderForm(editObjectContainer,editContainer).then(function(){genericedit.setFormValues(editObjectContainer,editContainer)}),template.addEventListener("click",function(){var editors=editObjectContainer.EditorRoot.EditorItems;for(let n=0;n<editors.length;n++){var editor=editors[n],defval=getValue(editObjectContainer.DefaultObject,editor.Id);setValue(editObjectContainer.Object,editor.Id,defval)}genericedit.setFormValues(editObjectContainer,editContainer)})):(dialogOptions=createCodecInfo(codec),dlg.querySelector(".codecInfo").innerHTML=dialogOptions),loading.hide(),dlg.querySelector("form").addEventListener("submit",function(e){genericedit.getItemValues(editObjectContainer,editContainer);var url=apiClient.getUrl("Encoding/CodecParameters",{CodecId:codec.Id,ParameterContext:"Playback"});return apiClient.ajax({type:"POST",url:url,data:JSON.stringify(editObjectContainer.Object),contentType:"application/json"}).then(function(result){dialogHelper.close(dlg),formHelper.handleConfigurationSavedResponse(result)},formHelper.handleErrorResponse),e.preventDefault(),!1}),new Promise(function(resolve,reject){dlg.addEventListener("close",function(){(hasChanges?resolve:reject)()}),dialogHelper.open(dlg)})}function createCodecInfo(codec){var infoSections=[],codec=(infoSections.push(codec.Description),infoSections.push(createCodecInfo1(codec)),infoSections.push(createProfilesTable(codec)),infoSections.map(wrapInfoSection).join(""));return codec}function createCodecInfo1(codec){var rows=[],frameSize=(codec.MaxBitRate&&rows.push(createRowV(["Max Bitrate: ",codec.MaxBitRate])),[]),frameSize=(