mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
minify resources
This commit is contained in:
parent
8a6884abef
commit
661eeac16e
201 changed files with 203 additions and 52376 deletions
|
@ -1,198 +1 @@
|
|||
define(['libraryBrowser', 'focusManager', 'embyRouter', 'cardBuilder', 'imageLoader', 'emby-input', 'paper-icon-button-light', 'material-icons', 'emby-itemscontainer'], function (libraryBrowser, focusManager, embyRouter, cardBuilder, imageLoader) {
|
||||
'use strict';
|
||||
|
||||
function loadSuggestions(page) {
|
||||
|
||||
var options = {
|
||||
|
||||
SortBy: "IsFavoriteOrLiked,Random",
|
||||
IncludeItemTypes: "Movie,Series,MusicArtist",
|
||||
Limit: 20,
|
||||
Recursive: true,
|
||||
ImageTypeLimit: 0,
|
||||
EnableImages: false
|
||||
};
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), options).then(function (result) {
|
||||
|
||||
var html = result.Items.map(function (i) {
|
||||
|
||||
var href = LibraryBrowser.getHref(i);
|
||||
|
||||
var itemHtml = '<div><a style="display:inline-block;padding:.55em 1em;" href="' + href + '">';
|
||||
itemHtml += i.Name;
|
||||
itemHtml += '</a></div>';
|
||||
return itemHtml;
|
||||
|
||||
}).join('');
|
||||
|
||||
page.querySelector('.searchSuggestions').innerHTML = html;
|
||||
});
|
||||
}
|
||||
|
||||
return function (view, params) {
|
||||
|
||||
var textSuggestions = view.querySelector('.textSuggestions');
|
||||
var searchResults = view.querySelector('.searchResults');
|
||||
var searchHintTimeout;
|
||||
|
||||
function clearSearchHintTimeout() {
|
||||
|
||||
if (searchHintTimeout) {
|
||||
|
||||
clearTimeout(searchHintTimeout);
|
||||
searchHintTimeout = null;
|
||||
}
|
||||
}
|
||||
|
||||
function showTextSuggestions() {
|
||||
textSuggestions.classList.remove('hide');
|
||||
}
|
||||
|
||||
function getAdditionalTextLines(hint) {
|
||||
|
||||
if (hint.Type == "Audio") {
|
||||
|
||||
return [[hint.AlbumArtist, hint.Album].join(" - ")];
|
||||
|
||||
}
|
||||
else if (hint.Type == "MusicAlbum") {
|
||||
|
||||
return [hint.AlbumArtist];
|
||||
|
||||
}
|
||||
else if (hint.Type == "MusicArtist") {
|
||||
|
||||
return [Globalize.translate('LabelArtist')];
|
||||
|
||||
}
|
||||
else if (hint.Type == "Movie") {
|
||||
|
||||
return [Globalize.translate('LabelMovie')];
|
||||
|
||||
}
|
||||
else if (hint.Type == "MusicVideo") {
|
||||
|
||||
return [Globalize.translate('LabelMusicVideo')];
|
||||
}
|
||||
else if (hint.Type == "Episode") {
|
||||
|
||||
return [Globalize.translate('LabelEpisode')];
|
||||
|
||||
}
|
||||
else if (hint.Type == "Series") {
|
||||
|
||||
return [Globalize.translate('Series')];
|
||||
}
|
||||
else if (hint.Type == "BoxSet") {
|
||||
|
||||
return [Globalize.translate('LabelCollection')];
|
||||
}
|
||||
else if (hint.ChannelName) {
|
||||
|
||||
return [hint.ChannelName];
|
||||
}
|
||||
|
||||
return [hint.Type];
|
||||
}
|
||||
|
||||
function renderSearchResultsInOverlay(hints) {
|
||||
|
||||
// Massage the objects to look like regular items
|
||||
hints = hints.map(function (i) {
|
||||
|
||||
i.Id = i.ItemId;
|
||||
i.ImageTags = {};
|
||||
i.UserData = {};
|
||||
|
||||
if (i.PrimaryImageTag) {
|
||||
i.ImageTags.Primary = i.PrimaryImageTag;
|
||||
}
|
||||
return i;
|
||||
});
|
||||
|
||||
var html = cardBuilder.getCardsHtml({
|
||||
items: hints,
|
||||
shape: "auto",
|
||||
overlayText: false,
|
||||
showTitle: true,
|
||||
centerImage: true,
|
||||
centerText: true,
|
||||
textLines: getAdditionalTextLines,
|
||||
overlayMoreButton: true,
|
||||
serverId: ApiClient.serverInfo().Id
|
||||
});
|
||||
|
||||
if (!hints.length) {
|
||||
html = '<p style="text-align:center;margin-top:2em;">' + Globalize.translate('NoResultsFound') + '</p>';
|
||||
}
|
||||
|
||||
var itemsContainer = searchResults;
|
||||
itemsContainer.innerHTML = html;
|
||||
searchResults.classList.remove('hide');
|
||||
textSuggestions.classList.add('hide');
|
||||
imageLoader.lazyChildren(itemsContainer);
|
||||
}
|
||||
|
||||
function requestSearchHintsForOverlay(searchTerm) {
|
||||
|
||||
var currentTimeout = searchHintTimeout;
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ApiClient.getSearchHints({
|
||||
|
||||
userId: Dashboard.getCurrentUserId(),
|
||||
searchTerm: (searchTerm || '').trim(),
|
||||
limit: 30
|
||||
|
||||
}).then(function (result) {
|
||||
|
||||
if (currentTimeout == searchHintTimeout) {
|
||||
renderSearchResultsInOverlay(result.SearchHints);
|
||||
}
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
}, function () {
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
}
|
||||
|
||||
function onSearchChange(val) {
|
||||
|
||||
if (!val) {
|
||||
clearSearchHintTimeout();
|
||||
searchResults.classList.add('hide');
|
||||
searchResults.innerHTML = '';
|
||||
showTextSuggestions();
|
||||
return;
|
||||
}
|
||||
|
||||
clearSearchHintTimeout();
|
||||
|
||||
searchHintTimeout = setTimeout(function () {
|
||||
requestSearchHintsForOverlay(val);
|
||||
}, 300);
|
||||
}
|
||||
|
||||
showTextSuggestions();
|
||||
loadSuggestions(view);
|
||||
|
||||
view.querySelector('.txtSearch').addEventListener('input', function () {
|
||||
onSearchChange(this.value);
|
||||
});
|
||||
|
||||
view.querySelector('.btnBack').addEventListener('click', function () {
|
||||
embyRouter.back();
|
||||
});
|
||||
|
||||
view.addEventListener('viewbeforeshow', function (e) {
|
||||
document.body.classList.add('hiddenViewMenuBar');
|
||||
});
|
||||
|
||||
view.addEventListener('viewbeforehide', function (e) {
|
||||
|
||||
document.body.classList.remove('hiddenViewMenuBar');
|
||||
});
|
||||
|
||||
};
|
||||
});
|
||||
define(["libraryBrowser","focusManager","embyRouter","cardBuilder","imageLoader","emby-input","paper-icon-button-light","material-icons","emby-itemscontainer"],function(libraryBrowser,focusManager,embyRouter,cardBuilder,imageLoader){"use strict";function loadSuggestions(page){var options={SortBy:"IsFavoriteOrLiked,Random",IncludeItemTypes:"Movie,Series,MusicArtist",Limit:20,Recursive:!0,ImageTypeLimit:0,EnableImages:!1};ApiClient.getItems(Dashboard.getCurrentUserId(),options).then(function(result){var html=result.Items.map(function(i){var href=LibraryBrowser.getHref(i),itemHtml='<div><a style="display:inline-block;padding:.55em 1em;" href="'+href+'">';return itemHtml+=i.Name,itemHtml+="</a></div>"}).join("");page.querySelector(".searchSuggestions").innerHTML=html})}return function(view,params){function clearSearchHintTimeout(){searchHintTimeout&&(clearTimeout(searchHintTimeout),searchHintTimeout=null)}function showTextSuggestions(){textSuggestions.classList.remove("hide")}function getAdditionalTextLines(hint){return"Audio"==hint.Type?[[hint.AlbumArtist,hint.Album].join(" - ")]:"MusicAlbum"==hint.Type?[hint.AlbumArtist]:"MusicArtist"==hint.Type?[Globalize.translate("LabelArtist")]:"Movie"==hint.Type?[Globalize.translate("LabelMovie")]:"MusicVideo"==hint.Type?[Globalize.translate("LabelMusicVideo")]:"Episode"==hint.Type?[Globalize.translate("LabelEpisode")]:"Series"==hint.Type?[Globalize.translate("Series")]:"BoxSet"==hint.Type?[Globalize.translate("LabelCollection")]:hint.ChannelName?[hint.ChannelName]:[hint.Type]}function renderSearchResultsInOverlay(hints){hints=hints.map(function(i){return i.Id=i.ItemId,i.ImageTags={},i.UserData={},i.PrimaryImageTag&&(i.ImageTags.Primary=i.PrimaryImageTag),i});var html=cardBuilder.getCardsHtml({items:hints,shape:"auto",overlayText:!1,showTitle:!0,centerImage:!0,centerText:!0,textLines:getAdditionalTextLines,overlayMoreButton:!0,serverId:ApiClient.serverInfo().Id});hints.length||(html='<p style="text-align:center;margin-top:2em;">'+Globalize.translate("NoResultsFound")+"</p>");var itemsContainer=searchResults;itemsContainer.innerHTML=html,searchResults.classList.remove("hide"),textSuggestions.classList.add("hide"),imageLoader.lazyChildren(itemsContainer)}function requestSearchHintsForOverlay(searchTerm){var currentTimeout=searchHintTimeout;Dashboard.showLoadingMsg(),ApiClient.getSearchHints({userId:Dashboard.getCurrentUserId(),searchTerm:(searchTerm||"").trim(),limit:30}).then(function(result){currentTimeout==searchHintTimeout&&renderSearchResultsInOverlay(result.SearchHints),Dashboard.hideLoadingMsg()},function(){Dashboard.hideLoadingMsg()})}function onSearchChange(val){return val?(clearSearchHintTimeout(),void(searchHintTimeout=setTimeout(function(){requestSearchHintsForOverlay(val)},300))):(clearSearchHintTimeout(),searchResults.classList.add("hide"),searchResults.innerHTML="",void showTextSuggestions())}var searchHintTimeout,textSuggestions=view.querySelector(".textSuggestions"),searchResults=view.querySelector(".searchResults");showTextSuggestions(),loadSuggestions(view),view.querySelector(".txtSearch").addEventListener("input",function(){onSearchChange(this.value)}),view.querySelector(".btnBack").addEventListener("click",function(){embyRouter.back()}),view.addEventListener("viewbeforeshow",function(e){document.body.classList.add("hiddenViewMenuBar")}),view.addEventListener("viewbeforehide",function(e){document.body.classList.remove("hiddenViewMenuBar")})}});
|
Loading…
Add table
Add a link
Reference in a new issue