1 line
7.2 KiB
JavaScript
1 line
7.2 KiB
JavaScript
|
|
import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import listView from"./../modules/listview/listview.js";import itemShortcuts from"./../modules/shortcuts.js";import globalize from"./../modules/common/globalize.js";function getListViewOptions(){return{fields:["Name"],highlight:!1,mediaInfo:!1,enableSideMediaInfo:!1,dropTarget:!1,hoverPlayButton:!1,imagePlayButton:!1,multiSelect:!1,draggable:!1,draggableXActions:!1,contextMenu:!1,enableOverview:!1,hoverMenu:!1,action:"custom",enableUserDataButtons:!1,moreButton:!1,listItemBodyClassName:"libraryTreeListItemBody",imageContainerClass:"libraryTreeListItemImageContainer",iconClass:"libraryTreeItemIcon",enableDefaultIcon:!0,preferIcon:!0,treeButton:!0,treeButtonClass:"btnToggleLibraryTreeNode",itemClass:"libraryTreeItem",artist:!1,gameSystem:!1,isBoundListItem:!1}}function getListOptions(){return{renderer:listView,options:getListViewOptions(),virtualScrollLayout:"vertical-grid"}}function getItems(query){let apiClient=this.getApiClient();return apiClient.getUserViews(Object.assign({},query),apiClient.getCurrentUserId()).then(function(result){let items=result.Items;return(items=items.slice(0)).push({Name:globalize.translate("Views"),IsFolder:!0,Type:"CollectionFolder",Id:"categories",ServerId:apiClient.serverId(),IsCategory:!0}),items})}function onItemAction(e){var item=e.detail.item;"livetv"===item.CollectionType||"UserView"===item.Type||"CollectionFolder"===item.Type||item.CollectionType||item.IsCategory||item.Id!==this.getCurrentItem()?.Id&&((e=e.target.closest(".listItem")).classList.add("navMenuOption-selected"),this.setCurrentItem(item,e),this.options.view.dispatchEvent(new CustomEvent("itemchange",{detail:{item:item},bubbles:!0,cancelable:!1})))}function getSubtree(instance,listItem,create){var tree=listItem.nextElementSibling;return tree&&tree.classList.contains("librarySubTree")?tree:create?(listItem.insertAdjacentHTML("afterend",'<div class="librarySubTree itemsContainer vertical-list" is="emby-itemscontainer"></div>'),(tree=listItem.nextElementSibling).addEventListener("click",onClick.bind(instance)),tree.addEventListener("action-null",onItemAction.bind(instance)),tree):null}function getCategories(apiClient){var items=[],serverId=apiClient.serverId();return items.push({Id:"category_videos",ServerId:serverId,Type:"Video",MediaType:"Video",Name:globalize.translate("Videos")}),items.push({Id:"category_audio",ServerId:serverId,Type:"Audio",MediaType:"Audio",Name:globalize.translate("Audio")}),items.push({Id:"category_photos",ServerId:serverId,Type:"Photo",MediaType:"Photo",Name:globalize.translate("Photos")}),items.push({Id:"category_games",ServerId:serverId,Type:"Game",MediaType:"Game",Name:globalize.translate("Games")}),items.push({Id:"category_books",ServerId:serverId,Type:"Book",MediaType:"Book",Name:globalize.translate("Books")}),apiClient.isMinServerVersion("4.8.2")&&items.push({Id:"category_missingepisodes",ServerId:serverId,Type:"Folder",Name:globalize.translate("HeaderMissingEpisodes")}),Promise.resolve(items)}function getSubviews(apiClient,item){var items=[],apiClient=apiClient.serverId(),idPrefix="mmview_"+item.Id+"_";let subviews=item.Subviews||[];if(!subviews.length)switch(item.CollectionType){case"tvshows":subviews=["series"];break;case"movies":subviews=["movies"];break;case"games":subviews=["games","gamesystems"];break;case"homevideos":case"photos":subviews=["photos","videos"]}return subviews.includes("gamesystems")&&items.push({Id:idPrefix+"itemtype_GameSystem",ServerId:apiClient,Type:"Folder",IsFolder:!0,Name:globalize.translate("Systems"),OriginalItem:item,IsCategory:!0}),subviews.includes("games")&&items.push({Id:idPrefix+"itemtype_Game",ServerId:apiClient,Type:"Folder",IsFolder:!0,Name:globalize.translate("Games"),OriginalItem:item,IsCategory:!0}),subviews.includes("videos")&&items.push({Id:idPrefix+"itemtype_Video",ServerId:apiClient,Type:"Folder",IsFolder:!0,Name:globalize.translate("Videos"),OriginalItem:item,IsCategory:!0}),subviews.includes("photos")&&items.push({Id:idPrefix+"itemtype_Photo",ServerId:apiClient,Type:"Fol
|