fox:Manual eslint rule violation fixes.
This commit is contained in:
parent
168f2c549b
commit
979dc028c7
50
mopidy_musicbox_webclient/static/js/controls.js
vendored
50
mopidy_musicbox_webclient/static/js/controls.js
vendored
@ -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.
|
||||||
|
|||||||
@ -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"> </li>'
|
html += '<li class="smalldivider"> </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')
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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])
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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)))
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
CACHE MANIFEST
|
CACHE MANIFEST
|
||||||
|
|
||||||
# 2016-02-29:v1
|
# 2016-03-05:v1
|
||||||
|
|
||||||
NETWORK:
|
NETWORK:
|
||||||
*
|
*
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user