|
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64 User : ServerPC ( 0) PHP Version : 8.2.12 Disable Function : NONE Directory : C:/Users/ServerPC/AppData/Roaming/Emby-Server/system/dashboard-ui/modules/addtolist/ |
Upload File : |
define(["exports","./../emby-apiclient/connectionmanager.js","./../emby-elements/emby-button/emby-button.js","./../emby-elements/emby-scroller/emby-scroller.js","./../emby-elements/emby-itemscontainer/emby-itemscontainer.js","./../loading/loading.js","./../dialoghelper/dialoghelper.js","./../layoutmanager.js","./../dom.js","./../common/globalize.js","./../common/usersettings/usersettings.js","./../focusmanager.js","./../common/playback/playbackmanager.js","./../listview/listview.js","./../common/itemmanager/itemmanager.js","./../alphapicker/alphapicker.js","./../shortcuts.js","./../emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js"],function(_exports,_connectionmanager,_embyButton,_embyScroller,_embyItemscontainer,_loading,_dialoghelper,_layoutmanager,_dom,_globalize,_usersettings,_focusmanager,_playbackmanager,_listview,_itemmanager,_alphapicker,_shortcuts,_embyDialogclosebutton){function onItemsContainerFocus(e){var alphaPicker=this.alphaPicker;alphaPicker&&(e=_shortcuts.default.getItemFromChildNode(e.target,null,this.itemsContainer))&&alphaPicker.setCurrentFromItem(e)}function AddToList(){}function onDialogClosed(){var result=this.result,options=this.options;return result?"new"===result?this.newList():("queue"===result&&(_playbackmanager.default.queue({serverId:_connectionmanager.default.getApiClient(options.items[0]).serverId(),ids:this.getItemIds()}),function(options){Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}({text:_globalize.default.translate("HeaderAddedToPlayQueue"),icon:""})),this.cleanup(),Promise.resolve()):(this.cleanup(),Promise.reject())}function onItemAction(e){e=e.detail.item;"Playlist"!==e.Type&&"BoxSet"!==e.Type||("new"===e.Id?function(){this.result="new",this.closeDialog()}.call(this):this.addToList(e))}function updateAlphaPickerState(instance,numItems){var alphaPicker;!function(instance){Emby.importModule("./modules/alphanumericshortcuts/alphanumericshortcuts.js").then(function(AlphaNumericShortcuts){instance.alphaNumericShortcuts=new AlphaNumericShortcuts({itemsContainer:instance.itemsContainer}),instance.alphaNumericShortcuts.onAlphaNumericValueEntered=function(value){trySelectValue(this,this.scroller,this.dlg,value,!0)}.bind(instance)})}(instance),instance.alphaPicker&&(alphaPicker=instance.alphaPickerElement)&&(30<numItems?(alphaPicker.classList.remove("hide"),instance.refreshPrefixes()):(alphaPicker.classList.add("hide"),(numItems=instance.getInlinePaddingElement())&&numItems.classList.remove("padded-left-withalphapicker","padded-right-withalphapicker")))}function getItemsQuery(options,query){var fields="PrimaryImageAspectRatio",options=(_layoutmanager.default.tv&&(fields+=",Prefix"),"Collection"===options.type?"Boxset":options.type);return Object.assign({Recursive:!0,IncludeItemTypes:options,SortBy:"SortName",Fields:fields,EnableUserData:!1,CanEditItems:!0},query)}function mapPrefix(i){return i.Name}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 onAllItemsContainerUpgraded(){this.itemsContainer.resume({refresh:!0}).then(function(){var dlg=this.dlg;_focusmanager.default.autoFocus(dlg,{skipIfNotEnabled:!0})}.bind(this))}function mapItem(i){return i.Id}function onNewPromptClosed(result){var name=result;if(!result)return this.cleanup(),Promise.reject();_loading.default.show();var result=this.options,apiClient=_connectionmanager.default.getApiClient(result.items[0]);return this.listName=name,_itemmanager.default.createListHelper(apiClient,result.type,name,this.getItemIds()).then(function(result){return this.cleanup(),Promise.resolve()}.bind(this))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons","formDialogStyle"]),AddToList.prototype.initAlphaPicker=function(){var alphaPickerElement,paddingElement;!this.alphaPicker&&(this.alphaPickerElement=this.dlg.querySelector(".alphaPicker"),alphaPickerElement=this.alphaPickerElement)&&(paddingElement=this.getInlinePaddingElement(),_layoutmanager.default.tv?(alphaPickerElement.classList.add("alphaPicker-fixed-left"),alphaPickerElement.classList.remove("alphaPicker-fixed-right"),paddingElement&&(paddingElement.classList.add("padded-left-withalphapicker"),paddingElement.classList.remove("padded-right-withalphapicker"))):(alphaPickerElement.classList.add("alphaPicker-fixed-right"),alphaPickerElement.classList.remove("alphaPicker-fixed-left"),paddingElement&&(paddingElement.classList.remove("padded-left-withalphapicker"),paddingElement.classList.add("padded-right-withalphapicker"))),this.alphaPicker=new _alphapicker.default({element:alphaPickerElement,itemsContainer:this.itemsContainer,prefixes:[],setValueOnFocus:!0}),this.alphaPicker.on("alphavaluechanged",function(e){e=e.detail.value,trySelectValue(this,this.scroller,this.itemsContainer,e,!!_layoutmanager.default.tv)}.bind(this)))},AddToList.prototype.getInlinePaddingElement=function(){return this.itemsContainer.closest(".padded-left")},AddToList.prototype.refreshPrefixes=function(){var instance=this;this.getPrefixes().then(function(prefixes){instance.alphaPicker.setPrefixes(prefixes)})},AddToList.prototype.onRefreshing=function(result){var items=result.Items||result;updateAlphaPickerState(this,result.TotalRecordCount||items.length)},AddToList.prototype.getRecentItems=function(query){var lastListIds,options=this.options,type=options.type;return"Playlist"===type?lastListIds=_usersettings.default.get("playlisteditor-lastplaylistid"):"Collection"===type&&(lastListIds=_usersettings.default.get("collectioneditor-lastcollectionid")),(lastListIds=lastListIds?lastListIds.split(","):[]).length?(type=_connectionmanager.default.getApiClient(options.items[0]),query=getItemsQuery(options,Object.assign({Ids:lastListIds.join(",")},query)),type.getItems(type.getCurrentUserId(),query)):Promise.resolve({Items:[],TotalRecordCount:0})},AddToList.prototype.getPrefixes=function(){var options=this.options,apiClient=_connectionmanager.default.getApiClient(options.items[0]),options=getItemsQuery(options,{EnableUserData:!1});return apiClient.getPrefixes(apiClient.getCurrentUserId(),options).then(function(result){return result.map(mapPrefix)})},AddToList.prototype.getItems=function(query){var options=this.options,apiClient=_connectionmanager.default.getApiClient(options.items[0]),buttonText="Collection"===options.type?_globalize.default.translate("HeaderNewCollection"):_globalize.default.translate("HeaderNewPlaylist");return(query=getItemsQuery(options,query)).StartIndex&&query.StartIndex--,apiClient.getItems(apiClient.getCurrentUserId(),query).then(function(result){return!query.StartIndex&&query.Limit&&result.Items.unshift({Name:buttonText,Id:"new",Type:"Playlist",ServerId:apiClient.serverId(),IsFolder:!0,Icon:"add",Prefix:"0",iconClass:"accentText"}),!1===query.EnableTotalRecordCount||query.NameStartsWithOrGreater&&isNaN(query.NameStartsWithOrGreater[0])||result.TotalRecordCount++,result})},AddToList.prototype.getCardOptions=function(items){return{enableDefaultIcon:!0,action:"custom",fields:["Name"],draggable:!1,draggableXActions:!1,multiSelect:!1,contextMenu:!1,hoverPlayButton:!1,imageSize:"smaller",enableUserDataButtons:!1,mediaInfo:!1}},AddToList.prototype.getListOptions=function(items){return{renderer:_listview.default,options:this.getCardOptions(items),virtualScrollLayout:"vertical-list"}},AddToList.prototype.show=function(options){var dialogOptions={removeOnClose:!0,scrollY:!1,autoFocus:!1},dialogOptions=(_layoutmanager.default.tv?dialogOptions.size="fullscreen":dialogOptions.size="small",_dialoghelper.default.createDialog(dialogOptions)),html=(dialogOptions.classList.add("formDialog"),""),html=(html=(html=(html=(html=html+'<div class="formDialogHeader">'+'<button type="button" is="emby-dialogclosebutton"></button>')+'<h3 class="formDialogHeaderTitle">'+("Collection"===options.type?_globalize.default.translate("HeaderAddToCollection"):_globalize.default.translate("HeaderAddToPlaylist")))+"</h3>"+"</div>")+function(options){var html="",scrollerStyle="width:100%;",scrollerStyle=(_layoutmanager.default.tv&&(scrollerStyle+="max-width:70ch;"),html=(html=(html=(html=(html=(html+='<div class="formDialogContent flex flex-direction-column align-items-center" style="overflow:hidden;">')+('<div is="emby-scroller" data-horizontal="false" data-forcescrollbar="true" data-focusscroll="true" class="flex flex-grow virtualScrollerScrollContainer" style="'+scrollerStyle+'">')+'<div class="alphaPicker alphaPicker-vertical alphaPicker-fixed alphaPicker-fixed-left focuscontainer-y hide"></div>')+'<div class="scrollSlider dialog-content-centered padded-left padded-right padded-top flex-grow verticalSections" style="padding-top:1.5em;">'+'<div class="recentSection verticalSection verticalSection-extrabottompadding hide">')+('<h3 class="sectionTitle">'+_globalize.default.translate("Recent")+"</h3>")+'<div is="emby-itemscontainer" class="itemsContainer recentItemsContainer itemsContainer-defaultCardSize vertical-wrap">')+"</div>"+"</div>")+'<div class="verticalSection">'+'<h3 class="sectionTitle">',"Collection"===options.type?_globalize.default.translate("AllCollections"):_globalize.default.translate("AllPlaylists"));return html=(html=(html=(html=html+scrollerStyle+"</h3>")+'<div is="emby-itemscontainer" data-virtualscrolllayout="vertical-grid" class="itemsContainer allItemsContainer itemsContainer-defaultCardSize vertical-wrap padded-bottom-page">'+"</div>")+"</div>"+"</div>")+"</div>"+"</div>"}(options),dialogOptions.innerHTML=html,this.dlg=dialogOptions,this.options=options,dialogOptions.querySelector(".btnQueue")),options=(html&&html.addEventListener("click",function(){this.result="queue",this.closeDialog()}.bind(this)),dialogOptions.querySelector(".allItemsContainer")),html=(options.addEventListener("action-null",onItemAction.bind(this)),options.fetchData=this.getItems.bind(this),options.getListOptions=this.getListOptions.bind(this),options.onDataFetched=function(result){return _dom.default.removeEventListener(this.itemsContainer,"focus",onItemsContainerFocus.bind(this),{capture:!0,passive:!0}),_layoutmanager.default.tv&&_dom.default.addEventListener(this.itemsContainer,"focus",onItemsContainerFocus.bind(this),{capture:!0,passive:!0}),Promise.resolve(result)}.bind(this),options.onRefreshing=this.onRefreshing.bind(this),this.itemsContainer=options,dialogOptions.querySelector(".recentItemsContainer")),options=(html.addEventListener("action-null",onItemAction.bind(this)),html.fetchData=this.getRecentItems.bind(this),html.getListOptions=this.getListOptions.bind(this),html.parentContainer=html.closest(".verticalSection"),this.recentItemsContainer=html,dialogOptions.addEventListener("opened",function(){var recentItemsContainer=this.recentItemsContainer;recentItemsContainer.resume?onRecentItemsContainerUpgraded.call(this):_dom.default.addEventListener(recentItemsContainer,"upgraded",onRecentItemsContainerUpgraded.bind(this),{once:!0}),(recentItemsContainer=this.itemsContainer).resume?onAllItemsContainerUpgraded.call(this):_dom.default.addEventListener(recentItemsContainer,"upgraded",onAllItemsContainerUpgraded.bind(this),{once:!0}),this.initAlphaPicker()}.bind(this)),onDialogClosed.bind(this));return _dialoghelper.default.open(dialogOptions).then(options,options)},AddToList.prototype.getItemIds=function(){return this.options.items.map(mapItem)},AddToList.prototype.addToList=function(list){var itemIds=this.getItemIds(),instance=this;return _itemmanager.default.addToListHelper(list,itemIds).then(function(result){instance.result="1",instance.closeDialog()})},AddToList.prototype.newList=function(){var options,title="Collection"===this.options.type?_globalize.default.translate("HeaderNewCollection"):_globalize.default.translate("HeaderNewPlaylist"),dlgClosedFn=onNewPromptClosed.bind(this);return options={title:title,label:_globalize.default.translate("LabelName"),confirmText:_globalize.default.translate("Create")},Emby.importModule("./modules/prompt/prompt.js").then(function(prompt){return prompt(options)}).then(dlgClosedFn,dlgClosedFn)},AddToList.prototype.closeDialog=function(){var dlg=this.dlg;dlg&&_dialoghelper.default.close(dlg)},AddToList.prototype.destroyAlphaNumericShortcuts=function(){var alphaNumericShortcuts=this.alphaNumericShortcuts;alphaNumericShortcuts&&(alphaNumericShortcuts.destroy(),this.alphaNumericShortcuts=null)},AddToList.prototype.cleanup=function(){this.listName=null,this.options=null,this.dlg=null,this.itemsContainer=null,this.recentItemsContainer=null,this.destroyAlphaNumericShortcuts(),this.alphaPicker&&(this.alphaPicker.destroy(),this.alphaPicker=null)};_exports.default=AddToList});