diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2013-01-13 00:01:30 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2013-01-13 04:09:44 +0100 |
commit | c814f5e311649ba2e776cbdfd194ff50caa25d31 (patch) | |
tree | 8b54444261e4b3933df1ab6fbc0709f1c7645b19 | |
parent | Allow slashes in queries. (diff) | |
download | zmusic-ng-c814f5e311649ba2e776cbdfd194ff50caa25d31.tar.xz zmusic-ng-c814f5e311649ba2e776cbdfd194ff50caa25d31.zip |
Add a show all button.
-rw-r--r-- | frontend/css/page.css | 13 | ||||
-rw-r--r-- | frontend/index.html | 3 | ||||
-rw-r--r-- | frontend/js/views/SongTable.js | 14 |
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; |