Hide 'Show...' popup menu options if URI's are note available.

Fixes #213.
This commit is contained in:
jcass 2016-11-27 08:44:48 +02:00
parent 50eda192c0
commit d0db1ad50d
2 changed files with 23 additions and 11 deletions

View File

@ -103,6 +103,14 @@ Project resources
Changelog Changelog
========= =========
v2.4.0 (UNRELEASED)
-------------------
**Fixes**
- Only show 'Show Album' or 'Show Artist' options in popup menus if URI's for those resources are available.
(Fixes: `#213 <https://github.com/pimusicbox/mopidy-musicbox-webclient/issues/213>`_).
v2.3.0 (2016-05-15) v2.3.0 (2016-05-15)
------------------- -------------------

View File

@ -160,7 +160,7 @@ function popupTracks (e, listuri, trackuri, tlid) {
e = window.event e = window.event
} }
$('.popupTrackName').html(popupData[trackuri].name) $('.popupTrackName').html(popupData[trackuri].name)
if (popupData[trackuri].album && popupData[trackuri].album.name) { if (popupData[trackuri].album && popupData[trackuri].album.name && popupData[trackuri].album.uri) {
$('.popupAlbumName').html(popupData[trackuri].album.name) $('.popupAlbumName').html(popupData[trackuri].album.name)
$('.popupAlbumLi').show() $('.popupAlbumLi').show()
} else { } else {
@ -168,26 +168,30 @@ function popupTracks (e, listuri, trackuri, tlid) {
} }
var child = '' var child = ''
$('.popupArtistsLi').hide()
$('.popupArtistsDiv').hide()
if (popupData[trackuri].artists) { if (popupData[trackuri].artists) {
if (popupData[trackuri].artists.length === 1) { if (popupData[trackuri].artists.length === 1 && popupData[trackuri].artists[0].uri) {
child = '<a href="#" onclick="library.showArtist(\'' + popupData[trackuri].artists[0].uri + '\');">Show Artist</a>' child = '<a href="#" onclick="library.showArtist(\'' + popupData[trackuri].artists[0].uri + '\');">Show Artist</a>'
$('.popupArtistName').html(popupData[trackuri].artists[0].name) $('.popupArtistName').html(popupData[trackuri].artists[0].name)
$('.popupArtistHref').attr('onclick', 'library.showArtist("' + popupData[trackuri].artists[0].uri + '");') $('.popupArtistHref').attr('onclick', 'library.showArtist("' + popupData[trackuri].artists[0].uri + '");')
$('.popupArtistsDiv').hide() $('.popupArtistsDiv').hide()
$('.popupArtistsLi').show() $('.popupArtistsLi').show()
} else { } else {
var isValidArtistURI = false
for (var j = 0; j < popupData[trackuri].artists.length; j++) { for (var j = 0; j < popupData[trackuri].artists.length; j++) {
if (popupData[trackuri].artists[0].uri) {
isValidArtistURI = true
child += '<li><a href="#" onclick="library.showArtist(\'' + popupData[trackuri].artists[j].uri + '\');"><span class="popupArtistName">' + popupData[trackuri].artists[j].name + '</span></a></li>' child += '<li><a href="#" onclick="library.showArtist(\'' + popupData[trackuri].artists[j].uri + '\');"><span class="popupArtistName">' + popupData[trackuri].artists[j].name + '</span></a></li>'
} }
$('.popupArtistsLi').hide() }
if (isValidArtistURI) {
$('.popupArtistsLv').html(child).show() $('.popupArtistsLv').html(child).show()
$('.popupArtistsDiv').show() $('.popupArtistsDiv').show()
// this makes the viewport of the window resize somehow // this makes the viewport of the window resize somehow
$('.popupArtistsLv').listview('refresh') $('.popupArtistsLv').listview('refresh')
} }
} else { }
$('.popupArtistsDiv').hide()
$('.popupArtistsLi').hide()
} }
var hash = document.location.hash.split('?') var hash = document.location.hash.split('?')