Show spinner when loading comments

closes #7170
This commit is contained in:
Steffen van Bergerem 2016-11-02 23:44:20 +01:00 committed by Benjamin Neff
parent 951149dd24
commit a73e1baaed
5 changed files with 39 additions and 1 deletions

View file

@ -7,6 +7,7 @@
* Hide 'reshare' button on already reshared posts [#7169](https://github.com/diaspora/diaspora/pull/7169) * Hide 'reshare' button on already reshared posts [#7169](https://github.com/diaspora/diaspora/pull/7169)
## Features ## Features
* Show spinner when loading comments in the stream [#7170](https://github.com/diaspora/diaspora/pull/7170)
# 0.6.1.0 # 0.6.1.0

View file

@ -104,10 +104,12 @@ app.views.CommentStream = app.views.Base.extend({
}, },
expandComments: function(evt){ expandComments: function(evt){
this.$(".loading-comments").removeClass("hidden");
if(evt){ evt.preventDefault(); } if(evt){ evt.preventDefault(); }
this.model.comments.fetch({ this.model.comments.fetch({
success: function() { success: function() {
this.$("div.comment.show_comments").addClass("hidden"); this.$("div.comment.show_comments").addClass("hidden");
this.$(".loading-comments").addClass("hidden");
}.bind(this) }.bind(this)
}); });
} }

View file

@ -1,13 +1,27 @@
.comment_stream { .comment_stream {
.show_comments { .show_comments {
margin-top: 5px;
border-top: 1px solid $border-grey; border-top: 1px solid $border-grey;
line-height: $line-height-computed;
margin-top: 5px;
a { a {
color: $text-grey; color: $text-grey;
font-size: 13px; font-size: 13px;
} }
.media { margin-top: 10px; } .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, .comments > .comment,
.comment.new-comment-form-wrapper { .comment.new-comment-form-wrapper {
.avatar { .avatar {

View file

@ -6,6 +6,14 @@
</div> </div>
</div> </div>
<div class="loading-comments comment text-center hidden">
<div class="media">
<div class="loader">
<div class="spinner"></div>
</div>
</div>
</div>
<div class="comments"> </div> <div class="comments"> </div>
{{#if loggedIn}} {{#if loggedIn}}

View file

@ -164,6 +164,19 @@ describe("app.views.CommentStream", function(){
}).join("") }).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(){ describe("pressing a key when typing on the new comment box", function(){