EmbyCrackedClient/web/modules/profilepinprompt/profilepinprompt.js

1 line
7.6 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import layoutManager from"./../layoutmanager.js";import globalize from"./../common/globalize.js";import textEncoding from"./../common/textencoding.js";import dialogHelper from"./../dialoghelper/dialoghelper.js";import focusManager from"./../focusmanager.js";import dom from"./../dom.js";import AlphaPicker from"./../alphapicker/alphapicker.js";import cardBuilder from"./../cardbuilder/cardbuilder.js";import keyboardManager from"./../input/keyboard.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-input/emby-input.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-button/paper-icon-button-light.js";import"./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";function getImageItems(){var item=this.options.user,items=[];return item&&items.push(item),Promise.resolve({Items:items,TotalRecordCount:items.length})}function getImageContainerListOptionsFn(){return function(items){return{renderer:cardBuilder,options:{overlayText:!0,fields:[],action:"none",multiSelect:!1,contextMenu:!1,ratingButton:!1,playedButton:!1,defaultIcon:!0,typeIndicator:!1,playedIndicator:!1,syncIndicator:!1,timerIndicator:!1,randomDefaultBackground:!1,staticElement:!0,enableUserData:!1,draggable:!1,moreButton:!1,programIndicators:!1,keepImageAnimation:!0,cardClass:"profilePinImageCard",cardBoxClass:"profilePinImageCardBox",round:!0},virtualScrollLayout:"vertical-grid"}}}function initUserImage(instance){var itemsContainer=instance.dlg.querySelector(".profilePinImageContainer");itemsContainer.fetchData=getImageItems.bind(instance),itemsContainer.getListOptions=getImageContainerListOptionsFn()}function moveFocusToTextInput(txt){focusManager.focus(txt,{}),txt.select()}function onFormKeyDown(e){var input=e.target.closest(".txtProfilePinInput");input&&"Backspace"===keyboardManager.normalizeKeyFromEvent(e)&&""===input.value&&(e=input.closest("form").querySelectorAll(".txtProfilePinInput"),0<(input=Array.prototype.indexOf.call(e,input)))&&moveFocusToTextInput(e[input-1])}function onFormInput(e){var form,inputs,index,e=e.target.closest(".txtProfilePinInput");e&&(1<e.value.length&&(e.value=e.value.slice(0,1)),inputs=(form=e.closest("form")).querySelectorAll(".txtProfilePinInput"),index=Array.prototype.indexOf.call(inputs,e),""!==e.value)&&(index<inputs.length-1?layoutManager.tv||moveFocusToTextInput(inputs[index+1]):form.requestSubmit())}function onFormSubmit(e){e.preventDefault(),e.stopPropagation();let dlg=this.dlg;var e=this.getCurrentPinValue()===this.options.user.Configuration.ProfilePin,inputContainer=dlg.querySelector(".profilePinPromptInputContainer");inputContainer.classList.remove("profilePinPromptInputContainer-invalid"),inputContainer.offsetWidth,e?(this.pinResult="validated",dlg.querySelector(".invalidHeader").classList.add("hide"),dlg.querySelector(".mainHeader").classList.remove("hide"),setTimeout(function(){dialogHelper.close(dlg)},100)):(inputContainer.classList.add("profilePinPromptInputContainer-invalid"),this.pinResult=null,dlg.querySelector(".mainHeader").classList.add("hide"),dlg.querySelector(".invalidHeader").classList.remove("hide"))}function onDialogClick(e){var dlg=this.dlg,btnCloseWithResult=e.target.closest(".btnCloseWithResult");btnCloseWithResult&&btnCloseWithResult.href&&!btnCloseWithResult.getAttribute("target")&&(e.stopPropagation(),e.preventDefault(),this.pinResult=btnCloseWithResult.getAttribute("data-result"),dialogHelper.close(dlg))}function dispatchInput(txt){txt.dispatchEvent(new CustomEvent("input",{bubbles:!0}))}function onAlphaValueClicked(e){var value=e.detail.value,txtFields=this.dlg.querySelectorAll(".txtProfilePinInput");if("backspace"===value){for(let i=txtFields.length-1;0<=i;i--)if(""!==txtFields[i].value){txtFields[i].value="",dispatchInput(txtFields[i]);break}}else for(let i=0,length=txtFields.length;i<length;i++)if(""===txtFields[i].value){txtFields[i].value=value,dispatchInput(txtFields[i]);break}}function initAlphaPicker(alphaPickerElement,instance){instance.alphaPicker=new AlphaPicker({element:alphaPickerElement,mode:"