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

calculate item by name counts on the fly

This commit is contained in:
Luke Pulverenti 2014-03-09 18:14:44 -04:00
parent fce65d5942
commit 8fb161c4f6
25 changed files with 89 additions and 614 deletions

View file

@ -61,10 +61,10 @@
{
return [
{},
{ name: 'Album Artist', sortField: 'AlbumArtist,SortName' },
{ name: 'Album Artist', sortField: 'AlbumArtist,Album,SortName' },
{ name: 'Album', sortField: 'Album,SortName' },
{ name: 'Disc', sortField: 'Album,SortName' },
{ name: 'Track', sortField: 'Album,SortName' },
{ name: 'Disc' },
{ name: 'Track' },
{ name: 'Name', sortField: 'Name' },
{ name: 'Date Added', sortField: 'DateCreated,SortName' },
{ name: 'Release Date', sortField: 'ProductionYear,PremiereDate,SortName' },
@ -85,6 +85,7 @@
{ name: 'Community Rating', sortField: 'CommunityRating,SortName' },
{ name: 'Runtime', sortField: 'Runtime,SortName' },
{ name: 'Video' },
{ name: 'Resolution' },
{ name: 'Audio' },
{ name: 'Subtitles' }
];
@ -145,6 +146,7 @@
{ name: 'Community Rating', sortField: 'CommunityRating,SortName' },
{ name: 'Runtime', sortField: 'Runtime,SortName' },
{ name: 'Video' },
{ name: 'Resolution' },
{ name: 'Audio' },
{ name: 'Subtitles' },
{ name: 'Trailers' },
@ -154,6 +156,53 @@
}
}
function getDefaultSortOrder(reportType) {
switch (reportType) {
case 'Season':
{
return "SeriesSortName,SortName";
}
case 'Series':
{
return "SortName";
}
case 'Game':
{
return "GameSystem,SortName";
}
case 'Audio':
{
return "AlbumArtist,Album,SortName";
}
case 'Episode':
{
return "SeriesSortName,SortName";
}
case 'BoxSet':
{
return "SortName";
}
case 'Book':
{
return "SortName";
}
case 'MusicArtist':
{
return "SortName";
}
case 'MusicAlbum':
{
return "AlbumArtist,SortName";
}
default:
{
return "SortName";
}
}
}
function getItemCellsHtml(item, headercells) {
return headercells.map(function (cell) {
@ -161,6 +210,8 @@
var html = '';
html += '<td>';
var stream;
switch (cell.type || cell.name) {
case 'Album Artist':
@ -205,7 +256,7 @@
}
case 'Audio':
{
var stream = (item.MediaStreams || []).filter(function (s) {
stream = (item.MediaStreams || []).filter(function (s) {
return s.Type == 'Audio';
@ -220,7 +271,7 @@
}
case 'Video':
{
var stream = (item.MediaStreams || []).filter(function (s) {
stream = (item.MediaStreams || []).filter(function (s) {
return s.Type == 'Video';
@ -231,6 +282,19 @@
}
break;
}
case 'Resolution':
{
stream = (item.MediaStreams || []).filter(function (s) {
return s.Type == 'Video';
})[0];
if (stream && stream.Width) {
html += stream.Width + "*" + (stream.Height || "-");
}
break;
}
case 'Embedded Image':
{
if ((item.MediaStreams || []).filter(function (s) {
@ -420,7 +484,7 @@
cellHtml += (c.name || '&nbsp;');
if (c.sortField) {
cellHtml += '</a>';
if (c.sortField == currentSortField) {
@ -608,6 +672,9 @@
query.StartIndex = 0;
query.IncludeItemTypes = this.value;
query.SortBy = getDefaultSortOrder(this.value);
query.SortOrder = "Ascending";
reloadItems(page);
});
@ -782,6 +849,9 @@
query.StartIndex = 0;
}
query.SortBy = getDefaultSortOrder($('#selectView', page).val());
query.SortOrder = "Ascending";
reloadItems(page);
}).on('pageshow', "#libraryReportPage", function () {