aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2013-01-13 00:01:30 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2013-01-13 04:09:44 +0100
commitc814f5e311649ba2e776cbdfd194ff50caa25d31 (patch)
tree8b54444261e4b3933df1ab6fbc0709f1c7645b19
parentAllow slashes in queries. (diff)
downloadzmusic-ng-c814f5e311649ba2e776cbdfd194ff50caa25d31.tar.xz
zmusic-ng-c814f5e311649ba2e776cbdfd194ff50caa25d31.zip
Add a show all button.
-rw-r--r--frontend/css/page.css13
-rw-r--r--frontend/index.html3
-rw-r--r--frontend/js/views/SongTable.js14
3 files changed, 28 insertions, 2 deletions
diff --git a/frontend/css/page.css b/frontend/css/page.css
index 02478e3..e459199 100644
--- a/frontend/css/page.css
+++ b/frontend/css/page.css
@@ -35,6 +35,19 @@
font-size: 150px;
margin-top: 10%;
}
+#loadall {
+ font-size: 20px;
+ position: absolute;
+ bottom: 100px;
+ right: 0;
+ padding-right: 1px;
+ cursor: pointer;
+ color: #555555;
+ display: none;
+}
+#loadall:hover {
+ color: #000000;
+}
#login {
position: absolute;
top: 0;
diff --git a/frontend/index.html b/frontend/index.html
index 34370cb..8de380b 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -70,7 +70,8 @@
</fieldset>
</form>
</div>
-<div id="loading"><i class="icon-cog icon-spin"></i></div>
+<div id="loading"><i class="icon-cog icon-spin"></i></div>
+<i title="Show entire query" class="icon-double-angle-down" id="loadall"></i>
</body>
</html>
diff --git a/frontend/js/views/SongTable.js b/frontend/js/views/SongTable.js
index 60a862f..9554de4 100644
--- a/frontend/js/views/SongTable.js
+++ b/frontend/js/views/SongTable.js
@@ -1,7 +1,7 @@
var SongTable = Backbone.View.extend({
initialize: function() {
var that = this;
- _(this).bindAll("remove", "render", "renderMore", "appendSong");
+ _(this).bindAll("remove", "render", "renderMore", "appendSong", "showHideLoadall");
this.$songlistContainer = this.$el.find("#songlist-container");
this.$tbody = this.$songlistContainer.find("tbody");
@@ -27,6 +27,10 @@ var SongTable = Backbone.View.extend({
clearTimeout(latestSearchTimer);
latestSearchTimer = setTimeout(doSearch, 350);
});
+ this.$loadall = this.$el.find("#loadall").click(function() {
+ that.$loadall.fadeOut();
+ that.collection.more({ limit: 0 });
+ });
this.listenTo(this.collection, "remove", this.remove);
this.listenTo(this.collection, "reset", this.render);
@@ -50,10 +54,18 @@ var SongTable = Backbone.View.extend({
this.$tbody.empty().scrollTop(0);
this.songRows = {};
this.collection.each(this.appendSong);
+ this.showHideLoadall();
return this;
},
renderMore: function(more) {
more.each(this.appendSong);
+ this.showHideLoadall();
+ },
+ showHideLoadall: function() {
+ if (this.collection.hasMore() && !this.$loadall.is(":visible"))
+ this.$loadall.fadeIn();
+ else if (!this.collection.hasMore() && this.$loadall.is(":visible"))
+ this.$loadall.fadeOut();
},
scrollTo: function(song) {
var that = this;