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:
parent
ee25e54186
commit
e6bb8d236f
3 changed files with 51 additions and 9 deletions
|
@ -238,8 +238,8 @@
|
|||
$('#players', page).hide();
|
||||
}
|
||||
|
||||
if ((item.Type == "Audio" || item.Type == "MusicVideo") && item.Artists && item.Artists.length) {
|
||||
$('#artist', page).show().html('Artist: <a class="textlink" href="itembynamedetails.html?context=music&artist=' + ApiClient.encodeName(item.Artists[0]) + '">' + item.Artists[0] + '</a>').trigger('create');
|
||||
if (item.Artists && item.Artists.length) {
|
||||
$('#artist', page).show().html(getArtistLinksHtml(item.Artists)).trigger('create');
|
||||
} else {
|
||||
$('#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: ' + html;
|
||||
}
|
||||
if (artists.length > 1) {
|
||||
return 'Artists: ' + html;
|
||||
}
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
function renderSoundtracks(page, item) {
|
||||
|
||||
if (item.Type == "MusicAlbum") {
|
||||
|
|
|
@ -598,7 +598,7 @@
|
|||
$('#txtAlbumArtist', page).val(item.AlbumArtist || "");
|
||||
|
||||
var artists = item.Artists || [];
|
||||
$('#txtArtist', page).val(artists.join(','));
|
||||
$('#txtArtist', page).val(artists.join(';'));
|
||||
|
||||
var date;
|
||||
|
||||
|
@ -824,7 +824,7 @@
|
|||
Players: $('#txtPlayers', form).val(),
|
||||
Album: $('#txtAlbum', form).val(),
|
||||
AlbumArtist: $('#txtAlbumArtist', form).val(),
|
||||
Artists: [$('#txtArtist', form).val()],
|
||||
Artists: $('#txtArtist', form).val().split(';'),
|
||||
Overview: $('#txtOverview', form).val(),
|
||||
Status: $('#selectStatus', form).val(),
|
||||
AirDays: editableListViewValues($("#listAirDays", form)),
|
||||
|
|
|
@ -293,13 +293,14 @@
|
|||
|
||||
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>';
|
||||
} else {
|
||||
html += '<td>' + (artist || '') + '</td>';
|
||||
html += '<td>' + artistLinksHtml + '</td>';
|
||||
}
|
||||
else {
|
||||
html += '<td></td>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -319,6 +320,23 @@
|
|||
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) {
|
||||
|
||||
var isPlaying = MediaPlayer.isPlaying();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue