EmbyCrackedClient/web/search/searchresults.js

1 line
6.9 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import"./../modules/emby-elements/emby-button/emby-button.js";import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import globalize from"./../modules/common/globalize.js";import loading from"./../modules/loading/loading.js";import"./../modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js";import layoutManager from"./../modules/layoutmanager.js";import cardBuilder from"./../modules/cardbuilder/cardbuilder.js";import itemManager from"./../modules/common/itemmanager/itemmanager.js";function getCardOptionsForType(type,items){var options;return"BoxSet"===type||"Playlist"===type||"Game"===type||"Book"===type||"PhotoAlbum"===type||"MusicArtist"===type||"Person"===type?{shape:"autooverflow",fields:["Name"],focusTransformTitleAdjust:!0}:"Movie"===type||"Trailer"===type||"Series"===type?{shape:"autooverflow",fields:["Name","ProductionYear"],focusTransformTitleAdjust:!0}:"Photo"===type?{shape:"autooverflow",fields:["Name"],focusTransformTitleAdjust:!0}:"Audio"===type?{shape:"autooverflow",preferArtistTitle:!0,fields:["ParentName","Name"],action:"play",sideFooter:!0,focusTransformTitleAdjust:!0}:"TvChannel"===type?{shape:"autooverflow",fields:["Name","CurrentProgramParentName","CurrentProgramTime"],defaultBackground:!0,focusTransformTitleAdjust:!0}:"Program"===type?(adjustListOptionsForGroupingProgramsBySeries(options={shape:"autooverflow",fields:["ParentName","Name","AirTime"],showAirDateTime:!0,focusTransformTitleAdjust:!0},type,items),options):"Tag"===type?{shape:"autooverflow",fields:["Name"],defaultBackground:!0,multiSelect:!1,focusTransformTitleAdjust:!0}:{shape:"autooverflow",fields:["ParentName","Name"],focusTransformTitleAdjust:!0}}function isNotName(n){return"Name"!==n}function isNotParentName(n){return"ParentName"!==n}function isNotAirTime(n){return"AirTime"!==n}function adjustListOptionsForGroupingProgramsBySeries(options,type,items){"Program"===type&&items.length&&items[0].AsSeries&&(options.progress=!1,options.showAirDateTime=!1,options.fields=options.fields.filter(isNotName).filter(isNotParentName).filter(isNotAirTime),options.fields.push("ParentNameOrName"))}function renderSearchTypes(instance,apiClient,context,value,types){var searchCategories=context.querySelector(".searchCategories"),promises=(searchCategories.innerHTML="",[]);for(let i=0,length=types.length;i<length;i++){var type=(type=types[i]).Name||type,elem=document.createElement("div"),innerHTML=(elem.className="hide verticalSection albumResults","Audio"===type&&elem.classList.add("verticalSection-extrabottompadding"),'<h2 class="sectionTitle sectionTitle-cards padded-left padded-right">'+itemManager.getPluralItemTypeName(type)+"</h2>");innerHTML+='<div is="emby-scroller" data-horizontal="true" data-focusscroll="true" data-mousewheel="false" class="padded-top-focusscale padded-bottom-focusscale padded-left padded-right">';let itemsContainerClass="itemsContainer scrollSlider focusable focuscontainer-x";"Audio"===type&&(itemsContainerClass+=" itemsContainer-sideFooters"),innerHTML=innerHTML+('<div is="emby-itemscontainer" data-focusabletype="nearest" class="'+itemsContainerClass+'"></div>')+"</div>",elem.innerHTML=innerHTML,searchCategories.appendChild(elem),promises.push(searchType(instance,apiClient,{searchTerm:value,IncludeItemTypes:type},context,elem))}return Promise.all(promises)}function getSearchFields(instance,type){let fields=instance.options.requestedItemFields+",PrimaryImageAspectRatio,ProductionYear";return type&&"Series"!==type||(fields+=",Status,EndDate"),fields}function getSearchHints(instance,apiClient,query){return query.Recursive=!0,query.EnableTotalRecordCount=!1,query.ImageTypeLimit=1,query.Fields=getSearchFields(instance,query.IncludeItemTypes),"Program"===query.IncludeItemTypes&&(query.GroupProgramsBySeries=!0),"Program"===query.IncludeItemTypes&&(query.HasAired=!1),apiClient.getItems(apiClient.getCurrentUserId(),query)}function search(instance,apiClient,context,value){(value||layoutManager.tv)&&context.querySelector(".searchSuggestio