mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Reloading feed list when adding, moving, and deleting feeds and folders.
This commit is contained in:
parent
83cdbebcd7
commit
cab28a845e
6 changed files with 34 additions and 11 deletions
|
@ -1391,6 +1391,9 @@ def delete_feed(request):
|
|||
if feed:
|
||||
feed[0].count_subscribers()
|
||||
|
||||
r = redis.Redis(connection_pool=settings.REDIS_PUBSUB_POOL)
|
||||
r.publish(request.user.username, 'reload:feeds')
|
||||
|
||||
return dict(code=1, message="Removed %s from '%s'." % (feed, in_folder))
|
||||
|
||||
@ajax_login_required
|
||||
|
@ -1429,6 +1432,9 @@ def delete_folder(request):
|
|||
user_sub_folders = get_object_or_404(UserSubscriptionFolders, user=request.user)
|
||||
user_sub_folders.delete_folder(folder_to_delete, in_folder, feed_ids_in_folder)
|
||||
|
||||
r = redis.Redis(connection_pool=settings.REDIS_PUBSUB_POOL)
|
||||
r.publish(request.user.username, 'reload:feeds')
|
||||
|
||||
return dict(code=1)
|
||||
|
||||
@ajax_login_required
|
||||
|
@ -1474,6 +1480,9 @@ def move_feed_to_folder(request):
|
|||
|
||||
user_sub_folders = get_object_or_404(UserSubscriptionFolders, user=request.user)
|
||||
user_sub_folders = user_sub_folders.move_feed_to_folder(feed_id, in_folder=in_folder, to_folder=to_folder)
|
||||
|
||||
r = redis.Redis(connection_pool=settings.REDIS_PUBSUB_POOL)
|
||||
r.publish(request.user.username, 'reload:feeds')
|
||||
|
||||
return dict(code=1, folders=json.decode(user_sub_folders.folders))
|
||||
|
||||
|
@ -1486,6 +1495,9 @@ def move_folder_to_folder(request):
|
|||
|
||||
user_sub_folders = get_object_or_404(UserSubscriptionFolders, user=request.user)
|
||||
user_sub_folders = user_sub_folders.move_folder_to_folder(folder_name, in_folder=in_folder, to_folder=to_folder)
|
||||
|
||||
r = redis.Redis(connection_pool=settings.REDIS_PUBSUB_POOL)
|
||||
r.publish(request.user.username, 'reload:feeds')
|
||||
|
||||
return dict(code=1, folders=json.decode(user_sub_folders.folders))
|
||||
|
||||
|
|
|
@ -47,8 +47,11 @@ NEWSBLUR.Models.Feed = Backbone.Model.extend({
|
|||
delete_feed: function(options) {
|
||||
options = options || {};
|
||||
var view = options.view || this.get_view();
|
||||
|
||||
NEWSBLUR.assets.delete_feed(this.id, view.options.folder_title);
|
||||
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = true;
|
||||
NEWSBLUR.assets.delete_feed(this.id, view.options.folder_title, function() {
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = false;
|
||||
});
|
||||
view.delete_feed();
|
||||
},
|
||||
|
||||
|
@ -58,8 +61,10 @@ NEWSBLUR.Models.Feed = Backbone.Model.extend({
|
|||
var in_folder = view.options.folder_title;
|
||||
|
||||
if (in_folder == to_folder) return false;
|
||||
|
||||
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = true;
|
||||
NEWSBLUR.assets.move_feed_to_folder(this.id, in_folder, to_folder, function() {
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = false;
|
||||
_.delay(function() {
|
||||
NEWSBLUR.reader.$s.$feed_list.css('opacity', 1).animate({'opacity': 0}, {
|
||||
'duration': 100,
|
||||
|
|
|
@ -75,7 +75,9 @@ NEWSBLUR.Models.FeedOrFolder = Backbone.Model.extend({
|
|||
var folder_title = this.get('folder_title');
|
||||
if (in_folder == to_folder) return false;
|
||||
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = true;
|
||||
NEWSBLUR.assets.move_folder_to_folder(folder_title, in_folder, to_folder, function() {
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = false;
|
||||
_.delay(function() {
|
||||
NEWSBLUR.reader.$s.$feed_list.css('opacity', 1).animate({'opacity': 0}, {
|
||||
'duration': 100,
|
||||
|
@ -100,7 +102,11 @@ NEWSBLUR.Models.FeedOrFolder = Backbone.Model.extend({
|
|||
var folder_title = this.get('folder_title');
|
||||
var in_folder = this.collection.options.title;
|
||||
var feed_ids_in_folder = this.feed_ids_in_folder();
|
||||
NEWSBLUR.assets.delete_folder(folder_title, in_folder, feed_ids_in_folder);
|
||||
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = true;
|
||||
NEWSBLUR.assets.delete_folder(folder_title, in_folder, feed_ids_in_folder, function() {
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = false;
|
||||
});
|
||||
this.trigger('delete');
|
||||
},
|
||||
|
||||
|
|
|
@ -1102,7 +1102,7 @@
|
|||
'social_view': false,
|
||||
'select_story_in_feed': null,
|
||||
'global_blurblogs': false,
|
||||
'adding_url': false
|
||||
'reloading_feeds': false
|
||||
});
|
||||
|
||||
$.extend(this.cache, {
|
||||
|
@ -4002,7 +4002,7 @@
|
|||
var feeds = message.replace('refresh:', '').split(",");
|
||||
this.force_feeds_refresh(null, false, feeds);
|
||||
} else if (_.string.startsWith(message, "reload:")) {
|
||||
if (!NEWSBLUR.reader.flags['adding_url']) {
|
||||
if (!NEWSBLUR.reader.flags['reloading_feeds']) {
|
||||
NEWSBLUR.assets.load_feeds();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -217,7 +217,7 @@ NEWSBLUR.ReaderAddFeed = NEWSBLUR.ReaderPopover.extend({
|
|||
$loading.addClass('NB-active');
|
||||
$submit.addClass('NB-disabled').text('Adding...');
|
||||
|
||||
NEWSBLUR.reader.flags['adding_url'] = true;
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = true;
|
||||
this.model.save_add_url(url, folder, $.rescope(this.post_save_add_url, this), $.rescope(this.error, this));
|
||||
},
|
||||
|
||||
|
@ -226,7 +226,7 @@ NEWSBLUR.ReaderAddFeed = NEWSBLUR.ReaderPopover.extend({
|
|||
var $submit = this.$('.NB-add-url-submit');
|
||||
var $loading = this.$('.NB-add-site .NB-loading');
|
||||
$loading.removeClass('NB-active');
|
||||
NEWSBLUR.reader.flags['adding_url'] = false;
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = false;
|
||||
|
||||
if (data.code > 0) {
|
||||
NEWSBLUR.assets.load_feeds(function() {
|
||||
|
@ -253,7 +253,7 @@ NEWSBLUR.ReaderAddFeed = NEWSBLUR.ReaderPopover.extend({
|
|||
$(".NB-error-message", $error).text(data.message || "Oh no, there was a problem grabbing that URL and there's no good explanation for what happened.");
|
||||
$error.slideDown(300);
|
||||
$submit.text('Add Site');
|
||||
NEWSBLUR.reader.flags['adding_url'] = false;
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = false;
|
||||
},
|
||||
|
||||
open_add_folder: function() {
|
||||
|
|
|
@ -432,10 +432,10 @@ NEWSBLUR.ReaderFeedchooser.prototype = {
|
|||
var $submit = $('.NB-modal-submit-save', this.$modal);
|
||||
$submit.addClass('NB-disabled').removeClass('NB-modal-submit-green').val('Saving...');
|
||||
|
||||
NEWSBLUR.reader.flags['adding_url'] = true;
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = true;
|
||||
this.model.save_feed_chooser(approve_list, function() {
|
||||
self.flags['has_saved'] = true;
|
||||
NEWSBLUR.reader.flags['adding_url'] = false;
|
||||
NEWSBLUR.reader.flags['reloading_feeds'] = false;
|
||||
NEWSBLUR.reader.hide_feed_chooser_button();
|
||||
NEWSBLUR.assets.load_feeds();
|
||||
$.modal.close();
|
||||
|
|
Loading…
Add table
Reference in a new issue