Add 'no posts yet' message to empty streams
This commit is contained in:
parent
23d8af9e07
commit
eae9e01f14
11 changed files with 42 additions and 7 deletions
|
|
@ -16,6 +16,7 @@ app.views.InfScroll = app.views.Base.extend({
|
||||||
this.showLoader();
|
this.showLoader();
|
||||||
this.bind("loadMore", this.fetchAndshowLoader, this);
|
this.bind("loadMore", this.fetchAndshowLoader, this);
|
||||||
this.stream.bind("fetched", this.finishedLoading, this);
|
this.stream.bind("fetched", this.finishedLoading, this);
|
||||||
|
this.stream.bind("allItemsLoaded", this.showNoPostsInfo, this);
|
||||||
this.stream.bind("allItemsLoaded", this.unbindInfScroll, this);
|
this.stream.bind("allItemsLoaded", this.unbindInfScroll, this);
|
||||||
|
|
||||||
this.collection.bind("add", this.addPostView, this);
|
this.collection.bind("add", this.addPostView, this);
|
||||||
|
|
@ -50,6 +51,13 @@ app.views.InfScroll = app.views.Base.extend({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
showNoPostsInfo: function() {
|
||||||
|
if (this.postViews.length === 0) {
|
||||||
|
var noPostsInfo = new app.views.NoPostsInfo();
|
||||||
|
this.$el.append(noPostsInfo.render().el);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
unbindInfScroll : function() {
|
unbindInfScroll : function() {
|
||||||
$(window).unbind("scroll");
|
$(window).unbind("scroll");
|
||||||
},
|
},
|
||||||
|
|
|
||||||
3
app/assets/javascripts/app/views/no_posts_info_view.js
Normal file
3
app/assets/javascripts/app/views/no_posts_info_view.js
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
app.views.NoPostsInfo = app.views.Base.extend({
|
||||||
|
templateName: "no_posts_info"
|
||||||
|
});
|
||||||
|
|
@ -189,4 +189,9 @@
|
||||||
.leaflet-control-zoom {
|
.leaflet-control-zoom {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.no-posts-info {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
5
app/assets/templates/no_posts_info_tpl.jst.hbs
Normal file
5
app/assets/templates/no_posts_info_tpl.jst.hbs
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
<div class="stream_element">
|
||||||
|
<div class="no-posts-info text-center">
|
||||||
|
<strong>{{ t "stream.no_posts_yet" }}</strong>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -236,6 +236,7 @@ en:
|
||||||
disable_post_notifications: "Disable notifications for this post"
|
disable_post_notifications: "Disable notifications for this post"
|
||||||
permalink: "Permalink"
|
permalink: "Permalink"
|
||||||
via: "via <%= provider %>"
|
via: "via <%= provider %>"
|
||||||
|
no_posts_yet: "There are no posts yet."
|
||||||
|
|
||||||
likes:
|
likes:
|
||||||
zero: "<%= count %> Likes"
|
zero: "<%= count %> Likes"
|
||||||
|
|
|
||||||
|
|
@ -41,3 +41,7 @@ Feature: posting
|
||||||
When I go to the followed tags stream page
|
When I go to the followed tags stream page
|
||||||
And I unfollow the "boss" tag
|
And I unfollow the "boss" tag
|
||||||
Then I should not see "#tag-following-boss" within "#tags_list"
|
Then I should not see "#tag-following-boss" within "#tags_list"
|
||||||
|
|
||||||
|
Scenario: Go to a tags page with no posts
|
||||||
|
When I go to the tag page for "NoPosts"
|
||||||
|
Then I should not see any posts in my stream
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ Feature: new user registration
|
||||||
Then I should be on the stream page
|
Then I should be on the stream page
|
||||||
And I close the publisher
|
And I close the publisher
|
||||||
And I should not see "awesome_button"
|
And I should not see "awesome_button"
|
||||||
|
And I should not see any posts in my stream
|
||||||
|
|
||||||
Scenario: new user tries to XSS itself
|
Scenario: new user tries to XSS itself
|
||||||
When I fill in the following:
|
When I fill in the following:
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ Then /^the first comment field should be open/ do
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^the first comment field should be closed$/ do
|
Then /^the first comment field should be closed$/ do
|
||||||
page.should have_css(".stream_element")
|
page.should have_css(".stream_element .media")
|
||||||
page.should_not have_selector("#main_stream .stream_element .new_comment", match: :first)
|
page.should_not have_selector("#main_stream .stream_element .new_comment", match: :first)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,9 @@ Then /^I should not see an uploaded image within the photo drop zone$/ do
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^I should not see any posts in my stream$/ do
|
Then /^I should not see any posts in my stream$/ do
|
||||||
page.assert_selector("#paginate .loader", visible: :hidden)
|
expect(page).not_to have_selector("#paginate .loader")
|
||||||
page.assert_selector(".stream_element", count: 0)
|
expect(page).not_to have_selector(".stream_element .media")
|
||||||
|
expect(page).to have_selector(".stream_element .no-posts-info")
|
||||||
end
|
end
|
||||||
|
|
||||||
Then /^I should not see any picture in my stream$/ do
|
Then /^I should not see any picture in my stream$/ do
|
||||||
|
|
|
||||||
|
|
@ -113,10 +113,6 @@ module PublishingCukeHelpers
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def stream_posts
|
|
||||||
all('.stream_element')
|
|
||||||
end
|
|
||||||
|
|
||||||
def comment_on_show_page(comment_text)
|
def comment_on_show_page(comment_text)
|
||||||
within("#single-post-interactions") do
|
within("#single-post-interactions") do
|
||||||
make_comment(comment_text)
|
make_comment(comment_text)
|
||||||
|
|
|
||||||
11
spec/javascripts/app/views/no_posts_info_view_spec.js
Normal file
11
spec/javascripts/app/views/no_posts_info_view_spec.js
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
describe("app.views.NoPostsInfo", function() {
|
||||||
|
describe("render", function() {
|
||||||
|
beforeEach(function() {
|
||||||
|
this.view = new app.views.NoPostsInfo();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("renders the no posts info message", function() {
|
||||||
|
expect(this.view.render().$el.text().trim()).toBe(Diaspora.I18n.t("stream.no_posts_yet"));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
Reference in a new issue