fox:Manual eslint rule violation fixes.

This commit is contained in:
jcass 2016-03-05 15:49:48 +02:00
parent 168f2c549b
commit 979dc028c7
8 changed files with 179 additions and 177 deletions

View File

@ -8,7 +8,7 @@ function playBrowsedTracks (action, trackIndex) {
if (typeof trackIndex === 'undefined') { if (typeof trackIndex === 'undefined') {
trackIndex = $('#popupBrowse').data('tlid') trackIndex = $('#popupBrowse').data('tlid')
} }
if (action == PLAY_ALL) { if (action === PLAY_ALL) {
mopidy.tracklist.clear() mopidy.tracklist.clear()
// Default for radio streams is to just add the selected URI. // Default for radio streams is to just add the selected URI.
if (isStreamUri(browseTracks[trackIndex].uri)) { if (isStreamUri(browseTracks[trackIndex].uri)) {
@ -62,8 +62,8 @@ function playTrack (action) {
var divid = hash[0].substr(1) var divid = hash[0].substr(1)
// Search page default click behaviour adds and plays selected track only. // Search page default click behaviour adds and plays selected track only.
if (action == PLAY_NOW && divid == 'search') { if (action === PLAY_NOW && divid === 'search') {
action = PLAY_NOW_SEARCH action === PLAY_NOW_SEARCH
} }
$('#popupTracks').popup('close') $('#popupTracks').popup('close')
@ -76,7 +76,7 @@ function playTrack (action) {
var trackUris = getTracksFromUri(playlisturi) var trackUris = getTracksFromUri(playlisturi)
// find track that was selected // find track that was selected
for (var selected = 0; selected < trackUris.length; selected++) { for (var selected = 0; selected < trackUris.length; selected++) {
if (trackUris[selected] == uri) { if (trackUris[selected] === uri) {
break break
} }
} }
@ -121,7 +121,7 @@ function playTrackByUri (track_uri, playlist_uri) {
if (tlTracks.length > 0) { if (tlTracks.length > 0) {
// Find track that was selected // Find track that was selected
for (var selected = 0; selected < tlTracks.length; 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]}) mopidy.playback.play({'tl_track': tlTracks[selected]})
return return
} }
@ -214,7 +214,7 @@ function clearQueue () {
} }
function savePressed (key) { function savePressed (key) {
if (key == 13) { if (key === 13) {
saveQueue() saveQueue()
return false return false
} }
@ -228,7 +228,6 @@ function showSavePopup () {
$('#popupSave').popup('open') $('#popupSave').popup('open')
} }
}) })
} }
function saveQueue () { function saveQueue () {
@ -335,33 +334,33 @@ function backbt () {
*************/ *************/
function setTracklistOption (name, new_value) { function setTracklistOption (name, new_value) {
if (!new_value) { if (!new_value) {
$("#" + name+'bt').attr('style', 'color:#2489ce') $('#' + name + 'bt').attr('style', 'color:#2489ce')
} else { } else {
$("#" + name+'bt').attr('style', 'color:#66DD33') $('#' + name + 'bt').attr('style', 'color:#66DD33')
} }
return new_value return new_value
} }
function setRepeat (nwrepeat) { function setRepeat (nwrepeat) {
if (repeat != nwrepeat) { if (repeat !== nwrepeat) {
repeat = setTracklistOption('repeat', nwrepeat) repeat = setTracklistOption('repeat', nwrepeat)
} }
} }
function setRandom (nwrandom) { function setRandom (nwrandom) {
if (random != nwrandom) { if (random !== nwrandom) {
random = setTracklistOption('random', nwrandom) random = setTracklistOption('random', nwrandom)
} }
} }
function setConsume (nwconsume) { function setConsume (nwconsume) {
if (consume != nwconsume) { if (consume !== nwconsume) {
consume = setTracklistOption('consume', nwconsume) consume = setTracklistOption('consume', nwconsume)
} }
} }
function setSingle (nwsingle) { function setSingle (nwsingle) {
if (single != nwsingle) { if (single !== nwsingle) {
single = setTracklistOption('single', nwsingle) single = setTracklistOption('single', nwsingle)
} }
} }
@ -382,7 +381,6 @@ function doSingle () {
mopidy.tracklist.setSingle({'value': !single}).then() mopidy.tracklist.setSingle({'value': !single}).then()
} }
/** ********************************************* /** *********************************************
* Track Slider * * Track Slider *
* Use a timer to prevent looping of commands * * Use a timer to prevent looping of commands *
@ -397,7 +395,7 @@ function doSeekPos (value) {
} }
function setPosition (pos) { function setPosition (pos) {
if (!positionChanging && $('#trackslider').val() != pos) { if (!positionChanging && $('#trackslider').val() !== pos) {
setProgressTimer(pos) setProgressTimer(pos)
} }
} }
@ -408,10 +406,10 @@ function setPosition (pos) {
***********************************************/ ***********************************************/
function setVolume (value) { function setVolume (value) {
if (!volumeChanging && !volumeSliding && $('#volumeslider').val() != value) { if (!volumeChanging && !volumeSliding && $('#volumeslider').val() !== value) {
$("#volumeslider").off( 'change') $('#volumeslider').off('change')
$("#volumeslider").val(value).slider('refresh') $('#volumeslider').val(value).slider('refresh')
$("#volumeslider").on( 'change', function () { doVolume($(this).val()) }) $('#volumeslider').on('change', function () { doVolume($(this).val()) })
} }
} }
@ -425,7 +423,7 @@ function doVolume (value) {
} }
function setMute (nwmute) { function setMute (nwmute) {
if (mute != nwmute) { if (mute !== nwmute) {
mute = nwmute mute = nwmute
if (mute) { if (mute) {
$('#mutebt').attr('class', 'fa fa-volume-off') $('#mutebt').attr('class', 'fa fa-volume-off')
@ -443,7 +441,7 @@ function doMute () {
* Stream * * Stream *
************/ ************/
function streamPressed (key) { function streamPressed (key) {
if (key == 13) { if (key === 13) {
playStreamUri() playStreamUri()
return false return false
} }
@ -530,8 +528,8 @@ function getFavourites () {
STREAMS_PLAYLIST_SCHEME, STREAMS_PLAYLIST_SCHEME,
true).then(function (playlist) { true).then(function (playlist) {
if (playlist) { if (playlist) {
return getPlaylistFull(playlist.uri) return getPlaylistFull(playlist.uri)
} }
return Mopidy.when(false) return Mopidy.when(false)
}) })
} }
@ -552,11 +550,11 @@ function addToFavourites (newTracks) {
} }
function addFavourite (uri, name) { function addFavourite (uri, name) {
var uri = uri || $('#streamuriinput').val().trim() uri = uri || $('#streamuriinput').val().trim()
var name = name || $('#streamnameinput').val().trim() name = name || $('#streamnameinput').val().trim()
mopidy.library.lookup({'uris': [uri]}).then(function (results) { mopidy.library.lookup({'uris': [uri]}).then(function (results) {
var newTracks = results[uri] var newTracks = results[uri]
if (newTracks.length == 1) { if (newTracks.length === 1) {
// TODO: Supporting adding an entire playlist? // TODO: Supporting adding an entire playlist?
if (name) { if (name) {
newTracks[0].name = name // User overrides name. newTracks[0].name = name // User overrides name.

View File

@ -42,11 +42,11 @@ var customTracklists = []
var browseStack = [] var browseStack = []
var browseTracks = [] var browseTracks = []
var ua = navigator.userAgent, var ua = navigator.userAgent
isMobileSafari = /Mac/.test(ua) && /Mobile/.test(ua), var isMobileSafari = /Mac/.test(ua) && /Mobile/.test(ua)
isMobileWebkit = /WebKit/.test(ua) && /Mobile/.test(ua), var isMobileWebkit = /WebKit/.test(ua) && /Mobile/.test(ua)
isMobile = /Mobile/.test(ua), var isMobile = /Mobile/.test(ua)
isWebkit = /WebKit/.test(ua) var isWebkit = /WebKit/.test(ua)
// constants // constants
PROGRAM_NAME = 'MusicBox' PROGRAM_NAME = 'MusicBox'
@ -215,7 +215,7 @@ function resultsToTables (results, target, uri) {
return return
} }
var tlids = [] var tlids = []
if (target == CURRENT_PLAYLIST_TABLE) { if (target === CURRENT_PLAYLIST_TABLE) {
for (i = 0; i < results.length; i++) { for (i = 0; i < results.length; i++) {
tlids[i] = results[i].tlid tlids[i] = results[i].tlid
results[i] = results[i].track results[i] = results[i].track
@ -255,7 +255,7 @@ function resultsToTables (results, target, uri) {
} }
// leave out unplayable items // 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]) newalbum.push(results[i])
newtlids.push(tlids[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) { if ((i < length - 1) && results[i + 1].album && results[i + 1].album.name) {
nextname = results[i + 1].album.name nextname = results[i + 1].album.name
} }
if (results[i].length == -1) { if (results[i].length === -1) {
html += '<li class="albumli"><a href="#"><h1><i class="' + iconClass + '"></i> ' + results[i].name + ' [Stream]</h1></a></li>' html += '<li class="albumli"><a href="#"><h1><i class="' + iconClass + '"></i> ' + results[i].name + ' [Stream]</h1></a></li>'
newalbum = [] newalbum = []
newtlids = [] newtlids = []
nextname = '' nextname = ''
} else { } else {
if ((results[i].album.name != nextname) || (nextname === '')) { if ((results[i].album.name !== nextname) || (nextname === '')) {
tableid = 'art' + i tableid = 'art' + i
// render differently if only one track in the album // render differently if only one track in the album
if (newalbum.length == 1) { if (newalbum.length === 1) {
var liID = ''
if (i !== 0) { if (i !== 0) {
html += '<li class="smalldivider"> &nbsp;</li>' html += '<li class="smalldivider"> &nbsp;</li>'
} }
iconClass = getMediaClass(newalbum[0].uri) iconClass = getMediaClass(newalbum[0].uri)
var liID = targetmin + '-' + newalbum[0].uri liID = targetmin + '-' + newalbum[0].uri
if (target == CURRENT_PLAYLIST_TABLE) { if (target === CURRENT_PLAYLIST_TABLE) {
html += '<li class="song albumli" id="' + liID + '" tlid="' + newtlids[0] + '">' + html += '<li class="song albumli" id="' + liID + '" tlid="' + newtlids[0] + '">' +
'<a href="#" class="moreBtn" onclick="return popupTracks(event, \'' + uri + '\',\'' + newalbum[0].uri + '\',\'' + newtlids[0] + '\');">' + '<a href="#" class="moreBtn" onclick="return popupTracks(event, \'' + uri + '\',\'' + newalbum[0].uri + '\',\'' + newtlids[0] + '\');">' +
'<i class="fa fa-ellipsis-v"></i></a>' + '<i class="fa fa-ellipsis-v"></i></a>' +
'<a href="#" onclick="return playTrackQueueByTlid(\'' + newalbum[0].uri + '\',\'' + newtlids[0] + '\');">' + '<a href="#" onclick="return playTrackQueueByTlid(\'' + newalbum[0].uri + '\',\'' + newtlids[0] + '\');">' +
'<h1><i class="' + iconClass + '"></i> ' + newalbum[0].name + "</h1><p>" '<h1><i class="' + iconClass + '"></i> ' + newalbum[0].name + '</h1><p>'
} else { } else {
html += '<li class="song albumli" id="' + liID + '">' + html += '<li class="song albumli" id="' + liID + '">' +
'<a href="#" class="moreBtn" onclick="return popupTracks(event, \'' + uri + '\',\'' + newalbum[0].uri + '\');">' + '<a href="#" class="moreBtn" onclick="return popupTracks(event, \'' + uri + '\',\'' + newalbum[0].uri + '\');">' +
'<i class="fa fa-ellipsis-v"></i></a>' + '<i class="fa fa-ellipsis-v"></i></a>' +
'<a href="#" onclick="return playTrackByUri(\'' + newalbum[0].uri + '\',\'' + uri + '\');">' + '<a href="#" onclick="return playTrackByUri(\'' + newalbum[0].uri + '\',\'' + uri + '\');">' +
'<h1><i class="' + iconClass + '"></i> ' + newalbum[0].name + "</h1><p>" '<h1><i class="' + iconClass + '"></i> ' + newalbum[0].name + '</h1><p>'
} }
if (newalbum[0].artists) { if (newalbum[0].artists) {
for (j = 0; j < newalbum[0].artists.length; j++) { for (j = 0; j < newalbum[0].artists.length; j++) {
html += newalbum[0].artists[j].name html += newalbum[0].artists[j].name
html += (j == newalbum[0].artists.length - 1) ? '' : ' / ' html += (j === newalbum[0].artists.length - 1) ? '' : ' / '
// stop after 3 // stop after 3
if (j > 2) { if (j > 2) {
html += '...' html += '...'
@ -322,7 +323,7 @@ function resultsToTables (results, target, uri) {
if (results[i].album.artists) { if (results[i].album.artists) {
for (j = 0; j < results[i].album.artists.length; j++) { for (j = 0; j < results[i].album.artists.length; j++) {
html += results[i].album.artists[j].name 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 // stop after 3
if (j > 2) { if (j > 2) {
child += '...' child += '...'
@ -334,8 +335,8 @@ function resultsToTables (results, target, uri) {
for (j = 0; j < newalbum.length; j++) { for (j = 0; j < newalbum.length; j++) {
popupData[newalbum[j].uri] = newalbum[j] popupData[newalbum[j].uri] = newalbum[j]
// hERE! // hERE!
var liID = targetmin + '-' + newalbum[j].uri liID = targetmin + '-' + newalbum[j].uri
if (target == CURRENT_PLAYLIST_TABLE) { if (target === CURRENT_PLAYLIST_TABLE) {
html += renderQueueSongLi(newalbum[j], liID, uri, newtlids[j]) html += renderQueueSongLi(newalbum[j], liID, uri, newtlids[j])
} else { } else {
html += renderSongLi(newalbum[j], liID, uri) html += renderSongLi(newalbum[j], liID, uri)
@ -369,13 +370,13 @@ function playlisttotable (pl, target, uri) {
if (pl[i]) { if (pl[i]) {
popupData[pl[i].uri] = pl[i] popupData[pl[i].uri] = pl[i]
child = '<li id="' + targetmin + '-' + pl[i].uri + '"><a href="#" onclick="return popupTracks(event, \'' + uri + '\',\'' + pl[i].uri + '\');">' child = '<li id="' + targetmin + '-' + pl[i].uri + '"><a href="#" onclick="return popupTracks(event, \'' + uri + '\',\'' + pl[i].uri + '\');">'
child += '<h1>' + pl[i].name + "</h1>" child += '<h1>' + pl[i].name + 'h1>'
child += '<p>' child += '<p>'
child += '<span style="float: right;">' + timeFromSeconds(pl[i].length / 1000) + '</span>' child += '<span style="float: right;">' + timeFromSeconds(pl[i].length / 1000) + '</span>'
for (var j = 0; j < pl[i].artists.length; j++) { for (var j = 0; j < pl[i].artists.length; j++) {
if (pl[i].artists[j]) { if (pl[i].artists[j]) {
child += pl[i].artists[j].name child += pl[i].artists[j].name
child += (j == pl[i].artists.length - 1) ? '' : ' / ' child += (j === pl[i].artists.length - 1) ? '' : ' / '
// stop after 3 // stop after 3
if (j > 2) { if (j > 2) {
child += '...' child += '...'
@ -436,7 +437,7 @@ function timeFromSeconds (length) {
/** ***** Toast ***/ /** ***** Toast ***/
function toast (message, delay, textOnly) { function toast (message, delay, textOnly) {
textOnl = textOnly || false textOnl = textOnly || false
message = message || "Loading..." message = message || 'Loading...'
delay = delay || 1000 delay = delay || 1000
$.mobile.loading('show', { $.mobile.loading('show', {
text: message, text: message,
@ -480,7 +481,6 @@ function showOffline (on) {
} }
} }
// from http://dzone.com/snippets/validate-url-regexp // from http://dzone.com/snippets/validate-url-regexp
function validUri (str) { function validUri (str) {
var regexp = /^(mms|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ var regexp = /^(mms|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
@ -504,7 +504,7 @@ function isStreamUri (uri) {
function getMediaClass (uri) { function getMediaClass (uri) {
var scheme = getScheme(uri) var scheme = getScheme(uri)
for (var i = 0; i < uriClassList.length; i++) { for (var i = 0; i < uriClassList.length; i++) {
if (scheme == uriClassList[i][0]) { if (scheme === uriClassList[i][0]) {
return 'fa ' + uriClassList[i][1] return 'fa ' + uriClassList[i][1]
} }
} }
@ -514,7 +514,7 @@ function getMediaClass (uri) {
function getMediaHuman (uri) { function getMediaHuman (uri) {
var scheme = getScheme(uri) var scheme = getScheme(uri)
for (var i = 0; i < uriHumanList.length; i++) { for (var i = 0; i < uriHumanList.length; i++) {
if (scheme == uriHumanList[i][0]) { if (scheme === uriHumanList[i][0]) {
return uriHumanList[i][1] return uriHumanList[i][1]
} }
} }
@ -523,13 +523,14 @@ function getMediaHuman (uri) {
function isServiceUri (uri) { function isServiceUri (uri) {
var scheme = getScheme(uri) var scheme = getScheme(uri)
for (var i = 0; i < uriClassList.length; i++) { var i = 0
if (scheme == uriClassList[i][0]) { for (i = 0; i < uriClassList.length; i++) {
if (scheme === uriClassList[i][0]) {
return true return true
} }
} }
for (var i = 0; i < radioExtensionsList.length; i++) { for (i = 0; i < radioExtensionsList.length; i++) {
if (scheme == radioExtensionsList[i]) { if (scheme === radioExtensionsList[i]) {
return true return true
} }
} }
@ -537,11 +538,11 @@ function isServiceUri (uri) {
} }
function isFavouritesPlaylist (playlist) { function isFavouritesPlaylist (playlist) {
return (playlist.name == STREAMS_PLAYLIST_NAME && return (playlist.name === STREAMS_PLAYLIST_NAME &&
getScheme(playlist.uri) == STREAMS_PLAYLIST_SCHEME) getScheme(playlist.uri) === STREAMS_PLAYLIST_SCHEME)
} }
function isSpotifyStarredPlaylist (playlist) { function isSpotifyStarredPlaylist (playlist) {
var starredRegex = /spotify:user:.*:starred/g var starredRegex = /spotify:user:.*:starred/g
return (starredRegex.test(playlist.uri) && playlist.name == 'Starred') return (starredRegex.test(playlist.uri) && playlist.name === 'Starred')
} }

View File

@ -9,9 +9,9 @@
function resetSong () { function resetSong () {
setPlayState(false) setPlayState(false)
setPosition(0) setPosition(0)
var data = new Object({}) var data = {}
data.tlid = -1 data.tlid = -1
data.track = new Object({}) data.track = {}
data.track.name = '' data.track.name = ''
data.track.artists = '' data.track.artists = ''
data.track.length = 0 data.track.length = 0
@ -60,7 +60,6 @@ function resizeMb () {
$('#playlistslistdiv').show(); $('#playlistslistdiv').show();
} }
if (isMobileWebkit && ($(window).width() > 480)) { if (isMobileWebkit && ($(window).width() > 480)) {
playlistslistScroll.refresh(); playlistslistScroll.refresh();
playlisttracksScroll.refresh(); playlisttracksScroll.refresh();
@ -79,7 +78,7 @@ function setSongTitle (title, refresh_ui) {
function setSongInfo (data) { function setSongInfo (data) {
// console.log(data, songdata); // console.log(data, songdata);
if (!data) { return } if (!data) { return }
if (data.tlid == songdata.tlid) { return } if (data.tlid === songdata.tlid) { return }
if (!data.track.name || data.track.name === '') { if (!data.track.name || data.track.name === '') {
var name = data.track.uri.split('/') var name = data.track.uri.split('/')
data.track.name = decodeURI(name[name.length - 1]) data.track.name = decodeURI(name[name.length - 1])
@ -92,7 +91,7 @@ function setSongInfo (data) {
if (validUri(data.track.name)) { if (validUri(data.track.name)) {
for (var key in streamUris) { for (var key in streamUris) {
rs = streamUris[key] rs = streamUris[key]
if (rs && rs[1] == data.track.name) { if (rs && rs[1] === data.track.name) {
data.track.name = (rs[0] || rs[1]) data.track.name = (rs[0] || rs[1])
} }
} }
@ -117,14 +116,14 @@ function setSongInfo (data) {
var arttmp = '' var arttmp = ''
if (data.track.artists) { if (data.track.artists) {
for (var j = 0; j < data.track.artists.length; j++) { for (var j = 0; j < data.track.artists.length; j++) {
artistshtml += '<a href="#" onclick="return showArtist(\'' + data.track.artists[j].uri + '\');">' + data.track.artists[j].name + '</a>' artistshtml += '<a href="#" onclick="return showArtist(\'' + data.track.artists[j].uri + '\');">' + data.track.artists[j].name + '</a>'
artiststext += data.track.artists[j].name artiststext += data.track.artists[j].name
if (j != data.track.artists.length - 1) { if (j !== data.track.artists.length - 1) {
artistshtml += ', ' artistshtml += ', '
artiststext += ', ' artiststext += ', '
} }
} }
arttmp = artistshtml arttmp = artistshtml
} }
if (data.track.album && data.track.album.name) { if (data.track.album && data.track.album.name) {
@ -161,14 +160,15 @@ function closePopups () {
} }
function popupTracks (e, listuri, trackuri, tlid) { function popupTracks (e, listuri, trackuri, tlid) {
if (!e) if (!e) {
e = window.event e = window.event
}
$('.popupTrackName').html(popupData[trackuri].name) $('.popupTrackName').html(popupData[trackuri].name)
$('.popupAlbumName').html(popupData[trackuri].album.name) $('.popupAlbumName').html(popupData[trackuri].album.name)
var child = "" var child = ''
if (popupData[trackuri].artists) { if (popupData[trackuri].artists) {
if (popupData[trackuri].artists.length == 1) { if (popupData[trackuri].artists.length === 1) {
child = '<a href="#" onclick="showArtist(\'' + popupData[trackuri].artists[0].uri + '\');">Show Artist</a>' child = '<a href="#" onclick="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', 'showArtist("' + popupData[trackuri].artists[0].uri + '");') $('.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 hash = document.location.hash.split('?')
var divid = hash[0].substr(1) var divid = hash[0].substr(1)
var popupName = '' var popupName = ''
if (divid == 'current') { if (divid === 'current') {
$('.addqueue').hide() $('.addqueue').hide()
popupName = '#popupQueue' popupName = '#popupQueue'
} else if (divid == 'browse') { } else if (divid === 'browse') {
$('.addqueue').show() $('.addqueue').show()
popupName = '#popupBrowse' popupName = '#popupBrowse'
} else { } else {
@ -203,15 +203,15 @@ function popupTracks (e, listuri, trackuri, tlid) {
popupName = '#popupTracks' popupName = '#popupTracks'
} }
if (typeof tlid != 'undefined' && tlid !== '') { if (typeof tlid !== 'undefined' && tlid !== '') {
$(popupName).data('list', listuri).data('track', trackuri).data('tlid', tlid).popup('open', { $(popupName).data('list', listuri).data('track', trackuri).data('tlid', tlid).popup('open', {
x : e.pageX, x: e.pageX,
y : e.pageY y: e.pageY
}) })
} else { } else {
$(popupName).data('list', listuri).data('track', trackuri).popup('open', { $(popupName).data('list', listuri).data('track', trackuri).popup('open', {
x : e.pageX, x: e.pageX,
y : e.pageY y: e.pageY
}) })
} }
@ -311,7 +311,6 @@ function initSocketevents () {
$(document).bind('pageinit', function () { $(document).bind('pageinit', function () {
resizeMb() resizeMb()
}) })
/** ************ /** ************
@ -392,7 +391,6 @@ function locationHashChanged () {
var divid = hash[0].substr(1) var divid = hash[0].substr(1)
setHeadline(divid) setHeadline(divid)
var uri = hash[1] var uri = hash[1]
$('.mainNav a').removeClass('ui-state-active ui-state-persist ui-btn-active') $('.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 // 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... // 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 // end of workaround
$(window).hashchange() $(window).hashchange()
@ -489,16 +487,15 @@ $(document).ready(function (event) {
try { try {
mopidy = new Mopidy({callingConvention: 'by-position-or-by-name'}) mopidy = new Mopidy({callingConvention: 'by-position-or-by-name'})
} catch (e) { } catch (e) {
showOffline(true) showOffline(true)
} }
} }
// initialize events // initialize events
initSocketevents() initSocketevents()
progressTimer = new ProgressTimer({ progressTimer = new ProgressTimer({
callback: timerCallback, callback: timerCallback
// updateRate: 2000,
}) })
resetSong() resetSong()
@ -535,9 +532,9 @@ $(document).ready(function (event) {
// event handlers for full screen mode // event handlers for full screen mode
$(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange, MSFullscreenChange', function (e) { $(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange, MSFullscreenChange', function (e) {
if (isFullscreen()) { if (isFullscreen()) {
document.getElementById('toggletxt').innerHTML = "Exit Fullscreen" document.getElementById('toggletxt').innerHTML = 'Exit Fullscreen'
} else { } else {
document.getElementById('toggletxt').innerHTML = "Fullscreen" document.getElementById('toggletxt').innerHTML = 'Fullscreen'
} }
}) })
@ -560,28 +557,27 @@ $(document).ready(function (event) {
$(document).keypress(function (event) { $(document).keypress(function (event) {
// console.log('kp: '+event); // console.log('kp: '+event);
if (event.target.tagName != 'INPUT') { if (event.target.tagName !== 'INPUT') {
var unicode = event.keyCode ? event.keyCode : event.charCode var unicode = event.keyCode ? event.keyCode : event.charCode
var actualkey = String.fromCharCode(unicode) var actualkey = String.fromCharCode(unicode)
switch (actualkey) { switch (actualkey) {
case ' ': case ' ':
doPlay() doPlay()
event.preventDefault() event.preventDefault()
break break
case '>': case '>':
doNext() doNext()
event.preventDefault() event.preventDefault()
break break
case '<': case '<':
doPrevious() doPrevious()
event.preventDefault() event.preventDefault()
break break
} }
return true return true
} }
}) })
if ($(window).width() < 980) { if ($(window).width() < 980) {
$('#panel').panel('close') $('#panel').panel('close')
} else { } else {
@ -593,84 +589,86 @@ $(document).ready(function (event) {
$.event.special.swipe.durationThreshold = 500 $.event.special.swipe.durationThreshold = 500
// swipe songinfo and panel // swipe songinfo and panel
$("#normalFooter, #nowPlayingFooter").on( 'swiperight', doPrevious) $('#normalFooter, #nowPlayingFooter').on('swiperight', doPrevious)
$("#normalFooter, #nowPlayingFooter").on( 'swipeleft', doNext) $('#normalFooter, #nowPlayingFooter').on('swipeleft', doNext)
$("#nowPlayingpane, .ui-body-c, #header, #panel, .pane").on( 'swiperight', function () { $('#nowPlayingpane, .ui-body-c, #header, #panel, .pane').on('swiperight', function () {
if (!$(event.target).is('#normalFooter') && !$(event.target).is('#nowPlayingFooter')) { if (!$(event.target).is('#normalFooter') && !$(event.target).is('#nowPlayingFooter')) {
$('#panel').panel('open') $('#panel').panel('open')
event.stopImmediatePropagation() } event.stopImmediatePropagation()
}) }
$("#nowPlayingpane, .ui-body-c, #header, #panel, .pane").on( 'swipeleft', function () { })
if (!$(event.target).is('#normalFooter') && !$(event.target).is('#nowPlayingFooter')) { $('#nowPlayingpane, .ui-body-c, #header, #panel, .pane').on('swipeleft', function () {
$('#panel').panel('close') if (!$(event.target).is('#normalFooter') && !$(event.target).is('#nowPlayingFooter')) {
event.stopImmediatePropagation() } $('#panel').panel('close')
}) event.stopImmediatePropagation()
}
$("#trackslider").on( 'slidestart', function () {
progressTimer.stop()
$("#trackslider").on( 'change', function () { updatePosition($(this).val()) })
}) })
$("#trackslider").on( 'slidestop', function () { $('#trackslider').on('slidestart', function () {
$("#trackslider").off( 'change') progressTimer.stop()
$('#trackslider').on('change', function () { updatePosition($(this).val()) })
})
$('#trackslider').on('slidestop', function () {
$('#trackslider').off('change')
doSeekPos($(this).val()) doSeekPos($(this).val())
}) })
$("#volumeslider").on( 'slidestart', function () { volumeSliding = true }) $('#volumeslider').on('slidestart', function () { volumeSliding = true })
$("#volumeslider").on( 'slidestop', function () { volumeSliding = false }) $('#volumeslider').on('slidestop', function () { volumeSliding = false })
$("#volumeslider").on( 'change', function () { doVolume($(this).val()) }) $('#volumeslider').on('change', function () { doVolume($(this).val()) })
}) })
function updatePlayIcons (uri, tlid) { function updatePlayIcons (uri, tlid) {
// update styles of listviews // update styles of listviews
$('#currenttable li').each(function () { $('#currenttable li').each(function () {
var eachTlid = $(this).attr('tlid') var eachTlid = $(this).attr('tlid')
if (typeof eachTlid != 'undefined') { if (typeof eachTlid !== 'undefined') {
eachTlid = parseInt(eachTlid) eachTlid = parseInt(eachTlid)
} }
if (this.id == 'currenttable-' + uri && eachTlid == tlid) { if (this.id === 'currenttable-' + uri && eachTlid === tlid) {
$(this).addClass('currenttrack') $(this).addClass('currenttrack')
} else { } else {
$(this).removeClass('currenttrack') $(this).removeClass('currenttrack')
} }
}) })
$('#playlisttracks li').each(function () { $('#playlisttracks li').each(function () {
if (this.id == 'playlisttracks-' + uri) { if (this.id === 'playlisttracks-' + uri) {
$(this).addClass('currenttrack2') $(this).addClass('currenttrack2')
} else { } else {
$(this).removeClass('currenttrack2') $(this).removeClass('currenttrack2')
} }
}) })
$('#trackresulttable li').each(function () { $('#trackresulttable li').each(function () {
if (this.id == 'trackresulttable-' + uri) { if (this.id === 'trackresulttable-' + uri) {
$(this).addClass('currenttrack2') $(this).addClass('currenttrack2')
} else { } else {
$(this).removeClass('currenttrack2') $(this).removeClass('currenttrack2')
} }
}) })
$('#artiststable li').each(function () { $('#artiststable li').each(function () {
if (this.id == 'artiststable-' + uri) { if (this.id === 'artiststable-' + uri) {
$(this).addClass('currenttrack2') $(this).addClass('currenttrack2')
} else { } else {
$(this).removeClass('currenttrack2') $(this).removeClass('currenttrack2')
} }
}) })
$('#albumstable li').each(function () { $('#albumstable li').each(function () {
if (this.id == 'albumstable-' + uri) { if (this.id === 'albumstable-' + uri) {
$(this).addClass('currenttrack2') $(this).addClass('currenttrack2')
} else { } else {
$(this).removeClass('currenttrack2') $(this).removeClass('currenttrack2')
} }
}) })
$('#browselist li').each(function () { $('#browselist li').each(function () {
if (this.id == 'browselisttracks-' + uri) { if (this.id === 'browselisttracks-' + uri) {
$(this).addClass('currenttrack2') $(this).addClass('currenttrack2')
} else { } else {
$(this).removeClass('currenttrack2') $(this).removeClass('currenttrack2')
} }
}) })
} }

View File

@ -13,9 +13,9 @@ $(window).load(function () {
fmcache = new LastFMCache() fmcache = new LastFMCache()
// create a LastFM object // create a LastFM object
lastfm = new LastFM({ lastfm = new LastFM({
apiKey : API_KEY, apiKey: API_KEY,
apiSecret : API_SECRET, apiSecret: API_SECRET,
cache : fmcache cache: fmcache
}) })
}) })
@ -72,7 +72,7 @@ function getCoverFromLastFm (track, images, size) {
lastfm.album.getInfo({artist: artistname, album: albumname}, lastfm.album.getInfo({artist: artistname, album: albumname},
{ success: function (data) { { success: function (data) {
for (var i = 0; i < data.album.image.length; i++) { 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) $(images).attr('src', data.album.image[i]['#text'] || defUrl)
} }
} }
@ -84,7 +84,7 @@ function getArtistImage (nwartist, image, size) {
var defUrl = 'images/user_24x32.png' var defUrl = 'images/user_24x32.png'
lastfm.artist.getInfo({artist: nwartist}, {success: function (data) { lastfm.artist.getInfo({artist: nwartist}, {success: function (data) {
for (var i = 0; i < data.artist.image.length; i++) { 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) $(image).attr('src', data.artist.image[i]['#text'] || defUrl)
} }
} }

View File

@ -5,7 +5,7 @@ function searchPressed (key) {
var value = $('#searchinput').val() var value = $('#searchinput').val()
switchContent('search') switchContent('search')
if (key == 13) { if (key === 13) {
initSearch() initSearch()
return false return false
} }
@ -31,12 +31,12 @@ function initSearch () {
$('#searchalbums').hide() $('#searchalbums').hide()
$('#searchtracks').hide() $('#searchtracks').hide()
if (searchService != 'all') { if (searchService !== 'all') {
mopidy.library.search({'query': {any:[value]}, 'uris': [searchService + ':']}).then(processSearchResults, console.error) mopidy.library.search({'query': {any: [value]}, 'uris': [searchService + ':']}).then(processSearchResults, console.error)
} else { } else {
mopidy.getUriSchemes().then(function (schemes) { mopidy.getUriSchemes().then(function (schemes) {
var query = {}, var query = {}
uris = [] var uris = []
var regexp = $.map(schemes, function (scheme) { var regexp = $.map(schemes, function (scheme) {
return '^' + scheme + ':' return '^' + scheme + ':'
@ -79,9 +79,10 @@ function processSearchResults (resultArr) {
// Merge results from different backends. // Merge results from different backends.
// TODO should of coures have multiple tables // TODO should of coures have multiple tables
var results = {'tracks': [], 'artists': [], 'albums': []} 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) { if (resultArr[i].tracks) {
for (j = 0; j < resultArr[i].tracks.length; j++) { for (j = 0; j < resultArr[i].tracks.length; j++) {
results.tracks.push(resultArr[i].tracks[j]) results.tracks.push(resultArr[i].tracks[j])
@ -137,7 +138,7 @@ function processSearchResults (resultArr) {
var pattern = '<li><a href="#" onclick="return showArtist(this.id)" id={id}><i class="{class}"></i> <strong>{name}</strong></a></li>' var pattern = '<li><a href="#" onclick="return showArtist(this.id)" id={id}><i class="{class}"></i> <strong>{name}</strong></a></li>'
var tokens var tokens
for (var i = 0; i < results.artists.length; i++) { for (i = 0; i < results.artists.length; i++) {
tokens = { tokens = {
'id': results.artists[i].uri, 'id': results.artists[i].uri,
'name': results.artists[i].name, 'name': results.artists[i].name,
@ -145,7 +146,7 @@ function processSearchResults (resultArr) {
} }
// Add 'Show all' item after a certain number of hits. // 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}) child += theme(showMorePattern, {'count': results.artists.length - i})
pattern = pattern.replace('<li>', '<li class="overflow">') pattern = pattern.replace('<li>', '<li class="overflow">')
} }
@ -163,7 +164,7 @@ function processSearchResults (resultArr) {
pattern += '<p data-role="desc">{artistName}</p>' pattern += '<p data-role="desc">{artistName}</p>'
pattern += '</a></li>' pattern += '</a></li>'
for (var i = 0; i < results.albums.length; i++) { for (i = 0; i < results.albums.length; i++) {
tokens = { tokens = {
'albumId': results.albums[i].uri, 'albumId': results.albums[i].uri,
'albumName': results.albums[i].name, 'albumName': results.albums[i].name,
@ -172,7 +173,7 @@ function processSearchResults (resultArr) {
'class': getMediaClass(results.albums[i].uri) 'class': getMediaClass(results.albums[i].uri)
} }
if (results.albums[i].artists) { 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) { if (results.albums[i].artists[j].name) {
tokens.artistName += 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 + ')' tokens.artistName += '(' + tokens.albumYear + ')'
} }
// Add 'Show all' item after a certain number of hits. // 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}) child += theme(showMorePattern, {'count': results.albums.length - i})
pattern = pattern.replace('<li>', '<li class="overflow">') pattern = pattern.replace('<li>', '<li class="overflow">')
} }
@ -258,7 +259,7 @@ function showTracklist (uri) {
updatePlayIcons(uri) updatePlayIcons(uri)
$('#playlistslist li a').each(function () { $('#playlistslist li a').each(function () {
$(this).removeClass('playlistactive') $(this).removeClass('playlistactive')
if (this.id == uri) { if (this.id === uri) {
$(this).addClass('playlistactive') $(this).addClass('playlistactive')
} }
}) })
@ -333,12 +334,12 @@ function getSearchSchemes () {
$('#selectSearchService').append(new Option('All services', 'all')) $('#selectSearchService').append(new Option('All services', 'all'))
for (var i = 0; i < schemesArray.length; i++) { for (var i = 0; i < schemesArray.length; i++) {
for (var j = 0; j < uriHumanList.length; j++) { 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').append(new Option(uriHumanList[j][1], schemesArray[i]))
} }
} }
} }
$('#selectSearchService').selectmenu( 'refresh', true) $('#selectSearchService').selectmenu('refresh', true)
}, console.error }, console.error
) )
} }

View File

@ -65,7 +65,7 @@ function processCurrentposition (data) {
* process results playstate * process results playstate
*********************************************************/ *********************************************************/
function processPlaystate (data) { function processPlaystate (data) {
if (data == 'playing') { if (data === 'playing') {
setPlayState(true) setPlayState(true)
} else { } else {
setPlayState(false) setPlayState(false)
@ -86,7 +86,9 @@ function processBrowseDir (resultArr) {
$('#browselist').empty() $('#browselist').empty()
var child = '', rooturi = '', uri = resultArr[0].uri var child = ''
var rooturi = ''
var uri = resultArr[0].uri
// check root uri // check root uri
// find last : or / (spltting the result) // find last : or / (spltting the result)
@ -96,7 +98,7 @@ function processBrowseDir (resultArr) {
var lastindex = (colonindex > slashindex) ? colonindex : slashindex var lastindex = (colonindex > slashindex) ? colonindex : slashindex
rooturi = uri.slice(0, lastindex) rooturi = uri.slice(0, lastindex)
if (resultArr[0].type == 'track') { if (resultArr[0].type === 'track') {
rooturi = rooturi.replace(':track:', ':directory:') rooturi = rooturi.replace(':track:', ':directory:')
} }
colonindex = rooturi.lastIndexOf(':') colonindex = rooturi.lastIndexOf(':')
@ -112,7 +114,7 @@ function processBrowseDir (resultArr) {
browseTracks = [] browseTracks = []
for (var i = 0, index = 0; i < resultArr.length; i++) { for (var i = 0, index = 0; i < resultArr.length; i++) {
iconClass = getMediaClass(resultArr[i].uri) iconClass = getMediaClass(resultArr[i].uri)
if (resultArr[i].type == 'track') { if (resultArr[i].type === 'track') {
// console.log(resultArr[i]); // console.log(resultArr[i]);
mopidy.library.lookup({'uris': [resultArr[i].uri]}).then(function (resultDict) { mopidy.library.lookup({'uris': [resultArr[i].uri]}).then(function (resultDict) {
var lookupUri = Object.keys(resultDict)[0] var lookupUri = Object.keys(resultDict)[0]
@ -127,7 +129,7 @@ function processBrowseDir (resultArr) {
index++ index++
} else { } else {
if (browseStack.length > 0) { if (browseStack.length > 0) {
iconClass = "fa fa-folder-o" iconClass = 'fa fa-folder-o'
} }
child += '<li><a href="#" onclick="return getBrowseDir(this.id);" id="' + resultArr[i].uri + child += '<li><a href="#" onclick="return getBrowseDir(this.id);" id="' + resultArr[i].uri +
'""><h1 class="trackname"><i class="' + iconClass + '"></i> ' + resultArr[i].name + '</h1></a></li>' '""><h1 class="trackname"><i class="' + iconClass + '"></i> ' + resultArr[i].name + '</h1></a></li>'
@ -156,7 +158,9 @@ function processGetPlaylists (resultArr) {
$('#playlistslist').empty() $('#playlistslist').empty()
return return
} }
var tmp = '', favourites = '', starred = '' var tmp = ''
var favourites = ''
var starred = ''
for (var i = 0; i < resultArr.length; i++) { for (var i = 0; i < resultArr.length; i++) {
var li_html = '<li><a href="#" onclick="return showTracklist(this.id);" id="' + resultArr[i].uri + '">' var li_html = '<li><a href="#" onclick="return showTracklist(this.id);" id="' + resultArr[i].uri + '">'
@ -191,7 +195,7 @@ function processPlaylistItems (resultDict) {
return mopidy.library.lookup({'uris': trackUris}).then(function (tracks) { return mopidy.library.lookup({'uris': trackUris}).then(function (tracks) {
// Transform from dict to list and cache result // Transform from dict to list and cache result
var newplaylisturi = resultDict.uri var newplaylisturi = resultDict.uri
playlists[newplaylisturi] = {'uri':newplaylisturi, 'tracks':[]} playlists[newplaylisturi] = {'uri': newplaylisturi, 'tracks': []}
for (i = 0; i < trackUris.length; i++) { for (i = 0; i < trackUris.length; i++) {
playlists[newplaylisturi].tracks.push(tracks[trackUris[i]][0]) playlists[newplaylisturi].tracks.push(tracks[trackUris[i]][0])
} }

View File

@ -25,7 +25,7 @@ function timerCallback (position, duration, isRunning) {
if (mopidy && position > 0) { if (mopidy && position > 0) {
// Mopidy and timer are both initialized. // Mopidy and timer are both initialized.
if (callbackHeartbeats-- == 1) { if (callbackHeartbeats-- === 1) {
// Get time position from Mopidy on every nth callback until // Get time position from Mopidy on every nth callback until
// synced. // synced.
mopidy.playback.getTimePosition().then( mopidy.playback.getTimePosition().then(
@ -38,8 +38,8 @@ function timerCallback (position, duration, isRunning) {
} }
function updateTimers (position, duration, isRunning) { function updateTimers (position, duration, isRunning) {
var ready = !(duration == Infinity && position === 0 && !isRunning) // Timer has been properly initialized. var ready = !(duration === Infinity && position === 0 && !isRunning) // Timer has been properly initialized.
var streaming = (duration == Infinity && position > 0) // Playing a stream. var streaming = (duration === Infinity && position > 0) // Playing a stream.
var ok = synced && isRunning // Normal operation. var ok = synced && isRunning // Normal operation.
var syncing = !synced && isRunning // Busy syncing. var syncing = !synced && isRunning // Busy syncing.
@ -88,7 +88,7 @@ function syncTimer (current, target) {
if (drift <= 500) { if (drift <= 500) {
syncsLeft-- syncsLeft--
// Less than 500ms == in sync. // Less than 500ms == in sync.
if (++consecutiveSyncs == 2) { if (++consecutiveSyncs === 2) {
// Need at least two consecutive syncs to know that Mopidy // Need at least two consecutive syncs to know that Mopidy
// is progressing playback and we are in sync. // is progressing playback and we are in sync.
synced = true synced = true
@ -133,7 +133,7 @@ function delay_exponential (base, growthFactor, attempts) {
0 and 1 will be used as the base. 0 and 1 will be used as the base.
Base must be greater than 0. Base must be greater than 0.
*/ */
if (base == 'rand') { if (base === 'rand') {
base = Math.random() base = Math.random()
} }
beats = base * (Math.pow(growthFactor, (attempts - 1))) beats = base * (Math.pow(growthFactor, (attempts - 1)))

View File

@ -1,6 +1,6 @@
CACHE MANIFEST CACHE MANIFEST
# 2016-02-29:v1 # 2016-03-05:v1
NETWORK: NETWORK:
* *