EmbyCrackedClient/web/modules/emby-elements/emby-select/emby-select.js

1 line
15 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import globalize from"./../../common/globalize.js";import layoutManager from"./../../layoutmanager.js";import focusManager from"./../../focusmanager.js";import dom from"./../../dom.js";import keyboardManager from"./../../input/keyboard.js";import textEncoding from"./../../common/textencoding.js";import skinViewManager from"./../../skinviewmanager.js";let EnableFocusTransfrom=dom.allowFocusScaling();require(["css!modules/emby-elements/emby-select/emby-select.css"]);let ActionSheet;function loadAndShowActionSheet(options){return Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(response){return(ActionSheet=response).show(options)})}function showActionSheet(options){return ActionSheet?ActionSheet.show(options):loadAndShowActionSheet(options)}function enableNativeMenu(elem){return!(layoutManager.tv||elem.getItems||elem.hasAttribute("multiple")||skinViewManager.getSkinOptions().dontUseNativeDropDowns||"custom"===elem.getAttribute("data-menu"))}function triggerChange(select){var evt=document.createEvent("HTMLEvents");evt.initEvent("change",!0,!0),select.dispatchEvent(evt)}function checkAllWhenEmpty(select){return emptyValueSetEqualsAll(select),!1}function emptyValueSetEqualsAll(select){return"false"!==select.getAttribute("data-empty-is-all")}function showActionSheetFlyout(select){var labelElem=select.closest("label").querySelector(".selectLabelText"),labelElem=labelElem?labelElem.textContent||labelElem.innerText:null,fields=[];if(fields.push("Name"),"true"===select.getAttribute("data-overview")&&fields.push("Overview"),!select.getItemSecondaryText&&"true"!==select.getAttribute("data-itemsecondarytext")||fields.push("ShortOverview"),!fields.includes("ShortOverview")){var items=getItemsFromSelectElement(select);for(let i=0,length=items.length;i<length;i++)if(items[i].secondaryText){fields.push("ShortOverview");break}}let multiple=select.hasAttribute("multiple");var virtualScroll=null!=select.getItems&&"false"!==select.getAttribute("data-virtualscroll"),virtualScroll={getItems:select.getItems||getItemsBound.bind(select),enableVirtualScroller:virtualScroll,autoRepositionY:virtualScroll||layoutManager.tv,selectedValues:select.getValues(),positionTo:select,emptyValueSetEqualsAll:checkAllWhenEmpty(select),selectAllOnSelectNone:emptyValueSetEqualsAll(select),title:labelElem,resolveWithSelectedItem:!0,nameProperty:select.getAttribute("data-name-property")||null,highlight:!1,dialogClass:select.getAttribute("data-dialogclass")||null,hasItemImage:"true"===select.getAttribute("data-hasitemimage"),refreshItemsOnChange:"true"===select.getAttribute("data-refreshitemsonchange"),fields:fields,hideTitleWhenNotFullscreen:!0,border:!1,listItemContentWrapperClass:select.getAttribute("data-listitemcontentclass")||null,getItemSecondaryText:select.getItemSecondaryText,getItemId:getItemId.bind(select),multiple:multiple};return layoutManager.tv&&(multiple||"false"!==select.getAttribute("data-autofullscreen"))&&(virtualScroll.dialogSize="fullscreen"),"fullscreen"!==virtualScroll.dialogSize&&(virtualScroll.positionY="bottom",virtualScroll.positionX="left",virtualScroll.transformOrigin="center top",virtualScroll.minWidthToElement=!0,virtualScroll.setDialogSize=skinViewManager.getSkinOptions().dontUseNativeDropDowns),multiple&&(virtualScroll.onChange=function(value){setValuesFromActionsheet(select,value)},virtualScroll.enableReordering="true"===select.getAttribute("data-reordering")),virtualScroll.hasItemSelectionState=!multiple,virtualScroll.hasItemIcon="true"===select.getAttribute("data-hasitemicon"),showActionSheet(virtualScroll).then(function(value){var selectedValues;return multiple?Promise.resolve():value?(selectedValues=value?[getItemId.call(select,value)]:[],select.setValues(selectedValues,!0,value?[value]:[]),Promise.resolve()):setValuesFromActionsheet(select,value)},()=>{})}let SupportsTouchEvent="ontouchstart"in document.documentElement,SupportsPointerType="undefined"!=typeof PointerEvent&&"pointerType"in PointerEvent.prototype,DefaultPointerType=SupportsPointerType?null:SupportsTouchEvent?"touch":"mouse";function onPointer