mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Fixing scroll to feed for social feeds. Also fixing manage menu for folders.
This commit is contained in:
parent
9434ee5ef1
commit
620d07a2d2
5 changed files with 78 additions and 33 deletions
|
@ -34,6 +34,13 @@ NEWSBLUR.Collections.SocialSubscriptions = Backbone.Collection.extend({
|
|||
|
||||
model : NEWSBLUR.Models.SocialSubscription,
|
||||
|
||||
parse: function(models) {
|
||||
_.each(models, function(feed) {
|
||||
feed.selected = false;
|
||||
});
|
||||
return models;
|
||||
},
|
||||
|
||||
comparator: function(a, b) {
|
||||
var sort_order = NEWSBLUR.reader.model.preference('feed_order');
|
||||
var title_a = a.get('feed_title') || '';
|
||||
|
@ -54,6 +61,10 @@ NEWSBLUR.Collections.SocialSubscriptions = Backbone.Collection.extend({
|
|||
return 0;
|
||||
},
|
||||
|
||||
selected: function() {
|
||||
return this.detect(function(feed) { return feed.get('selected'); });
|
||||
},
|
||||
|
||||
deselect: function() {
|
||||
this.chain().select(function(feed) {
|
||||
return feed.get('selected');
|
||||
|
|
|
@ -3499,7 +3499,7 @@
|
|||
$indicator.removeClass('unread_threshold_positive')
|
||||
.removeClass('unread_threshold_neutral')
|
||||
.addClass('unread_threshold_negative');
|
||||
$indicator.animate({'opacity': 0}, {'duration': 500});
|
||||
$indicator.animate({'opacity': 0}, {'duration': 500}).css('display', 'none');
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -6825,17 +6825,6 @@
|
|||
self.open_river_stories();
|
||||
});
|
||||
|
||||
// = Feed Bar =====================================================
|
||||
|
||||
$.targetIs(e, { tagSelector: '.NB-feed-like' }, function($t, $p){
|
||||
e.preventDefault();
|
||||
self.open_feed_intelligence_modal(1);
|
||||
});
|
||||
$.targetIs(e, { tagSelector: '.NB-feed-dislike' }, function($t, $p){
|
||||
e.preventDefault();
|
||||
self.open_feed_intelligence_modal(-1);
|
||||
});
|
||||
|
||||
// = Stories ======================================================
|
||||
|
||||
var story_prevent_bubbling = false;
|
||||
|
|
|
@ -22,6 +22,7 @@ NEWSBLUR.Views.FeedList = Backbone.View.extend({
|
|||
}, this));
|
||||
NEWSBLUR.assets.load_feeds();
|
||||
|
||||
NEWSBLUR.assets.social_feeds.bind('change:selected', this.selected);
|
||||
NEWSBLUR.assets.feeds.bind('change:selected', this.selected);
|
||||
},
|
||||
|
||||
|
@ -140,10 +141,10 @@ NEWSBLUR.Views.FeedList = Backbone.View.extend({
|
|||
options = options || {};
|
||||
|
||||
if (!model) {
|
||||
model = NEWSBLUR.assets.feeds.selected();
|
||||
model = NEWSBLUR.assets.feeds.selected() || NEWSBLUR.assets.social_feeds.selected();
|
||||
console.log(["selected models", model]);
|
||||
}
|
||||
if (!model) return;
|
||||
if (!model || !model.get('selected')) return;
|
||||
|
||||
if (options.$feed) {
|
||||
feed_view = _.detect(model.views, function(view) {
|
||||
|
@ -154,7 +155,9 @@ NEWSBLUR.Views.FeedList = Backbone.View.extend({
|
|||
feed_view = model.views[0];
|
||||
}
|
||||
|
||||
this.scroll_to_show_selected_feed(feed_view);
|
||||
if (feed_view) {
|
||||
this.scroll_to_show_selected_feed(feed_view);
|
||||
}
|
||||
},
|
||||
|
||||
scroll_to_show_selected_feed: function(feed_view) {
|
||||
|
|
|
@ -9,8 +9,8 @@ NEWSBLUR.Views.Feed = Backbone.View.extend({
|
|||
"contextmenu" : "show_manage_menu",
|
||||
"click .NB-feedlist-manage-icon" : "show_manage_menu",
|
||||
"click" : "open",
|
||||
"mouseenter" : "add_hover_inverse_to_feed",
|
||||
"mouseleave" : "remove_hover_inverse_from_feed"
|
||||
"mouseenter" : "add_hover_inverse",
|
||||
"mouseleave" : "remove_hover_inverse"
|
||||
},
|
||||
|
||||
initialize: function() {
|
||||
|
@ -172,20 +172,6 @@ NEWSBLUR.Views.Feed = Backbone.View.extend({
|
|||
$(this.el).addClass(extra_classes);
|
||||
},
|
||||
|
||||
add_hover_inverse_to_feed: function() {
|
||||
if (NEWSBLUR.app.feed_list.is_sorting()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.$el.offset().top > $(window).height() - 314) {
|
||||
this.$el.addClass('NB-hover-inverse');
|
||||
}
|
||||
},
|
||||
|
||||
remove_hover_inverse_from_feed: function() {
|
||||
this.$el.removeClass('NB-hover-inverse');
|
||||
},
|
||||
|
||||
// ===========
|
||||
// = Actions =
|
||||
// ===========
|
||||
|
@ -196,6 +182,8 @@ NEWSBLUR.Views.Feed = Backbone.View.extend({
|
|||
// ==========
|
||||
|
||||
open: function(e) {
|
||||
if (this.options.type != 'feed') return;
|
||||
|
||||
if (NEWSBLUR.hotkeys.command) {
|
||||
NEWSBLUR.reader.open_unread_stories_in_tabs(this.id);
|
||||
} else if (this.model.is_social()) {
|
||||
|
@ -209,7 +197,7 @@ NEWSBLUR.Views.Feed = Backbone.View.extend({
|
|||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
// console.log(["showing manage menu", this.model.is_social() ? 'socialfeed' : 'feed', $(this.el), this]);
|
||||
NEWSBLUR.reader.show_manage_menu(this.model.is_social() ? 'socialfeed' : 'feed', $(this.el), {
|
||||
NEWSBLUR.reader.show_manage_menu(this.model.is_social() ? 'socialfeed' : 'feed', this.$el, {
|
||||
feed_id: this.model.id,
|
||||
toplevel: this.options.depth == 0
|
||||
});
|
||||
|
@ -223,6 +211,20 @@ NEWSBLUR.Views.Feed = Backbone.View.extend({
|
|||
NEWSBLUR.reader.reset_feed();
|
||||
NEWSBLUR.reader.show_splash_page();
|
||||
}
|
||||
},
|
||||
|
||||
add_hover_inverse: function() {
|
||||
if (NEWSBLUR.app.feed_list.is_sorting()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.$el.offset().top > $(window).height() - 314) {
|
||||
this.$el.addClass('NB-hover-inverse');
|
||||
}
|
||||
},
|
||||
|
||||
remove_hover_inverse: function() {
|
||||
this.$el.removeClass('NB-hover-inverse');
|
||||
}
|
||||
|
||||
});
|
|
@ -11,6 +11,14 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
|||
root: false
|
||||
},
|
||||
|
||||
events: {
|
||||
"contextmenu" : "show_manage_menu",
|
||||
"click .NB-feedlist-manage-icon" : "show_manage_menu",
|
||||
"click" : "open",
|
||||
"mouseenter" : "add_hover_inverse",
|
||||
"mouseleave" : "remove_hover_inverse"
|
||||
},
|
||||
|
||||
render: function() {
|
||||
var depth = this.options.depth;
|
||||
this.options.collapsed = _.contains(NEWSBLUR.Preferences.collapsed_folders, this.options.title);
|
||||
|
@ -45,7 +53,7 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
|||
render_folder: function($feeds) {
|
||||
var $folder = _.template('\
|
||||
<% if (!root) { %>\
|
||||
<div class="folder_title <% if (depth == 0) { %>NB-toplevel<% } %>">\
|
||||
<div class="folder_title <% if (depth <= 1) { %>NB-toplevel<% } %>">\
|
||||
<div class="NB-folder-icon"></div>\
|
||||
<div class="NB-feedlist-collapse-icon" title="<% if (is_collapsed) { %>Expand Folder<% } else {%>Collapse Folder<% } %>"></div>\
|
||||
<div class="NB-feedlist-manage-icon"></div>\
|
||||
|
@ -62,6 +70,38 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
|||
});
|
||||
|
||||
return $folder;
|
||||
},
|
||||
|
||||
// ==========
|
||||
// = Events =
|
||||
// ==========
|
||||
|
||||
open: function(e) {
|
||||
|
||||
},
|
||||
|
||||
show_manage_menu: function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
// console.log(["showing manage menu", this.model.is_social() ? 'socialfeed' : 'feed', $(this.el), this]);
|
||||
NEWSBLUR.reader.show_manage_menu('folder', this.$el, {
|
||||
toplevel: this.options.depth == 0
|
||||
});
|
||||
return false;
|
||||
},
|
||||
|
||||
add_hover_inverse: function() {
|
||||
if (NEWSBLUR.app.feed_list.is_sorting()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.$el.offset().top > $(window).height() - 314) {
|
||||
this.$el.addClass('NB-hover-inverse');
|
||||
}
|
||||
},
|
||||
|
||||
remove_hover_inverse: function() {
|
||||
this.$el.removeClass('NB-hover-inverse');
|
||||
}
|
||||
|
||||
});
|
Loading…
Add table
Reference in a new issue