mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-08-05 16:58:59 +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': relative_timesince(self.last_update),
|
||||||
'updated_seconds_ago': seconds_timesince(self.last_update),
|
'updated_seconds_ago': seconds_timesince(self.last_update),
|
||||||
'last_story_date': self.last_story_date,
|
'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,
|
'min_to_decay': self.min_to_decay,
|
||||||
'subs': self.num_subscribers,
|
'subs': self.num_subscribers,
|
||||||
'is_push': self.is_push,
|
'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;
|
this.feed_count = _.unique(NEWSBLUR.assets.folders.feed_ids_in_folder()).length;
|
||||||
|
|
||||||
var $feeds = new NEWSBLUR.Views.FeedList({
|
var $feeds = new NEWSBLUR.Views.FeedList({
|
||||||
feed_chooser: true
|
feed_chooser: true,
|
||||||
|
organizer: true
|
||||||
}).make_feeds().$el;
|
}).make_feeds().$el;
|
||||||
|
|
||||||
if ($feeds.data('sortable')) $feeds.data('sortable').disable();
|
if ($feeds.data('sortable')) $feeds.data('sortable').disable();
|
||||||
|
@ -76,8 +77,27 @@ _.extend(NEWSBLUR.ReaderOrganizer.prototype, {
|
||||||
$('.unread_count_positive', $feeds).text('On');
|
$('.unread_count_positive', $feeds).text('On');
|
||||||
$('.unread_count_negative', $feeds).text('Off');
|
$('.unread_count_negative', $feeds).text('Off');
|
||||||
|
|
||||||
|
$('.selected', $feeds).removeClass('selected');
|
||||||
|
|
||||||
return $feeds;
|
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 =
|
// = Actions =
|
||||||
|
@ -90,11 +110,7 @@ _.extend(NEWSBLUR.ReaderOrganizer.prototype, {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
var feed_id = parseInt($t.attr('data-id'), 10);
|
var feed_id = parseInt($t.attr('data-id'), 10);
|
||||||
if (_.contains(this.approve_list, feed_id)) {
|
this.toggle_feed(feed_id);
|
||||||
this.add_feed_to_decline(feed_id, true);
|
|
||||||
} else {
|
|
||||||
this.add_feed_to_approve(feed_id, true);
|
|
||||||
}
|
|
||||||
}, this));
|
}, this));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,11 @@ NEWSBLUR.Views.FeedList = Backbone.View.extend({
|
||||||
if (this.options.feed_chooser) {
|
if (this.options.feed_chooser) {
|
||||||
this.$el.addClass('NB-feedchooser');
|
this.$el.addClass('NB-feedchooser');
|
||||||
this.$el.addClass('unread_view_positive');
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +61,8 @@ NEWSBLUR.Views.FeedList = Backbone.View.extend({
|
||||||
var $feeds = new NEWSBLUR.Views.Folder({
|
var $feeds = new NEWSBLUR.Views.Folder({
|
||||||
collection: folders,
|
collection: folders,
|
||||||
root: true,
|
root: true,
|
||||||
feed_chooser: this.options.feed_chooser
|
feed_chooser: this.options.feed_chooser,
|
||||||
|
organizer: this.options.organizer
|
||||||
}).render().el;
|
}).render().el;
|
||||||
this.$el.css({
|
this.$el.css({
|
||||||
'display': 'block',
|
'display': 'block',
|
||||||
|
|
|
@ -110,6 +110,20 @@ NEWSBLUR.Views.FeedTitleView = Backbone.View.extend({
|
||||||
<div class="NB-feed-unfetched-icon"></div>\
|
<div class="NB-feed-unfetched-icon"></div>\
|
||||||
<div class="NB-feedlist-manage-icon"></div>\
|
<div class="NB-feedlist-manage-icon"></div>\
|
||||||
<div class="NB-feed-highlight"></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 %>>\
|
</<%= list_type %>>\
|
||||||
', {
|
', {
|
||||||
feed : feed,
|
feed : feed,
|
||||||
|
@ -118,9 +132,11 @@ NEWSBLUR.Views.FeedTitleView = Backbone.View.extend({
|
||||||
extra_classes : extra_classes,
|
extra_classes : extra_classes,
|
||||||
toplevel : this.options.depth == 0,
|
toplevel : this.options.depth == 0,
|
||||||
list_type : this.options.type == 'feed' ? 'li' : 'div',
|
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') {
|
if (this.options.type == 'story') {
|
||||||
this.search_view = new NEWSBLUR.Views.FeedSearchView({
|
this.search_view = new NEWSBLUR.Views.FeedSearchView({
|
||||||
feedbar_view: this
|
feedbar_view: this
|
||||||
|
@ -302,6 +318,7 @@ NEWSBLUR.Views.FeedTitleView = Backbone.View.extend({
|
||||||
if (dblclick_pref == "ignore") return;
|
if (dblclick_pref == "ignore") return;
|
||||||
if (this.options.type == "story") return;
|
if (this.options.type == "story") return;
|
||||||
if (this.options.starred_tag) return;
|
if (this.options.starred_tag) return;
|
||||||
|
if (this.options.feed_chooser) return;
|
||||||
if ($('.NB-modal-feedchooser').is(':visible')) return;
|
if ($('.NB-modal-feedchooser').is(':visible')) return;
|
||||||
|
|
||||||
this.flags.double_click = true;
|
this.flags.double_click = true;
|
||||||
|
|
|
@ -68,6 +68,7 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
||||||
var depth = this.options.depth;
|
var depth = this.options.depth;
|
||||||
var folder_title = this.options.folder_title;
|
var folder_title = this.options.folder_title;
|
||||||
var feed_chooser = this.options.feed_chooser;
|
var feed_chooser = this.options.feed_chooser;
|
||||||
|
var organizer = this.options.organizer;
|
||||||
var folder_collection = this.collection;
|
var folder_collection = this.collection;
|
||||||
this.options.collapsed = folder_title && _.contains(NEWSBLUR.Preferences.collapsed_folders, folder_title);
|
this.options.collapsed = folder_title && _.contains(NEWSBLUR.Preferences.collapsed_folders, folder_title);
|
||||||
var $folder = this.render_folder();
|
var $folder = this.render_folder();
|
||||||
|
@ -82,7 +83,8 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
||||||
depth: depth,
|
depth: depth,
|
||||||
folder_title: folder_title,
|
folder_title: folder_title,
|
||||||
folder: folder_collection,
|
folder: folder_collection,
|
||||||
feed_chooser: feed_chooser
|
feed_chooser: feed_chooser,
|
||||||
|
organizer: organizer
|
||||||
}).render();
|
}).render();
|
||||||
item.feed.views.push(feed_title_view);
|
item.feed.views.push(feed_title_view);
|
||||||
item.feed.folders.push(folder_collection);
|
item.feed.folders.push(folder_collection);
|
||||||
|
@ -92,7 +94,8 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
|
||||||
model: item,
|
model: item,
|
||||||
collection: item.folders,
|
collection: item.folders,
|
||||||
depth: depth + 1,
|
depth: depth + 1,
|
||||||
feed_chooser: feed_chooser
|
feed_chooser: feed_chooser,
|
||||||
|
organizer: organizer
|
||||||
}).render();
|
}).render();
|
||||||
item.folder_views.push(folder_view);
|
item.folder_views.push(folder_view);
|
||||||
return folder_view.el;
|
return folder_view.el;
|
||||||
|
|
Loading…
Add table
Reference in a new issue