EmbyCrackedClient/web/modules/refreshdialog/refreshdialog.js
2025-06-25 11:46:04 +08:00

1 line
No EOL
3.8 KiB
JavaScript

import dialogHelper from"./../dialoghelper/dialoghelper.js";import layoutManager from"./../layoutmanager.js";import globalize from"./../common/globalize.js";import loading from"./../loading/loading.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import"./../emby-elements/emby-checkbox/emby-checkbox.js";import"./../emby-elements/emby-select/emby-select.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";function getEditorHtml(){var html="";return html+'<div is="emby-scroller" data-horizontal="false" data-focusscroll="true" class="formDialogContent">'+'<div class="scrollSlider">'+'<form class="dialogContentInner dialog-content-centered padded-left padded-right">'+'<div class="fldSelectPlaylist selectContainer">'+('<select is="emby-select" class="selectMetadataRefreshMode" label="'+globalize.translate("LabelRefreshMode")+'">')+('<option value="missing">'+globalize.translate("SearchForMissingMetadata")+"</option>")+('<option value="all" selected>'+globalize.translate("ReplaceAllMetadata")+"</option>")+"</select>"+'<div class="fieldDescription">'+globalize.translate("RefreshDialogHelp")+"</div>"+"</div>"+'<div class="checkboxContainer checkboxContainer-withDescription hide fldReplaceExistingImages">'+"<label>"+'<input type="checkbox" is="emby-checkbox" class="chkReplaceImages" />'+("<span>"+globalize.translate("ReplaceExistingImages")+"</span>")+"</label>"+'<div class="checkboxFieldDescription fieldDescription">'+globalize.translate("ReplaceExistingImagesHelp")+"</div>"+"</div>"+"<br />"+'<div class="formDialogFooter">'+('<button is="emby-button" type="submit" class="raised btnSubmit block formDialogFooterItem button-submit">'+globalize.translate("Refresh")+"</button>")+"</div>"+"</form>"+"</div>"+"</div>"}function showToast(options){return Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function onSubmit(e){loading.show();var dlg=e.target.closest(".dialog"),options=this.options,replaceAllMetadata="all"===dlg.querySelector(".selectMetadataRefreshMode").value,mode="FullRefresh",replaceAllImages=dlg.querySelector(".chkReplaceImages").checked,options=options.items;return connectionManager.getApiClient(options[0]).refreshItems(options,{Recursive:!0,ImageRefreshMode:mode,MetadataRefreshMode:mode,ReplaceAllImages:replaceAllImages,ReplaceAllMetadata:replaceAllMetadata}),dialogHelper.close(dlg),showToast(globalize.translate("RefreshingMetadataDots")),loading.hide(),e.preventDefault(),!1}function RefreshDialog(options){this.options=options}require(["material-icons","formDialogStyle","flexStyles"]),RefreshDialog.prototype.show=function(){var dialogOptions={removeOnClose:!0,scrollY:!1};layoutManager.tv?dialogOptions.size="fullscreen":dialogOptions.size="small";let dlg=dialogHelper.createDialog(dialogOptions);dlg.classList.add("formDialog");dialogOptions=(dialogOptions=(dialogOptions='<div class="formDialogHeader"><button type="button" is="emby-dialogclosebutton"></button>')+'<h3 class="formDialogHeaderTitle">'+globalize.translate("HeaderRefreshMetadata")+"</h3></div>")+getEditorHtml();return dlg.innerHTML=dialogOptions,dlg.querySelector("form").addEventListener("submit",onSubmit.bind(this)),dlg.querySelector(".selectMetadataRefreshMode").addEventListener("change",function(){dlg.querySelector(".fldReplaceExistingImages").classList.remove("hide")}),this.options.mode&&(dlg.querySelector(".selectMetadataRefreshMode").value=this.options.mode),dlg.querySelector(".selectMetadataRefreshMode").dispatchEvent(new CustomEvent("change")),new Promise(function(resolve,reject){dlg.addEventListener("close",resolve),dialogHelper.open(dlg)})};export default RefreshDialog;