EmbyCrackedClient/web/modules/addtolist/addtolist.js

1 line
9.3 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import connectionManager from"./../emby-apiclient/connectionmanager.js";import"./../emby-elements/emby-button/emby-button.js";import"./../emby-elements/emby-scroller/emby-scroller.js";import"./../emby-elements/emby-itemscontainer/emby-itemscontainer.js";import loading from"./../loading/loading.js";import dialogHelper from"./../dialoghelper/dialoghelper.js";import layoutManager from"./../layoutmanager.js";import dom from"./../dom.js";import globalize from"./../common/globalize.js";import userSettings from"./../common/usersettings/usersettings.js";import focusManager from"./../focusmanager.js";import playbackManager from"./../common/playback/playbackmanager.js";import listView from"./../listview/listview.js";import itemManager from"./../common/itemmanager/itemmanager.js";import"./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js";function showPrompt(options){return Emby.importModule("./modules/prompt/prompt.js").then(function(prompt){return prompt(options)})}function showToast(options){return Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function AddToList(){}function getEditorHtml(options){var html="";html+='<div class="formDialogContent flex flex-direction-column align-items-center" style="overflow:hidden;">';let scrollerStyle="width:100%;";return layoutManager.tv&&(scrollerStyle+="max-width:70ch;"),(html+='<div is="emby-scroller" data-horizontal="false" data-forcescrollbar="true" data-focusscroll="true" class="flex flex-grow virtualScrollerScrollContainer" style="'+scrollerStyle+'">')+'<div class="scrollSlider dialog-content-centered padded-left padded-right padded-top flex-grow" style="padding-top:1.5em;">'+'<div class="recentSection verticalSection verticalSection-extrabottompadding hide">'+('<h3 style="margin: 0 0 .25em;">'+globalize.translate("Recent")+"</h3>")+'<div is="emby-itemscontainer" data-virtualscrolllayout="vertical-grid" class="itemsContainer recentItemsContainer itemsContainer-defaultCardSize vertical-wrap">'+"</div>"+"</div>"+'<h3 style="margin: 0 0 .25em;">'+("Collection"===options.type?globalize.translate("AllCollections"):globalize.translate("AllPlaylists"))+"</h3>"+'<div is="emby-itemscontainer" data-virtualscrolllayout="vertical-grid" class="itemsContainer allItemsContainer itemsContainer-defaultCardSize vertical-wrap padded-bottom-page">'+"</div>"+"</div>"+"</div>"+"</div>"}function onNewClick(){this.result="new",this.closeDialog()}function onQueueClick(){this.result="queue",this.closeDialog()}function autoFocus(){var dlg=this.dlg;focusManager.autoFocus(dlg,{skipIfNotEnabled:!0})}function onDialogClosed(){var result=this.result,options=this.options;return result?"new"===result?this.newList():("queue"===result&&(playbackManager.queue({serverId:connectionManager.getApiClient(options.items[0]).serverId(),ids:this.getItemIds()}),showToast({text:globalize.translate("HeaderAddedToPlayQueue"),icon:"&#xe03b;"})),this.cleanup(),Promise.resolve()):(this.cleanup(),Promise.reject())}function onItemAction(e){e=e.detail.item;"Playlist"!==e.Type&&"BoxSet"!==e.Type||("new"===e.Id?onNewClick.call(this):this.addToList(e))}function initAlphaNumericShortcuts(instance){Emby.importModule("./modules/alphanumericshortcuts/alphanumericshortcuts.js").then(function(AlphaNumericShortcuts){instance.alphaNumericShortcuts=new AlphaNumericShortcuts({itemsContainer:instance.itemsContainer}),instance.alphaNumericShortcuts.onAlphaNumericValueEntered=onAlphaNumericValueEntered.bind(instance)})}function onAlphaNumericValueEntered(value){trySelectValue(this,this.scroller,this.view,value,!0)}function trySelectValue(instance,scroller,view,value,focus){value&&"#"!==value?instance.getItems({Limit:0}).then(function(totalResult){instance.getItems({Limit:0,NameStartsWithOrGreater:value}).then(function(result){instance.itemsContainer.scrollToIndex(Math.max(totalResult.TotalRecordCount-result.TotalRecordCount,0),{},focus)})}):instance.itemsContainer.scrollToIndex(0,{},focus)}function onRecentItemsContainerUpgraded(){this.recentItemsContainer.resume({refresh:!0})}function onAllItemsC