1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/dashboard-ui/scripts/movies.js

1 line
5.8 KiB
JavaScript
Raw Normal View History

2017-11-27 15:14:43 -05:00
define(["layoutManager","userSettings","events","libraryBrowser","alphaPicker","listView","cardBuilder","emby-itemscontainer"],function(layoutManager,userSettings,events,libraryBrowser,alphaPicker,listView,cardBuilder){"use strict";return function(view,params,tabContent,options){function onViewStyleChange(){var viewStyle=self.getCurrentViewStyle();"List"==viewStyle?(itemsContainer.classList.add("vertical-list"),itemsContainer.classList.remove("vertical-wrap")):(itemsContainer.classList.remove("vertical-list"),itemsContainer.classList.add("vertical-wrap")),itemsContainer.innerHTML=""}function updateFilterControls(){self.alphaPicker&&self.alphaPicker.value(query.NameStartsWithOrGreater)}function fetchData(){return ApiClient.getItems(ApiClient.getCurrentUserId(),query)}function afterRefresh(result){function onNextPageClick(){query.StartIndex+=query.Limit,itemsContainer.refreshItems()}function onPreviousPageClick(){query.StartIndex-=query.Limit,itemsContainer.refreshItems()}updateFilterControls();var i,length,pagingHtml=libraryBrowser.getQueryPagingHtml({startIndex:query.StartIndex,limit:query.Limit,totalRecordCount:result.TotalRecordCount,showLimit:!1,updatePageSizeSetting:!1,addLayoutButton:!1,sortButton:!1,filterButton:!1}),elems=tabContent.querySelectorAll(".paging");for(i=0,length=elems.length;i<length;i++)elems[i].innerHTML=pagingHtml;for(elems=tabContent.querySelectorAll(".btnNextPage"),i=0,length=elems.length;i<length;i++)elems[i].addEventListener("click",onNextPageClick);for(elems=tabContent.querySelectorAll(".btnPreviousPage"),i=0,length=elems.length;i<length;i++)elems[i].addEventListener("click",onPreviousPageClick)}function getItemsHtml(items){var html,viewStyle=self.getCurrentViewStyle();return html="Thumb"==viewStyle?cardBuilder.getCardsHtml({items:items,shape:"backdrop",preferThumb:!0,context:"movies",lazy:!0,overlayPlayButton:!0,showTitle:!0,showYear:!0,centerText:!0}):"ThumbCard"==viewStyle?cardBuilder.getCardsHtml({items:items,shape:"backdrop",preferThumb:!0,context:"movies",lazy:!0,cardLayout:!0,showTitle:!0,showYear:!0}):"Banner"==viewStyle?cardBuilder.getCardsHtml({items:items,shape:"banner",preferBanner:!0,context:"movies",lazy:!0}):"List"==viewStyle?listView.getListViewHtml({items:items,context:"movies",sortBy:query.SortBy}):"PosterCard"==viewStyle?cardBuilder.getCardsHtml({items:items,shape:"portrait",context:"movies",showTitle:!0,showYear:!0,lazy:!0,cardLayout:!0}):cardBuilder.getCardsHtml({items:items,shape:"portrait",context:"movies",overlayPlayButton:!0,showTitle:!0,showYear:!0,centerText:!0})}function initPage(tabContent){itemsContainer.fetchData=fetchData,itemsContainer.getItemsHtml=getItemsHtml,itemsContainer.afterRefresh=afterRefresh;var alphaPickerElement=tabContent.querySelector(".alphaPicker");alphaPickerElement&&(alphaPickerElement.addEventListener("alphavaluechanged",function(e){var newValue=e.detail.value;query.NameStartsWithOrGreater=newValue,query.StartIndex=0,itemsContainer.refreshItems()}),self.alphaPicker=new alphaPicker({element:alphaPickerElement,valueChangeEvent:"click"}),(layoutManager.desktop||layoutManager.mobile)&&(alphaPickerElement.classList.add("alphabetPicker-right"),itemsContainer.classList.remove("padded-left-withalphapicker"),itemsContainer.classList.add("padded-right-withalphapicker")));var btnFilter=tabContent.querySelector(".btnFilter");btnFilter&&btnFilter.addEventListener("click",function(){self.showFilterMenu()});var btnSort=tabContent.querySelector(".btnSort");btnSort&&btnSort.addEventListener("click",function(e){libraryBrowser.showSortMenu({items:[{name:Globalize.translate("OptionNameSort"),id:"SortName"},{name:Globalize.translate("OptionImdbRating"),id:"CommunityRating,SortName"},{name:Globalize.translate("OptionCriticRating"),id:"CriticRating,SortName"},{name:Globalize.translate("OptionDateAdded"),id:"DateCreated,SortName"},{name:Globalize.translate("OptionDatePlayed"),id:"DatePlayed,SortName"},{name:Globalize.translate("OptionParentalRating"),id:"OfficialRating,SortName"},{name:Globalize.translate("OptionPlayCount"),id:"PlayCount,SortName"},{name:Globalize.