mirror of
https://github.com/viq/NewsBlur.git
synced 2025-04-13 09:38:09 +00:00
Adding stats to organizer.
This commit is contained in:
parent
93f6971731
commit
be7994e1c5
5 changed files with 55 additions and 12 deletions
|
@ -153,6 +153,8 @@ class Feed(models.Model):
|
|||
'updated': relative_timesince(self.last_update),
|
||||
'updated_seconds_ago': seconds_timesince(self.last_update),
|
||||
'last_story_date': self.last_story_date,
|
||||
'stories_last_month': self.stories_last_month,
|
||||
'average_stories_per_month': self.average_stories_per_month,
|
||||
'min_to_decay': self.min_to_decay,
|
||||
'subs': self.num_subscribers,
|
||||
'is_push': self.is_push,
|
||||
|
|
|
@ -56,7 +56,8 @@ _.extend(NEWSBLUR.ReaderOrganizer.prototype, {
|
|||
this.feed_count = _.unique(NEWSBLUR.assets.folders.feed_ids_in_folder()).length;
|
||||
|
||||
var $feeds = new NEWSBLUR.Views.FeedList({
|
||||
feed_chooser: true
|
||||
feed_chooser: true,
|
||||
organizer: true
|
||||
}).make_feeds().$el;
|
||||
|
||||
if ($feeds.data('sortable')) $feeds.data('sortable').disable();
|
||||
|
@ -76,8 +77,27 @@ _.extend(NEWSBLUR.ReaderOrganizer.prototype, {
|
|||
$('.unread_count_positive', $feeds).text('On');
|
||||
$('.unread_count_negative', $feeds).text('Off');
|
||||
|
||||
$('.selected', $feeds).removeClass('selected');
|
||||
|
||||
return $feeds;
|
||||
},
|
||||
|
||||
// =============
|
||||
// = Selecting =
|
||||
// =============
|
||||
|
||||
toggle_feed: function(feed_id) {
|
||||
var feed = NEWSBLUR.assets.get_feed(feed_id);
|
||||
if (feed.get('organizer_selected')) {
|
||||
this.deselect_feed(feed);
|
||||
} else {
|
||||
this.select_feed(feed);
|
||||
}
|
||||
},
|
||||
|
||||
select_feed: function(feed) {
|
||||
feed.set('organizer_selected', true);
|
||||
},
|
||||
|
||||
// ===========
|
||||
// = Actions =
|
||||
|
@ -90,11 +110,7 @@ _.extend(NEWSBLUR.ReaderOrganizer.prototype, {
|
|||
e.preventDefault();
|
||||
|
||||
var feed_id = parseInt($t.attr('data-id'), 10);
|
||||
if (_.contains(this.approve_list, feed_id)) {
|
||||
this.add_feed_to_decline(feed_id, true);
|
||||
} else {
|
||||
this.add_feed_to_approve(feed_id, true);
|
||||
}
|
||||
this.toggle_feed(feed_id);
|
||||
}, this));
|
||||
|
||||
}
|
||||
|
|
|
@ -15,7 +15,11 @@ NEWSBLUR.Views.FeedList = Backbone.View.extend({
|
|||
if (this.options.feed_chooser) {
|
||||
this.$el.addClass('NB-feedchooser');
|
||||
this.$el.addClass('unread_view_positive');
|
||||
this.$el.attr('id', 'NB-feedchooser-feeds');
|
||||
if (this.options.organizer) {
|
||||
this.$el.attr('id', 'NB-organizer-feeds');
|
||||
} else {
|
||||
this.$el.attr('id', 'NB-feedchooser-feeds');
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -57,7 +61,8 @@ NEWSBLUR.Views.FeedList = Backbone.View.extend({
|
|||
var $feeds = new NEWSBLUR.Views.Folder({
|
||||
collection: folders,
|
||||
root: true,
|
||||
feed_chooser: this.options.feed_chooser
|
||||
feed_chooser: this.options.feed_chooser,
|
||||
organizer: this.options.organizer
|
||||
}).render().el;
|
||||
this.$el.css({
|
||||
'display': 'block',
|
||||
|
|
|
@ -110,6 +110,20 @@ NEWSBLUR.Views.FeedTitleView = Backbone.View.extend({
|
|||
<div class="NB-feed-unfetched-icon"></div>\
|
||||
<div class="NB-feedlist-manage-icon"></div>\
|
||||
<div class="NB-feed-highlight"></div>\
|
||||
<% if (organizer) { %>\
|
||||
<div class="NB-feed-organizer-subscribers">\
|
||||
<%= pluralize("subscriber", feed.get("num_subscribers"), true) %>\
|
||||
</div>\
|
||||
<div class="NB-feed-organizer-laststory">\
|
||||
<%= feed.get("last_story_date") %>\
|
||||
</div>\
|
||||
<div class="NB-feed-organizer-monthlycount">\
|
||||
<%= pluralize("story", feed.get("average_stories_per_month"), true) %> per month\
|
||||
</div>\
|
||||
<div class="NB-feed-organizer-opens">\
|
||||
<%= pluralize("open", feed.get("feed_opens"), true) %>\
|
||||
</div>\
|
||||
<% } %>\
|
||||
</<%= list_type %>>\
|
||||
', {
|
||||
feed : feed,
|
||||
|
@ -118,9 +132,11 @@ NEWSBLUR.Views.FeedTitleView = Backbone.View.extend({
|
|||
extra_classes : extra_classes,
|
||||
toplevel : this.options.depth == 0,
|
||||
list_type : this.options.type == 'feed' ? 'li' : 'div',
|
||||
selected : this.model.get('selected')
|
||||
selected : this.model.get('selected'),
|
||||
organizer : this.options.organizer,
|
||||
pluralize : Inflector.pluralize
|
||||
}));
|
||||
|
||||
|
||||
if (this.options.type == 'story') {
|
||||
this.search_view = new NEWSBLUR.Views.FeedSearchView({
|
||||
feedbar_view: this
|
||||
|
@ -302,6 +318,7 @@ NEWSBLUR.Views.FeedTitleView = Backbone.View.extend({
|
|||
if (dblclick_pref == "ignore") return;
|
||||
if (this.options.type == "story") return;
|
||||
if (this.options.starred_tag) return;
|
||||
if (this.options.feed_chooser) return;
|
||||
if ($('.NB-modal-feedchooser').is(':visible')) return;
|
||||
|
||||
this.flags.double_click = true;
|
||||
|
|
|
@ -68,6 +68,7 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
|||
var depth = this.options.depth;
|
||||
var folder_title = this.options.folder_title;
|
||||
var feed_chooser = this.options.feed_chooser;
|
||||
var organizer = this.options.organizer;
|
||||
var folder_collection = this.collection;
|
||||
this.options.collapsed = folder_title && _.contains(NEWSBLUR.Preferences.collapsed_folders, folder_title);
|
||||
var $folder = this.render_folder();
|
||||
|
@ -82,7 +83,8 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
|||
depth: depth,
|
||||
folder_title: folder_title,
|
||||
folder: folder_collection,
|
||||
feed_chooser: feed_chooser
|
||||
feed_chooser: feed_chooser,
|
||||
organizer: organizer
|
||||
}).render();
|
||||
item.feed.views.push(feed_title_view);
|
||||
item.feed.folders.push(folder_collection);
|
||||
|
@ -92,7 +94,8 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
|||
model: item,
|
||||
collection: item.folders,
|
||||
depth: depth + 1,
|
||||
feed_chooser: feed_chooser
|
||||
feed_chooser: feed_chooser,
|
||||
organizer: organizer
|
||||
}).render();
|
||||
item.folder_views.push(folder_view);
|
||||
return folder_view.el;
|
||||
|
|
Loading…
Add table
Reference in a new issue