From cde56a3e6b8f01d1abdb03ce2d9115287a327262 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 25 Mar 2014 14:27:04 -0700 Subject: [PATCH] client: fix incorrect expand icon shown sometimes --- src/client/app.js | 48 ++++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/src/client/app.js b/src/client/app.js index fca041a..4271f7d 100644 --- a/src/client/app.js +++ b/src/client/app.js @@ -578,18 +578,14 @@ function renderPlaylist(){ for (i = 0; i < itemList.length; i += 1) { var $domItem = $($domItems[i]); item = itemList[i]; - if (item) { - $domItem.attr('id', 'playlist-track-' + item.id); - $domItem.attr('data-id', item.id); - track = item.track; - $domItem.find('.track').text(track.track); - $domItem.find('.title').text(track.name); - $domItem.find('.artist').text(track.artistName); - $domItem.find('.album').text(track.albumName); - $domItem.find('.time').text(formatTime(track.duration)); - } else { - $domItem.remove(); - } + $domItem.attr('id', 'playlist-track-' + item.id); + $domItem.attr('data-id', item.id); + track = item.track; + $domItem.find('.track').text(track.track); + $domItem.find('.title').text(track.name); + $domItem.find('.artist').text(track.artistName); + $domItem.find('.album').text(track.albumName); + $domItem.find('.time').text(formatTime(track.duration)); } refreshSelection(); @@ -749,7 +745,7 @@ function renderLibrary() { $libraryArtists.append( '
  • ' + '' + '' + @@ -767,19 +763,19 @@ function renderLibrary() { for (i = 0; i < artistList.length; i += 1) { domItem = $domItems[i]; artist = artistList[i]; - if (artist) { - $(domItem).data('cached', false); - var divDom = domItem.children[0]; - divDom.setAttribute('id', artistId(artist.key)); - divDom.setAttribute('data-key', artist.key); - var spanDom = divDom.children[1]; - spanDom.textContent = artistDisplayName(artist.name); - var ulDom = domItem.children[1]; - while (ulDom.firstChild) { - ulDom.removeChild(ulDom.firstChild); - } - } else { - domItem.parentNode.removeChild(domItem); + $(domItem).data('cached', false); + var divDom = domItem.children[0]; + divDom.setAttribute('id', artistId(artist.key)); + divDom.setAttribute('data-key', artist.key); + var iconDom = divDom.children[0]; + $(iconDom) + .addClass(ICON_COLLAPSED) + .removeClass(ICON_EXPANDED); + var spanDom = divDom.children[1]; + spanDom.textContent = artistDisplayName(artist.name); + var ulDom = domItem.children[1]; + while (ulDom.firstChild) { + ulDom.removeChild(ulDom.firstChild); } }