<!DOCTYPE HTML> <html i18n-values="dir:textdirection;"> <head> <meta charset="utf-8"> <title>Media Playlist</title> <style type="text/css"> body { background: #080809; } .playlist { width: 100%; height: 100%; background: #080809; color: #8AACE7; font-size: .7em; position: absolute; top: 0; left: 0; } .playlistitem { width: 100%; padding: 6px; cursor: pointer; } .playing { background: #393b41; color: #dddde7; font-weight: bold; } .tracknum { width: 20px; position: relative; float: left; } .title { } .innertitle { text-decoration: line-through; } .error { color: red; float: left; padding-right: 5px; } </style> <script src="shared/js/local_strings.js"></script> <script> function $(o) { return document.getElementById(o); } function pathIsVideoFile(path) { return /\.(mp4|ogg|mpg|avi)$/i.test(path); }; function pathIsAudioFile(path) { return /\.(mp3|m4a)$/i.test(path); }; /////////////////////////////////////////////////////////////////////////////// // Document Functions: /** * Window onload handler, sets up the page. */ var currentPlaylist = null; var currentOffset = -1; function load() { document.body.addEventListener('dragover', function(e) { if (e.preventDefault) e.preventDefault(); }); document.body.addEventListener('drop', function(e) { if (e.preventDefault) e.preventDefault(); }); chrome.send("getCurrentPlaylist", []); }; function getDisplayNameFromPath(path) { slash = path.lastIndexOf("/") if (slash != -1) { fileName = path.substring(slash+1,path.length) return fileName; } else { return path; } }; function setPlaylistOffset(offset) { chrome.send("setCurrentPlaylistOffset", ['' + offset]); }; function updateUI() { var main = $('main'); if (currentPlaylist) { main.innerHTML = ''; var main = $('main'); for (var x = 0; x < currentPlaylist.length; x++) { var rowdiv = document.createElement('div'); rowdiv.className = 'playlistitem'; var numberdiv = document.createElement('div'); numberdiv.className = 'tracknum'; numberdiv.textContent = '' + (x + 1); rowdiv.appendChild(numberdiv); var titlediv = document.createElement('div'); if (currentPlaylist[x].error) { var errormark = document.createElement('div'); errormark.className = 'error'; errormark.textContent = 'X'; var innertitle = document.createElement('div'); innertitle.className = 'innertitle'; innertitle.textContent = decodeURI(getDisplayNameFromPath(currentPlaylist[x].path)); titlediv.appendChild(errormark); titlediv.appendChild(innertitle); } else { titlediv.className = 'title'; titlediv.textContent = decodeURI(getDisplayNameFromPath(currentPlaylist[x].path)); } rowdiv.appendChild(titlediv); rowdiv.onclick = new Function('setPlaylistOffset(' + x + ')'); if (currentOffset == x) { rowdiv.className = 'playlistitem playing'; } main.appendChild(rowdiv); } } }; function playlistChanged(info, playlist) { currentPlaylist = playlist; currentOffset = info.currentOffset; updateUI(); }; </script> <body onload='load();' onselectstart='return false'> <div id='main' class='playlist'> </div> </body> </html>