Serializing feeds in organizer with their parent folder. Now to just abstract out move/delete actions.

This commit is contained in:
Samuel Clay 2014-10-10 15:51:27 -07:00
parent 812fc986fb
commit 83a6f1b75f
2 changed files with 53 additions and 0 deletions

View file

@ -178,6 +178,23 @@ _.extend(NEWSBLUR.ReaderOrganizer.prototype, {
$(".NB-feedlist", this.$modal).replaceWith(this.make_feeds());
},
// ==========
// = Server =
// ==========
serialize: function() {
var highlighted_feeds = this.feedlist.folder_view.highlighted_feeds();
console.log(["highlighted feeds", highlighted_feeds]);
},
move_feeds: function() {
var highlighted_feeds = this.serialize();
},
delete_feeds: function() {
var highlighted_feeds = this.serialize();
},
// ===========
// = Actions =
// ===========
@ -207,6 +224,20 @@ _.extend(NEWSBLUR.ReaderOrganizer.prototype, {
this.toggle_folder_add();
}, this));
$.targetIs(e, { tagSelector: '.NB-action-move' },
_.bind(function($t, $p) {
e.preventDefault();
this.move_feeds();
}, this));
$.targetIs(e, { tagSelector: '.NB-action-delete' },
_.bind(function($t, $p) {
e.preventDefault();
this.delete_feeds();
}, this));
},
toggle_folder_add: function() {

View file

@ -507,6 +507,28 @@ NEWSBLUR.Views.Folder = Backbone.View.extend({
});
},
highlighted_feeds: function(options, feeds) {
if (!this.options.feed_chooser) return feeds;
options = options || {};
feeds = feeds || [];
var folder_title = this.options.folder_title;
this.collection.each(function(item) {
if (item.is_feed() && item.feed.get('highlighted')) {
if (_.contains(item.feed.get('highlighted_in_folders'), folder_title)) {
feeds.push([item.feed.id, folder_title]);
}
} else if (item.is_folder()) {
_.each(item.folder_views, function(view) {
feeds = view.highlighted_feeds(options, feeds);
});
}
});
return feeds;
},
mark_folder_as_read: function(e, days_back) {
NEWSBLUR.reader.mark_folder_as_read(this.model, days_back);
this.$('.NB-feedbar-mark-feed-read-container').fadeOut(400);