diff --git a/Changelog.md b/Changelog.md index 7a00e5461..bfe47c7e8 100644 --- a/Changelog.md +++ b/Changelog.md @@ -7,6 +7,7 @@ * Hide 'reshare' button on already reshared posts [#7169](https://github.com/diaspora/diaspora/pull/7169) ## Features +* Show spinner when loading comments in the stream [#7170](https://github.com/diaspora/diaspora/pull/7170) # 0.6.1.0 diff --git a/app/assets/javascripts/app/views/comment_stream_view.js b/app/assets/javascripts/app/views/comment_stream_view.js index 0119b3329..48df8afad 100644 --- a/app/assets/javascripts/app/views/comment_stream_view.js +++ b/app/assets/javascripts/app/views/comment_stream_view.js @@ -104,10 +104,12 @@ app.views.CommentStream = app.views.Base.extend({ }, expandComments: function(evt){ + this.$(".loading-comments").removeClass("hidden"); if(evt){ evt.preventDefault(); } this.model.comments.fetch({ success: function() { this.$("div.comment.show_comments").addClass("hidden"); + this.$(".loading-comments").addClass("hidden"); }.bind(this) }); } diff --git a/app/assets/stylesheets/comments.scss b/app/assets/stylesheets/comments.scss index 3a9828c8f..7b6d76757 100644 --- a/app/assets/stylesheets/comments.scss +++ b/app/assets/stylesheets/comments.scss @@ -1,13 +1,27 @@ .comment_stream { .show_comments { - margin-top: 5px; border-top: 1px solid $border-grey; + line-height: $line-height-computed; + margin-top: 5px; a { color: $text-grey; font-size: 13px; } .media { margin-top: 10px; } } + + .loading-comments { + height: $line-height-computed + 11px; // height of .show_comments: line-height, 10px margin, 1px border + margin-top: -$line-height-computed - 11px; + + .loader { + height: 20px; + width: 20px; + } + + .media { margin: 5px; } + } + .comments > .comment, .comment.new-comment-form-wrapper { .avatar { diff --git a/app/assets/templates/comment-stream_tpl.jst.hbs b/app/assets/templates/comment-stream_tpl.jst.hbs index 0b6678a10..e7343507d 100644 --- a/app/assets/templates/comment-stream_tpl.jst.hbs +++ b/app/assets/templates/comment-stream_tpl.jst.hbs @@ -6,6 +6,14 @@ + +
{{#if loggedIn}} diff --git a/spec/javascripts/app/views/comment_stream_view_spec.js b/spec/javascripts/app/views/comment_stream_view_spec.js index 0317f7f0b..104cb3c7a 100644 --- a/spec/javascripts/app/views/comment_stream_view_spec.js +++ b/spec/javascripts/app/views/comment_stream_view_spec.js @@ -164,6 +164,19 @@ describe("app.views.CommentStream", function(){ }).join("") ); }); + + it("shows the spinner when loading comments and removes it on success", function() { + this.view.render(); + expect(this.view.$(".loading-comments")).toHaveClass("hidden"); + + this.view.expandComments(); + expect(this.view.$(".loading-comments")).not.toHaveClass("hidden"); + + jasmine.Ajax.requests.mostRecent().respondWith({ + status: 200, responseText: JSON.stringify([]) + }); + expect(this.view.$(".loading-comments")).toHaveClass("hidden"); + }); }); describe("pressing a key when typing on the new comment box", function(){