diff --git a/.gitignore b/.gitignore
index db1f13a..abcac95 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,5 +4,4 @@
# not shared with .npmignore
/public/app.js
-/public/views.js
/public/app.css
diff --git a/build b/build
index 5a8cc62..fd508d0 100755
--- a/build
+++ b/build
@@ -2,4 +2,3 @@
mkdir -p public
./node_modules/.bin/stylus -o public/ -c --include-css src/client/styles
./node_modules/.bin/browserify src/client/app.js --outfile public/app.js
-./node_modules/.bin/handlebars -f public/views.js src/client/views/
diff --git a/package.json b/package.json
index 175319e..73ea5f2 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,6 @@
"multiparty": "^3.2.3"
},
"devDependencies": {
- "handlebars": "1.0.7",
"stylus": "^0.42.3",
"browserify": "~3.32.0"
},
diff --git a/src/client/app.js b/src/client/app.js
index 4271f7d..acc9e5b 100644
--- a/src/client/app.js
+++ b/src/client/app.js
@@ -1,5 +1,4 @@
var $ = window.$;
-var Handlebars = window.Handlebars;
var shuffle = require('mess');
var querystring = require('querystring');
@@ -902,13 +901,61 @@ function render(){
handleResize();
}
-function genericToggleExpansion($li, options){
+function renderArtist($ul, albumList) {
+ albumList.forEach(function(album) {
+ $ul.append(
+ '
' +
+ '' +
+ '' +
+ '');
+ var liDom = $ul.get(0).lastChild;
+ var divDom = liDom.children[0];
+ divDom.setAttribute('id', toAlbumId(album.key));
+ divDom.setAttribute('data-key', album.key);
+ var spanDom = divDom.children[1];
+ spanDom.textContent = album.name || '[Unknown Album]';
+
+ var artistUlDom = liDom.children[1];
+ var $artistUlDom = $(artistUlDom);
+ album.trackList.forEach(function(track) {
+ $artistUlDom.append(
+ '' +
+ '' +
+ '' +
+ '
' +
+ '');
+ var trackLiDom = artistUlDom.lastChild;
+ var trackDivDom = trackLiDom.children[0];
+ trackDivDom.setAttribute('id', toTrackId(track.key));
+ trackDivDom.setAttribute('data-key', track.key);
+ var trackSpanDom = trackDivDom.children[0];
+ var caption = "";
+ if (track.track) {
+ caption += track.track + ". ";
+ }
+ if (track.compilation) {
+ caption += track.artistName + " - ";
+ }
+ caption += track.name;
+ trackSpanDom.textContent = caption;
+ });
+ });
+}
+
+function toggleLibraryExpansion($li){
var $div = $li.find("> div");
var $ul = $li.find("> ul");
- if ($div.attr('data-type') === options.top_level_type) {
+ if ($div.attr('data-type') === 'artist') {
if (!$li.data('cached')) {
$li.data('cached', true);
- $ul.html(options.template(options.context($div.attr('data-key'))));
+ var artistKey = $div.attr('data-key');
+ var albumList = player.searchResults.artistTable[artistKey].albumList;
+
+ renderArtist($ul, albumList);
+
$ul.toggle();
refreshSelection();
}
@@ -924,18 +971,6 @@ function genericToggleExpansion($li, options){
$div.find("div").removeClass(old_class).addClass(new_class);
}
-function toggleLibraryExpansion($li){
- return genericToggleExpansion($li, {
- top_level_type: 'artist',
- template: Handlebars.templates.albums,
- context: function(key){
- return {
- albumList: player.searchResults.artistTable[key].albumList
- };
- }
- });
-}
-
function confirmDelete(keysList) {
var fileList = keysList.map(function(key) {
return player.library.trackTable[key].file;
@@ -2197,17 +2232,15 @@ function setUpUi(){
setUpUploadUi();
setUpSettingsUi();
}
-function initHandlebars(){
- Handlebars.registerHelper('artistid', function(s){
- return "lib-artist-" + toHtmlId(s);
- });
- Handlebars.registerHelper('albumid', function(s){
- return "lib-album-" + toHtmlId(s);
- });
- Handlebars.registerHelper('trackid', function(s){
- return "lib-track-" + toHtmlId(s);
- });
+
+function toAlbumId(s) {
+ return "lib-album-" + toHtmlId(s);
}
+
+function toTrackId(s) {
+ return "lib-track-" + toHtmlId(s);
+}
+
function handleResize(){
$nowplaying.width(MARGIN);
$pl_window.height(MARGIN);
@@ -2291,7 +2324,6 @@ $document.ready(function(){
render();
});
setUpUi();
- initHandlebars();
streaming.init(player, socket);
render();
$window.resize(handleResize);
diff --git a/src/client/views/albums.handlebars b/src/client/views/albums.handlebars
deleted file mode 100644
index 4bee81b..0000000
--- a/src/client/views/albums.handlebars
+++ /dev/null
@@ -1,17 +0,0 @@
-{{#albumList}}
-
-
-
-
{{#if name}}{{name}}{{else}}[Unknown Album]{{/if}}
-
-
-
-{{/albumList}}
diff --git a/src/public/index.html b/src/public/index.html
index 307b3bb..4c3aef1 100644
--- a/src/public/index.html
+++ b/src/public/index.html
@@ -312,8 +312,6 @@
-
-