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

fixes #520 - Support multiple artists per audio track

This commit is contained in:
Luke Pulverenti 2013-09-05 15:00:50 -04:00
parent ee25e54186
commit e6bb8d236f
3 changed files with 51 additions and 9 deletions

View file

@ -238,8 +238,8 @@
$('#players', page).hide(); $('#players', page).hide();
} }
if ((item.Type == "Audio" || item.Type == "MusicVideo") && item.Artists && item.Artists.length) { if (item.Artists && item.Artists.length) {
$('#artist', page).show().html('Artist:&nbsp;&nbsp;<a class="textlink" href="itembynamedetails.html?context=music&artist=' + ApiClient.encodeName(item.Artists[0]) + '">' + item.Artists[0] + '</a>').trigger('create'); $('#artist', page).show().html(getArtistLinksHtml(item.Artists)).trigger('create');
} else { } else {
$('#artist', page).hide(); $('#artist', page).hide();
} }
@ -261,6 +261,30 @@
} }
} }
function getArtistLinksHtml(artists) {
var html = [];
for (var i = 0, length = artists.length; i < length; i++) {
var artist = artists[i];
html.push('<a class="textlink" href="itembynamedetails.html?context=music&artist=' + ApiClient.encodeName(artist) + '">' + artist + '</a>');
}
html = html.join(' / ');
if (artists.length == 1) {
return 'Artist:&nbsp;&nbsp;' + html;
}
if (artists.length > 1) {
return 'Artists:&nbsp;&nbsp;' + html;
}
return html;
}
function renderSoundtracks(page, item) { function renderSoundtracks(page, item) {
if (item.Type == "MusicAlbum") { if (item.Type == "MusicAlbum") {

View file

@ -598,7 +598,7 @@
$('#txtAlbumArtist', page).val(item.AlbumArtist || ""); $('#txtAlbumArtist', page).val(item.AlbumArtist || "");
var artists = item.Artists || []; var artists = item.Artists || [];
$('#txtArtist', page).val(artists.join(',')); $('#txtArtist', page).val(artists.join(';'));
var date; var date;
@ -824,7 +824,7 @@
Players: $('#txtPlayers', form).val(), Players: $('#txtPlayers', form).val(),
Album: $('#txtAlbum', form).val(), Album: $('#txtAlbum', form).val(),
AlbumArtist: $('#txtAlbumArtist', form).val(), AlbumArtist: $('#txtAlbumArtist', form).val(),
Artists: [$('#txtArtist', form).val()], Artists: $('#txtArtist', form).val().split(';'),
Overview: $('#txtOverview', form).val(), Overview: $('#txtOverview', form).val(),
Status: $('#selectStatus', form).val(), Status: $('#selectStatus', form).val(),
AirDays: editableListViewValues($("#listAirDays", form)), AirDays: editableListViewValues($("#listAirDays", form)),

View file

@ -293,13 +293,14 @@
if (options.showArtist) { if (options.showArtist) {
if (item.Artists && item.Artists.length && item.Artists[0]) { if (item.Artists && item.Artists.length) {
var artist = item.Artists[0]; var artistLinksHtml = LibraryBrowser.getArtistLinksHtml(item.Artists);
html += '<td><a href="itembynamedetails.html?context=music&artist=' + ApiClient.encodeName(artist) + '">' + artist + '</a></td>'; html += '<td>' + artistLinksHtml + '</td>';
} else { }
html += '<td>' + (artist || '') + '</td>'; else {
html += '<td></td>';
} }
} }
@ -319,6 +320,23 @@
return html; return html;
}, },
getArtistLinksHtml: function (artists) {
var html = [];
for (var i = 0, length = artists.length; i < length; i++) {
var artist = artists[i];
html.push('<a href="itembynamedetails.html?context=music&artist=' + ApiClient.encodeName(artist) + '">' + artist + '</a>');
}
html = html.join(' / ');
return html;
},
showPlayMenu: function (positionTo, itemId, itemType, mediaType, resumePositionTicks) { showPlayMenu: function (positionTo, itemId, itemType, mediaType, resumePositionTicks) {
var isPlaying = MediaPlayer.isPlaying(); var isPlaying = MediaPlayer.isPlaying();