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

fixes #506 - Song list - make columns headers clickable for sorting

This commit is contained in:
Luke Pulverenti 2013-09-06 15:17:15 -04:00
parent b7d236b9e4
commit 029f458651
5 changed files with 133 additions and 35 deletions

View file

@ -236,6 +236,35 @@
return html;
},
getSongHeaderCellHtml: function (text, cssClass, enableSorting, sortField, selectedSortField, sortDirection) {
var html = cssClass ? '<th class="' + cssClass + '">' : '<th>';
if (text && enableSorting) {
html += '<a class="lnkColumnSort" data-sortfield="' + sortField + '" href="#" style="text-decoration:underline;">';
}
html += text;
if (text && enableSorting) {
html += '</a>';
if (sortField == selectedSortField) {
if (sortDirection == "Descending") {
html += '<span style="font-weight:bold;margin-left:3px;">&darr;</span>';
} else {
html += '<span style="font-weight:bold;margin-left:3px;">&uarr;</span>';
}
}
}
html += '</th>';
return html;
},
getSongTableHtml: function (items, options) {
options = options || {};
@ -248,24 +277,21 @@
html += '<tr>';
html += '<th></th>';
html += '<th></th>';
html += '<th>Track</th>';
html += LibraryBrowser.getSongHeaderCellHtml('', '', options.enableColumnSorting);
html += LibraryBrowser.getSongHeaderCellHtml('', '', options.enableColumnSorting);
html += LibraryBrowser.getSongHeaderCellHtml('Track', '', options.enableColumnSorting, 'Name', options.sortBy, options.sortOrder);
if (options.showAlbum) {
html += '<th>Album</th>';
html += LibraryBrowser.getSongHeaderCellHtml('Album', '', options.enableColumnSorting, 'Album,SortName', options.sortBy, options.sortOrder);
}
if (options.showArtist) {
html += '<th>Album Artist</th>';
}
if (options.showArtist) {
html += '<th>Artist</th>';
html += LibraryBrowser.getSongHeaderCellHtml('Album Artist', '', options.enableColumnSorting, 'AlbumArtist,Album,SortName', options.sortBy, options.sortOrder);
html += LibraryBrowser.getSongHeaderCellHtml('Artist', '', options.enableColumnSorting, 'Artist,Album,SortName', options.sortBy, options.sortOrder);
}
html += '<th class="tabletColumn">Runtime</th>';
html += '<th class="tabletColumn">Play Count</th>';
html += '<th class="tabletColumn userDataCell"></th>';
html += LibraryBrowser.getSongHeaderCellHtml('Runtime', 'tabletColumn', options.enableColumnSorting, 'Runtime,AlbumArtist,Album,SortName', options.sortBy, options.sortOrder);
html += LibraryBrowser.getSongHeaderCellHtml('Play Count', 'tabletColumn', options.enableColumnSorting, 'PlayCount,AlbumArtist,Album,SortName', options.sortBy, options.sortOrder);
html += LibraryBrowser.getSongHeaderCellHtml('', 'tabletColumn userDataCell', options.enableColumnSorting);
html += '</tr>';