From 979dc028c788d776078d2eb67d82b480a429a7e2 Mon Sep 17 00:00:00 2001 From: jcass Date: Sat, 5 Mar 2016 15:49:48 +0200 Subject: [PATCH] fox:Manual eslint rule violation fixes. --- .../static/js/controls.js | 50 +++-- .../static/js/functionsvars.js | 63 +++---- mopidy_musicbox_webclient/static/js/gui.js | 172 +++++++++--------- mopidy_musicbox_webclient/static/js/images.js | 10 +- .../static/js/library.js | 31 ++-- .../static/js/process_ws.js | 18 +- .../static/js/progress_timer.js | 10 +- mopidy_musicbox_webclient/static/mb.appcache | 2 +- 8 files changed, 179 insertions(+), 177 deletions(-) diff --git a/mopidy_musicbox_webclient/static/js/controls.js b/mopidy_musicbox_webclient/static/js/controls.js index daec3cc..3db4a6d 100644 --- a/mopidy_musicbox_webclient/static/js/controls.js +++ b/mopidy_musicbox_webclient/static/js/controls.js @@ -8,7 +8,7 @@ function playBrowsedTracks (action, trackIndex) { if (typeof trackIndex === 'undefined') { trackIndex = $('#popupBrowse').data('tlid') } - if (action == PLAY_ALL) { + if (action === PLAY_ALL) { mopidy.tracklist.clear() // Default for radio streams is to just add the selected URI. if (isStreamUri(browseTracks[trackIndex].uri)) { @@ -62,8 +62,8 @@ function playTrack (action) { var divid = hash[0].substr(1) // Search page default click behaviour adds and plays selected track only. - if (action == PLAY_NOW && divid == 'search') { - action = PLAY_NOW_SEARCH + if (action === PLAY_NOW && divid === 'search') { + action === PLAY_NOW_SEARCH } $('#popupTracks').popup('close') @@ -76,7 +76,7 @@ function playTrack (action) { var trackUris = getTracksFromUri(playlisturi) // find track that was selected for (var selected = 0; selected < trackUris.length; selected++) { - if (trackUris[selected] == uri) { + if (trackUris[selected] === uri) { break } } @@ -121,7 +121,7 @@ function playTrackByUri (track_uri, playlist_uri) { if (tlTracks.length > 0) { // Find track that was selected for (var selected = 0; selected < tlTracks.length; selected++) { - if (tlTracks[selected].track.uri == track_uri) { + if (tlTracks[selected].track.uri === track_uri) { mopidy.playback.play({'tl_track': tlTracks[selected]}) return } @@ -214,7 +214,7 @@ function clearQueue () { } function savePressed (key) { - if (key == 13) { + if (key === 13) { saveQueue() return false } @@ -228,7 +228,6 @@ function showSavePopup () { $('#popupSave').popup('open') } }) - } function saveQueue () { @@ -335,33 +334,33 @@ function backbt () { *************/ function setTracklistOption (name, new_value) { if (!new_value) { - $("#" + name+'bt').attr('style', 'color:#2489ce') + $('#' + name + 'bt').attr('style', 'color:#2489ce') } else { - $("#" + name+'bt').attr('style', 'color:#66DD33') + $('#' + name + 'bt').attr('style', 'color:#66DD33') } return new_value } function setRepeat (nwrepeat) { - if (repeat != nwrepeat) { + if (repeat !== nwrepeat) { repeat = setTracklistOption('repeat', nwrepeat) } } function setRandom (nwrandom) { - if (random != nwrandom) { + if (random !== nwrandom) { random = setTracklistOption('random', nwrandom) } } function setConsume (nwconsume) { - if (consume != nwconsume) { + if (consume !== nwconsume) { consume = setTracklistOption('consume', nwconsume) } } function setSingle (nwsingle) { - if (single != nwsingle) { + if (single !== nwsingle) { single = setTracklistOption('single', nwsingle) } } @@ -382,7 +381,6 @@ function doSingle () { mopidy.tracklist.setSingle({'value': !single}).then() } - /** ********************************************* * Track Slider * * Use a timer to prevent looping of commands * @@ -397,7 +395,7 @@ function doSeekPos (value) { } function setPosition (pos) { - if (!positionChanging && $('#trackslider').val() != pos) { + if (!positionChanging && $('#trackslider').val() !== pos) { setProgressTimer(pos) } } @@ -408,10 +406,10 @@ function setPosition (pos) { ***********************************************/ function setVolume (value) { - if (!volumeChanging && !volumeSliding && $('#volumeslider').val() != value) { - $("#volumeslider").off( 'change') - $("#volumeslider").val(value).slider('refresh') - $("#volumeslider").on( 'change', function () { doVolume($(this).val()) }) + if (!volumeChanging && !volumeSliding && $('#volumeslider').val() !== value) { + $('#volumeslider').off('change') + $('#volumeslider').val(value).slider('refresh') + $('#volumeslider').on('change', function () { doVolume($(this).val()) }) } } @@ -425,7 +423,7 @@ function doVolume (value) { } function setMute (nwmute) { - if (mute != nwmute) { + if (mute !== nwmute) { mute = nwmute if (mute) { $('#mutebt').attr('class', 'fa fa-volume-off') @@ -443,7 +441,7 @@ function doMute () { * Stream * ************/ function streamPressed (key) { - if (key == 13) { + if (key === 13) { playStreamUri() return false } @@ -530,8 +528,8 @@ function getFavourites () { STREAMS_PLAYLIST_SCHEME, true).then(function (playlist) { if (playlist) { - return getPlaylistFull(playlist.uri) - } + return getPlaylistFull(playlist.uri) + } return Mopidy.when(false) }) } @@ -552,11 +550,11 @@ function addToFavourites (newTracks) { } function addFavourite (uri, name) { - var uri = uri || $('#streamuriinput').val().trim() - var name = name || $('#streamnameinput').val().trim() + uri = uri || $('#streamuriinput').val().trim() + name = name || $('#streamnameinput').val().trim() mopidy.library.lookup({'uris': [uri]}).then(function (results) { var newTracks = results[uri] - if (newTracks.length == 1) { + if (newTracks.length === 1) { // TODO: Supporting adding an entire playlist? if (name) { newTracks[0].name = name // User overrides name. diff --git a/mopidy_musicbox_webclient/static/js/functionsvars.js b/mopidy_musicbox_webclient/static/js/functionsvars.js index 1b8f060..9d82bf3 100644 --- a/mopidy_musicbox_webclient/static/js/functionsvars.js +++ b/mopidy_musicbox_webclient/static/js/functionsvars.js @@ -42,11 +42,11 @@ var customTracklists = [] var browseStack = [] var browseTracks = [] -var ua = navigator.userAgent, - isMobileSafari = /Mac/.test(ua) && /Mobile/.test(ua), - isMobileWebkit = /WebKit/.test(ua) && /Mobile/.test(ua), - isMobile = /Mobile/.test(ua), - isWebkit = /WebKit/.test(ua) +var ua = navigator.userAgent +var isMobileSafari = /Mac/.test(ua) && /Mobile/.test(ua) +var isMobileWebkit = /WebKit/.test(ua) && /Mobile/.test(ua) +var isMobile = /Mobile/.test(ua) +var isWebkit = /WebKit/.test(ua) // constants PROGRAM_NAME = 'MusicBox' @@ -215,7 +215,7 @@ function resultsToTables (results, target, uri) { return } var tlids = [] - if (target == CURRENT_PLAYLIST_TABLE) { + if (target === CURRENT_PLAYLIST_TABLE) { for (i = 0; i < results.length; i++) { tlids[i] = results[i].tlid results[i] = results[i].track @@ -255,7 +255,7 @@ function resultsToTables (results, target, uri) { } // leave out unplayable items - if (results[i].name.substring(0, 12) == '[unplayable]') continue + if (results[i].name.substring(0, 12) === '[unplayable]') continue newalbum.push(results[i]) newtlids.push(tlids[i]) @@ -263,39 +263,40 @@ function resultsToTables (results, target, uri) { if ((i < length - 1) && results[i + 1].album && results[i + 1].album.name) { nextname = results[i + 1].album.name } - if (results[i].length == -1) { + if (results[i].length === -1) { html += '
  • ' + results[i].name + ' [Stream]

  • ' newalbum = [] newtlids = [] nextname = '' } else { - if ((results[i].album.name != nextname) || (nextname === '')) { + if ((results[i].album.name !== nextname) || (nextname === '')) { tableid = 'art' + i // render differently if only one track in the album - if (newalbum.length == 1) { + if (newalbum.length === 1) { + var liID = '' if (i !== 0) { html += '
  •  
  • ' } iconClass = getMediaClass(newalbum[0].uri) - var liID = targetmin + '-' + newalbum[0].uri - if (target == CURRENT_PLAYLIST_TABLE) { + liID = targetmin + '-' + newalbum[0].uri + if (target === CURRENT_PLAYLIST_TABLE) { html += '
  • ' + '' + '' + '' + - '

    ' + newalbum[0].name + "

    " + '

    ' + newalbum[0].name + '

    ' } else { html += '

  • ' + '' + '' + '' + - '

    ' + newalbum[0].name + "

    " + '

    ' + newalbum[0].name + '

    ' } if (newalbum[0].artists) { for (j = 0; j < newalbum[0].artists.length; j++) { html += newalbum[0].artists[j].name - html += (j == newalbum[0].artists.length - 1) ? '' : ' / ' + html += (j === newalbum[0].artists.length - 1) ? '' : ' / ' // stop after 3 if (j > 2) { html += '...' @@ -322,7 +323,7 @@ function resultsToTables (results, target, uri) { if (results[i].album.artists) { for (j = 0; j < results[i].album.artists.length; j++) { html += results[i].album.artists[j].name - html += (j == results[i].album.artists.length - 1) ? '' : ' / ' + html += (j === results[i].album.artists.length - 1) ? '' : ' / ' // stop after 3 if (j > 2) { child += '...' @@ -334,8 +335,8 @@ function resultsToTables (results, target, uri) { for (j = 0; j < newalbum.length; j++) { popupData[newalbum[j].uri] = newalbum[j] // hERE! - var liID = targetmin + '-' + newalbum[j].uri - if (target == CURRENT_PLAYLIST_TABLE) { + liID = targetmin + '-' + newalbum[j].uri + if (target === CURRENT_PLAYLIST_TABLE) { html += renderQueueSongLi(newalbum[j], liID, uri, newtlids[j]) } else { html += renderSongLi(newalbum[j], liID, uri) @@ -369,13 +370,13 @@ function playlisttotable (pl, target, uri) { if (pl[i]) { popupData[pl[i].uri] = pl[i] child = '

  • ' - child += '

    ' + pl[i].name + "

    " + child += '

    ' + pl[i].name + 'h1>' child += '

    ' child += '' + timeFromSeconds(pl[i].length / 1000) + '' for (var j = 0; j < pl[i].artists.length; j++) { if (pl[i].artists[j]) { child += pl[i].artists[j].name - child += (j == pl[i].artists.length - 1) ? '' : ' / ' + child += (j === pl[i].artists.length - 1) ? '' : ' / ' // stop after 3 if (j > 2) { child += '...' @@ -436,7 +437,7 @@ function timeFromSeconds (length) { /** ***** Toast ***/ function toast (message, delay, textOnly) { textOnl = textOnly || false - message = message || "Loading..." + message = message || 'Loading...' delay = delay || 1000 $.mobile.loading('show', { text: message, @@ -480,7 +481,6 @@ function showOffline (on) { } } - // from http://dzone.com/snippets/validate-url-regexp function validUri (str) { var regexp = /^(mms|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ @@ -504,7 +504,7 @@ function isStreamUri (uri) { function getMediaClass (uri) { var scheme = getScheme(uri) for (var i = 0; i < uriClassList.length; i++) { - if (scheme == uriClassList[i][0]) { + if (scheme === uriClassList[i][0]) { return 'fa ' + uriClassList[i][1] } } @@ -514,7 +514,7 @@ function getMediaClass (uri) { function getMediaHuman (uri) { var scheme = getScheme(uri) for (var i = 0; i < uriHumanList.length; i++) { - if (scheme == uriHumanList[i][0]) { + if (scheme === uriHumanList[i][0]) { return uriHumanList[i][1] } } @@ -523,13 +523,14 @@ function getMediaHuman (uri) { function isServiceUri (uri) { var scheme = getScheme(uri) - for (var i = 0; i < uriClassList.length; i++) { - if (scheme == uriClassList[i][0]) { + var i = 0 + for (i = 0; i < uriClassList.length; i++) { + if (scheme === uriClassList[i][0]) { return true } } - for (var i = 0; i < radioExtensionsList.length; i++) { - if (scheme == radioExtensionsList[i]) { + for (i = 0; i < radioExtensionsList.length; i++) { + if (scheme === radioExtensionsList[i]) { return true } } @@ -537,11 +538,11 @@ function isServiceUri (uri) { } function isFavouritesPlaylist (playlist) { - return (playlist.name == STREAMS_PLAYLIST_NAME && - getScheme(playlist.uri) == STREAMS_PLAYLIST_SCHEME) + return (playlist.name === STREAMS_PLAYLIST_NAME && + getScheme(playlist.uri) === STREAMS_PLAYLIST_SCHEME) } function isSpotifyStarredPlaylist (playlist) { var starredRegex = /spotify:user:.*:starred/g - return (starredRegex.test(playlist.uri) && playlist.name == 'Starred') + return (starredRegex.test(playlist.uri) && playlist.name === 'Starred') } diff --git a/mopidy_musicbox_webclient/static/js/gui.js b/mopidy_musicbox_webclient/static/js/gui.js index 4827d1c..1654123 100644 --- a/mopidy_musicbox_webclient/static/js/gui.js +++ b/mopidy_musicbox_webclient/static/js/gui.js @@ -9,9 +9,9 @@ function resetSong () { setPlayState(false) setPosition(0) - var data = new Object({}) + var data = {} data.tlid = -1 - data.track = new Object({}) + data.track = {} data.track.name = '' data.track.artists = '' data.track.length = 0 @@ -60,7 +60,6 @@ function resizeMb () { $('#playlistslistdiv').show(); } - if (isMobileWebkit && ($(window).width() > 480)) { playlistslistScroll.refresh(); playlisttracksScroll.refresh(); @@ -79,7 +78,7 @@ function setSongTitle (title, refresh_ui) { function setSongInfo (data) { // console.log(data, songdata); if (!data) { return } - if (data.tlid == songdata.tlid) { return } + if (data.tlid === songdata.tlid) { return } if (!data.track.name || data.track.name === '') { var name = data.track.uri.split('/') data.track.name = decodeURI(name[name.length - 1]) @@ -92,7 +91,7 @@ function setSongInfo (data) { if (validUri(data.track.name)) { for (var key in streamUris) { rs = streamUris[key] - if (rs && rs[1] == data.track.name) { + if (rs && rs[1] === data.track.name) { data.track.name = (rs[0] || rs[1]) } } @@ -117,14 +116,14 @@ function setSongInfo (data) { var arttmp = '' if (data.track.artists) { - for (var j = 0; j < data.track.artists.length; j++) { - artistshtml += '' + data.track.artists[j].name + '' - artiststext += data.track.artists[j].name - if (j != data.track.artists.length - 1) { - artistshtml += ', ' - artiststext += ', ' - } - } + for (var j = 0; j < data.track.artists.length; j++) { + artistshtml += '' + data.track.artists[j].name + '' + artiststext += data.track.artists[j].name + if (j !== data.track.artists.length - 1) { + artistshtml += ', ' + artiststext += ', ' + } + } arttmp = artistshtml } if (data.track.album && data.track.album.name) { @@ -161,14 +160,15 @@ function closePopups () { } function popupTracks (e, listuri, trackuri, tlid) { - if (!e) + if (!e) { e = window.event + } $('.popupTrackName').html(popupData[trackuri].name) $('.popupAlbumName').html(popupData[trackuri].album.name) - var child = "" + var child = '' if (popupData[trackuri].artists) { - if (popupData[trackuri].artists.length == 1) { + if (popupData[trackuri].artists.length === 1) { child = 'Show Artist' $('.popupArtistName').html(popupData[trackuri].artists[0].name) $('.popupArtistHref').attr('onclick', 'showArtist("' + popupData[trackuri].artists[0].uri + '");') @@ -192,10 +192,10 @@ function popupTracks (e, listuri, trackuri, tlid) { var hash = document.location.hash.split('?') var divid = hash[0].substr(1) var popupName = '' - if (divid == 'current') { + if (divid === 'current') { $('.addqueue').hide() popupName = '#popupQueue' - } else if (divid == 'browse') { + } else if (divid === 'browse') { $('.addqueue').show() popupName = '#popupBrowse' } else { @@ -203,15 +203,15 @@ function popupTracks (e, listuri, trackuri, tlid) { popupName = '#popupTracks' } - if (typeof tlid != 'undefined' && tlid !== '') { + if (typeof tlid !== 'undefined' && tlid !== '') { $(popupName).data('list', listuri).data('track', trackuri).data('tlid', tlid).popup('open', { - x : e.pageX, - y : e.pageY + x: e.pageX, + y: e.pageY }) } else { $(popupName).data('list', listuri).data('track', trackuri).popup('open', { - x : e.pageX, - y : e.pageY + x: e.pageX, + y: e.pageY }) } @@ -311,7 +311,6 @@ function initSocketevents () { $(document).bind('pageinit', function () { resizeMb() - }) /** ************ @@ -392,7 +391,6 @@ function locationHashChanged () { var divid = hash[0].substr(1) setHeadline(divid) - var uri = hash[1] $('.mainNav a').removeClass('ui-state-active ui-state-persist ui-btn-active') // i don't know why some li elements have those classes, but they do, so we need to remove them @@ -470,7 +468,7 @@ $(document).ready(function (event) { } // workaround for a bug in jQuery Mobile, without that the panel doesn't close on mobile devices... - $('.ui-panel-dismiss').on( 'tap', function () { $('#panel').panel('close') }) + $('.ui-panel-dismiss').on('tap', function () { $('#panel').panel('close') }) // end of workaround $(window).hashchange() @@ -489,16 +487,15 @@ $(document).ready(function (event) { try { mopidy = new Mopidy({callingConvention: 'by-position-or-by-name'}) } catch (e) { - showOffline(true) - } + showOffline(true) + } } // initialize events initSocketevents() progressTimer = new ProgressTimer({ - callback: timerCallback, - // updateRate: 2000, + callback: timerCallback }) resetSong() @@ -535,9 +532,9 @@ $(document).ready(function (event) { // event handlers for full screen mode $(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange, MSFullscreenChange', function (e) { if (isFullscreen()) { - document.getElementById('toggletxt').innerHTML = "Exit Fullscreen" + document.getElementById('toggletxt').innerHTML = 'Exit Fullscreen' } else { - document.getElementById('toggletxt').innerHTML = "Fullscreen" + document.getElementById('toggletxt').innerHTML = 'Fullscreen' } }) @@ -560,28 +557,27 @@ $(document).ready(function (event) { $(document).keypress(function (event) { // console.log('kp: '+event); - if (event.target.tagName != 'INPUT') { - var unicode = event.keyCode ? event.keyCode : event.charCode - var actualkey = String.fromCharCode(unicode) - switch (actualkey) { - case ' ': - doPlay() - event.preventDefault() - break - case '>': - doNext() - event.preventDefault() - break - case '<': - doPrevious() - event.preventDefault() - break - } - return true - } + if (event.target.tagName !== 'INPUT') { + var unicode = event.keyCode ? event.keyCode : event.charCode + var actualkey = String.fromCharCode(unicode) + switch (actualkey) { + case ' ': + doPlay() + event.preventDefault() + break + case '>': + doNext() + event.preventDefault() + break + case '<': + doPrevious() + event.preventDefault() + break + } + return true + } }) - if ($(window).width() < 980) { $('#panel').panel('close') } else { @@ -593,84 +589,86 @@ $(document).ready(function (event) { $.event.special.swipe.durationThreshold = 500 // swipe songinfo and panel - $("#normalFooter, #nowPlayingFooter").on( 'swiperight', doPrevious) - $("#normalFooter, #nowPlayingFooter").on( 'swipeleft', doNext) - $("#nowPlayingpane, .ui-body-c, #header, #panel, .pane").on( 'swiperight', function () { - if (!$(event.target).is('#normalFooter') && !$(event.target).is('#nowPlayingFooter')) { - $('#panel').panel('open') - event.stopImmediatePropagation() } - }) - $("#nowPlayingpane, .ui-body-c, #header, #panel, .pane").on( 'swipeleft', function () { - if (!$(event.target).is('#normalFooter') && !$(event.target).is('#nowPlayingFooter')) { - $('#panel').panel('close') - event.stopImmediatePropagation() } - }) - - $("#trackslider").on( 'slidestart', function () { - progressTimer.stop() - $("#trackslider").on( 'change', function () { updatePosition($(this).val()) }) + $('#normalFooter, #nowPlayingFooter').on('swiperight', doPrevious) + $('#normalFooter, #nowPlayingFooter').on('swipeleft', doNext) + $('#nowPlayingpane, .ui-body-c, #header, #panel, .pane').on('swiperight', function () { + if (!$(event.target).is('#normalFooter') && !$(event.target).is('#nowPlayingFooter')) { + $('#panel').panel('open') + event.stopImmediatePropagation() + } + }) + $('#nowPlayingpane, .ui-body-c, #header, #panel, .pane').on('swipeleft', function () { + if (!$(event.target).is('#normalFooter') && !$(event.target).is('#nowPlayingFooter')) { + $('#panel').panel('close') + event.stopImmediatePropagation() + } }) - $("#trackslider").on( 'slidestop', function () { - $("#trackslider").off( 'change') + $('#trackslider').on('slidestart', function () { + progressTimer.stop() + $('#trackslider').on('change', function () { updatePosition($(this).val()) }) + }) + + $('#trackslider').on('slidestop', function () { + $('#trackslider').off('change') doSeekPos($(this).val()) }) - $("#volumeslider").on( 'slidestart', function () { volumeSliding = true }) - $("#volumeslider").on( 'slidestop', function () { volumeSliding = false }) - $("#volumeslider").on( 'change', function () { doVolume($(this).val()) }) + $('#volumeslider').on('slidestart', function () { volumeSliding = true }) + $('#volumeslider').on('slidestop', function () { volumeSliding = false }) + $('#volumeslider').on('change', function () { doVolume($(this).val()) }) }) function updatePlayIcons (uri, tlid) { // update styles of listviews $('#currenttable li').each(function () { var eachTlid = $(this).attr('tlid') - if (typeof eachTlid != 'undefined') { + if (typeof eachTlid !== 'undefined') { eachTlid = parseInt(eachTlid) } - if (this.id == 'currenttable-' + uri && eachTlid == tlid) { + if (this.id === 'currenttable-' + uri && eachTlid === tlid) { $(this).addClass('currenttrack') } else { $(this).removeClass('currenttrack') - } + } }) $('#playlisttracks li').each(function () { - if (this.id == 'playlisttracks-' + uri) { + if (this.id === 'playlisttracks-' + uri) { $(this).addClass('currenttrack2') } else { $(this).removeClass('currenttrack2') - } + } }) $('#trackresulttable li').each(function () { - if (this.id == 'trackresulttable-' + uri) { + if (this.id === 'trackresulttable-' + uri) { $(this).addClass('currenttrack2') } else { - $(this).removeClass('currenttrack2') - } + $(this).removeClass('currenttrack2') + } }) $('#artiststable li').each(function () { - if (this.id == 'artiststable-' + uri) { + if (this.id === 'artiststable-' + uri) { $(this).addClass('currenttrack2') } else { $(this).removeClass('currenttrack2') - } + } }) $('#albumstable li').each(function () { - if (this.id == 'albumstable-' + uri) { + if (this.id === 'albumstable-' + uri) { $(this).addClass('currenttrack2') } else { $(this).removeClass('currenttrack2') - } + } }) $('#browselist li').each(function () { - if (this.id == 'browselisttracks-' + uri) { + if (this.id === 'browselisttracks-' + uri) { $(this).addClass('currenttrack2') } else { $(this).removeClass('currenttrack2') - } + } }) } diff --git a/mopidy_musicbox_webclient/static/js/images.js b/mopidy_musicbox_webclient/static/js/images.js index 8cb61dc..d8c6627 100644 --- a/mopidy_musicbox_webclient/static/js/images.js +++ b/mopidy_musicbox_webclient/static/js/images.js @@ -13,9 +13,9 @@ $(window).load(function () { fmcache = new LastFMCache() // create a LastFM object lastfm = new LastFM({ - apiKey : API_KEY, - apiSecret : API_SECRET, - cache : fmcache + apiKey: API_KEY, + apiSecret: API_SECRET, + cache: fmcache }) }) @@ -72,7 +72,7 @@ function getCoverFromLastFm (track, images, size) { lastfm.album.getInfo({artist: artistname, album: albumname}, { success: function (data) { for (var i = 0; i < data.album.image.length; i++) { - if (data.album.image[i].size == size) { + if (data.album.image[i].size === size) { $(images).attr('src', data.album.image[i]['#text'] || defUrl) } } @@ -84,7 +84,7 @@ function getArtistImage (nwartist, image, size) { var defUrl = 'images/user_24x32.png' lastfm.artist.getInfo({artist: nwartist}, {success: function (data) { for (var i = 0; i < data.artist.image.length; i++) { - if (data.artist.image[i].size == size) { + if (data.artist.image[i].size === size) { $(image).attr('src', data.artist.image[i]['#text'] || defUrl) } } diff --git a/mopidy_musicbox_webclient/static/js/library.js b/mopidy_musicbox_webclient/static/js/library.js index e91e6bc..9cba433 100644 --- a/mopidy_musicbox_webclient/static/js/library.js +++ b/mopidy_musicbox_webclient/static/js/library.js @@ -5,7 +5,7 @@ function searchPressed (key) { var value = $('#searchinput').val() switchContent('search') - if (key == 13) { + if (key === 13) { initSearch() return false } @@ -31,12 +31,12 @@ function initSearch () { $('#searchalbums').hide() $('#searchtracks').hide() - if (searchService != 'all') { - mopidy.library.search({'query': {any:[value]}, 'uris': [searchService + ':']}).then(processSearchResults, console.error) + if (searchService !== 'all') { + mopidy.library.search({'query': {any: [value]}, 'uris': [searchService + ':']}).then(processSearchResults, console.error) } else { mopidy.getUriSchemes().then(function (schemes) { - var query = {}, - uris = [] + var query = {} + var uris = [] var regexp = $.map(schemes, function (scheme) { return '^' + scheme + ':' @@ -79,9 +79,10 @@ function processSearchResults (resultArr) { // Merge results from different backends. // TODO should of coures have multiple tables var results = {'tracks': [], 'artists': [], 'albums': []} - var j, emptyResult = true + var i, j + var emptyResult = true - for (var i = 0; i < resultArr.length; i++) { + for (i = 0; i < resultArr.length; i++) { if (resultArr[i].tracks) { for (j = 0; j < resultArr[i].tracks.length; j++) { results.tracks.push(resultArr[i].tracks[j]) @@ -137,7 +138,7 @@ function processSearchResults (resultArr) { var pattern = '

  • {name}
  • ' var tokens - for (var i = 0; i < results.artists.length; i++) { + for (i = 0; i < results.artists.length; i++) { tokens = { 'id': results.artists[i].uri, 'name': results.artists[i].name, @@ -145,7 +146,7 @@ function processSearchResults (resultArr) { } // Add 'Show all' item after a certain number of hits. - if (i == 4 && results.artists.length > 5) { + if (i === 4 && results.artists.length > 5) { child += theme(showMorePattern, {'count': results.artists.length - i}) pattern = pattern.replace('
  • ', '
  • ') } @@ -163,7 +164,7 @@ function processSearchResults (resultArr) { pattern += '

    {artistName}

    ' pattern += '
  • ' - for (var i = 0; i < results.albums.length; i++) { + for (i = 0; i < results.albums.length; i++) { tokens = { 'albumId': results.albums[i].uri, 'albumName': results.albums[i].name, @@ -172,7 +173,7 @@ function processSearchResults (resultArr) { 'class': getMediaClass(results.albums[i].uri) } if (results.albums[i].artists) { - for (var j = 0; j < results.albums[i].artists.length; j++) { + for (j = 0; j < results.albums[i].artists.length; j++) { if (results.albums[i].artists[j].name) { tokens.artistName += results.albums[i].artists[j].name + ' ' } @@ -182,7 +183,7 @@ function processSearchResults (resultArr) { tokens.artistName += '(' + tokens.albumYear + ')' } // Add 'Show all' item after a certain number of hits. - if (i == 4 && results.albums.length > 5) { + if (i === 4 && results.albums.length > 5) { child += theme(showMorePattern, {'count': results.albums.length - i}) pattern = pattern.replace('
  • ', '
  • ') } @@ -258,7 +259,7 @@ function showTracklist (uri) { updatePlayIcons(uri) $('#playlistslist li a').each(function () { $(this).removeClass('playlistactive') - if (this.id == uri) { + if (this.id === uri) { $(this).addClass('playlistactive') } }) @@ -333,12 +334,12 @@ function getSearchSchemes () { $('#selectSearchService').append(new Option('All services', 'all')) for (var i = 0; i < schemesArray.length; i++) { for (var j = 0; j < uriHumanList.length; j++) { - if (uriHumanList[j][0] == schemesArray[i].toLowerCase()) { + if (uriHumanList[j][0] === schemesArray[i].toLowerCase()) { $('#selectSearchService').append(new Option(uriHumanList[j][1], schemesArray[i])) } } } - $('#selectSearchService').selectmenu( 'refresh', true) + $('#selectSearchService').selectmenu('refresh', true) }, console.error ) } diff --git a/mopidy_musicbox_webclient/static/js/process_ws.js b/mopidy_musicbox_webclient/static/js/process_ws.js index d6c2711..c1279c3 100644 --- a/mopidy_musicbox_webclient/static/js/process_ws.js +++ b/mopidy_musicbox_webclient/static/js/process_ws.js @@ -65,7 +65,7 @@ function processCurrentposition (data) { * process results playstate *********************************************************/ function processPlaystate (data) { - if (data == 'playing') { + if (data === 'playing') { setPlayState(true) } else { setPlayState(false) @@ -86,7 +86,9 @@ function processBrowseDir (resultArr) { $('#browselist').empty() - var child = '', rooturi = '', uri = resultArr[0].uri + var child = '' + var rooturi = '' + var uri = resultArr[0].uri // check root uri // find last : or / (spltting the result) @@ -96,7 +98,7 @@ function processBrowseDir (resultArr) { var lastindex = (colonindex > slashindex) ? colonindex : slashindex rooturi = uri.slice(0, lastindex) - if (resultArr[0].type == 'track') { + if (resultArr[0].type === 'track') { rooturi = rooturi.replace(':track:', ':directory:') } colonindex = rooturi.lastIndexOf(':') @@ -112,7 +114,7 @@ function processBrowseDir (resultArr) { browseTracks = [] for (var i = 0, index = 0; i < resultArr.length; i++) { iconClass = getMediaClass(resultArr[i].uri) - if (resultArr[i].type == 'track') { + if (resultArr[i].type === 'track') { // console.log(resultArr[i]); mopidy.library.lookup({'uris': [resultArr[i].uri]}).then(function (resultDict) { var lookupUri = Object.keys(resultDict)[0] @@ -127,7 +129,7 @@ function processBrowseDir (resultArr) { index++ } else { if (browseStack.length > 0) { - iconClass = "fa fa-folder-o" + iconClass = 'fa fa-folder-o' } child += '
  • ' + resultArr[i].name + '

  • ' @@ -156,7 +158,9 @@ function processGetPlaylists (resultArr) { $('#playlistslist').empty() return } - var tmp = '', favourites = '', starred = '' + var tmp = '' + var favourites = '' + var starred = '' for (var i = 0; i < resultArr.length; i++) { var li_html = '
  • ' @@ -191,7 +195,7 @@ function processPlaylistItems (resultDict) { return mopidy.library.lookup({'uris': trackUris}).then(function (tracks) { // Transform from dict to list and cache result var newplaylisturi = resultDict.uri - playlists[newplaylisturi] = {'uri':newplaylisturi, 'tracks':[]} + playlists[newplaylisturi] = {'uri': newplaylisturi, 'tracks': []} for (i = 0; i < trackUris.length; i++) { playlists[newplaylisturi].tracks.push(tracks[trackUris[i]][0]) } diff --git a/mopidy_musicbox_webclient/static/js/progress_timer.js b/mopidy_musicbox_webclient/static/js/progress_timer.js index 0a14116..0b371c7 100644 --- a/mopidy_musicbox_webclient/static/js/progress_timer.js +++ b/mopidy_musicbox_webclient/static/js/progress_timer.js @@ -25,7 +25,7 @@ function timerCallback (position, duration, isRunning) { if (mopidy && position > 0) { // Mopidy and timer are both initialized. - if (callbackHeartbeats-- == 1) { + if (callbackHeartbeats-- === 1) { // Get time position from Mopidy on every nth callback until // synced. mopidy.playback.getTimePosition().then( @@ -38,8 +38,8 @@ function timerCallback (position, duration, isRunning) { } function updateTimers (position, duration, isRunning) { - var ready = !(duration == Infinity && position === 0 && !isRunning) // Timer has been properly initialized. - var streaming = (duration == Infinity && position > 0) // Playing a stream. + var ready = !(duration === Infinity && position === 0 && !isRunning) // Timer has been properly initialized. + var streaming = (duration === Infinity && position > 0) // Playing a stream. var ok = synced && isRunning // Normal operation. var syncing = !synced && isRunning // Busy syncing. @@ -88,7 +88,7 @@ function syncTimer (current, target) { if (drift <= 500) { syncsLeft-- // Less than 500ms == in sync. - if (++consecutiveSyncs == 2) { + if (++consecutiveSyncs === 2) { // Need at least two consecutive syncs to know that Mopidy // is progressing playback and we are in sync. synced = true @@ -133,7 +133,7 @@ function delay_exponential (base, growthFactor, attempts) { 0 and 1 will be used as the base. Base must be greater than 0. */ - if (base == 'rand') { + if (base === 'rand') { base = Math.random() } beats = base * (Math.pow(growthFactor, (attempts - 1))) diff --git a/mopidy_musicbox_webclient/static/mb.appcache b/mopidy_musicbox_webclient/static/mb.appcache index 0b24062..27d0536 100644 --- a/mopidy_musicbox_webclient/static/mb.appcache +++ b/mopidy_musicbox_webclient/static/mb.appcache @@ -1,6 +1,6 @@ CACHE MANIFEST -# 2016-02-29:v1 +# 2016-03-05:v1 NETWORK: *