diff --git a/media/js/newsblur/common/assetmodel.js b/media/js/newsblur/common/assetmodel.js index 7fa5a24d8..563b11e3f 100644 --- a/media/js/newsblur/common/assetmodel.js +++ b/media/js/newsblur/common/assetmodel.js @@ -1057,6 +1057,8 @@ NEWSBLUR.AssetModel = Backbone.Router.extend({ return this.starred_feeds.get(feed_id); } else if (_.string.startsWith(feed_id, 'search:')) { return this.searches_feeds.get(feed_id); + } else if (_.string.startsWith(feed_id, 'river:')) { + return this.get_folder(feed_id); } else { return this.feeds.get(feed_id); } @@ -1102,6 +1104,9 @@ NEWSBLUR.AssetModel = Backbone.Router.extend({ }, get_folder: function(folder_name) { + if (_.string.startsWith(folder_name, 'river:')) { + folder_name = folder_name.replace('river:', ''); + } return this.folders.find_folder(folder_name.toLowerCase()); }, diff --git a/media/js/newsblur/models/saved_searches.js b/media/js/newsblur/models/saved_searches.js index a633b286a..bcf50b0fa 100644 --- a/media/js/newsblur/models/saved_searches.js +++ b/media/js/newsblur/models/saved_searches.js @@ -2,7 +2,9 @@ NEWSBLUR.Models.SavedSearchFeed = Backbone.Model.extend({ initialize: function() { var feed_title = this.feed_title(); + var favicon_url = this.favicon_url(); this.set('feed_title', "\"" + this.get('query') + "\" on " + feed_title + ""); + this.set('favicon_url', favicon_url); this.views = []; }, @@ -12,8 +14,9 @@ NEWSBLUR.Models.SavedSearchFeed = Backbone.Model.extend({ if (feed_id == 'river:') { feed_title = "All Site Stories"; - } else if (_.isNumber(feed_id) || _.string.startsWith(feed_id, 'river:')) { - feed_title = NEWSBLUR.assets.get_feed(this.get('feed_id')).get('feed_title'); + } else if (_.string.startsWith(feed_id, 'river:')) { + console.log(['river feed?', feed_id, NEWSBLUR.assets.get_feed(feed_id)]); + feed_title = NEWSBLUR.assets.get_feed(feed_id).get('folder_title'); } else if (feed_id == "read") { feed_title = "Read Stories"; } else if (_.string.startsWith(feed_id, 'starred:')) { @@ -26,6 +29,10 @@ NEWSBLUR.Models.SavedSearchFeed = Backbone.Model.extend({ if (model) { feed_title = feed_title + " - " + model.get('tag'); } + } else if (_.string.startsWith(feed_id, 'feed:')){ + feed_title = NEWSBLUR.assets.get_feed(parseInt(this.get('feed_id').replace('feed:', ''), 10)).get('feed_title'); + } else if (_.string.startsWith(feed_id, 'social:')){ + feed_title = NEWSBLUR.assets.get_feed(this.get('feed_id')).get('feed_title'); } return feed_title; @@ -40,6 +47,31 @@ NEWSBLUR.Models.SavedSearchFeed = Backbone.Model.extend({ } }, + favicon_url: function() { + var url; + var feed_id = this.get('feed_id'); + + if (feed_id == 'river:') { + url = NEWSBLUR.Globals.MEDIA_URL + 'img/icons/circular/ak-icon-allstories.png'; + } else if (_.string.startsWith(feed_id, 'river:')) { + url = NEWSBLUR.Globals.MEDIA_URL + 'img/icons/circular/g_icn_folder.png'; + } else if (feed_id == "read") { + url = NEWSBLUR.Globals.MEDIA_URL + 'img/icons/circular/g_icn_unread.png'; + } else if (_.string.startsWith(feed_id, 'starred:')) { + url = NEWSBLUR.Globals.MEDIA_URL + 'img/reader/tag.png'; + } else if (_.string.startsWith(feed_id, 'feed:')) { + url = $.favicon(parseInt(feed_id.replace('feed:', ''), 10)); + } else if (_.string.startsWith(feed_id, 'social:')) { + url = $.favicon(NEWSBLUR.assets.get_feed(feed_id)); + } + + if (!url) { + url = NEWSBLUR.Globals.MEDIA_URL + 'img/icons/circular/g_icn_search_black.png'; + } + + return url; + }, + is_social: function() { return false; }, diff --git a/media/js/newsblur/reader/reader.js b/media/js/newsblur/reader/reader.js index d0b341990..5ba21355b 100644 --- a/media/js/newsblur/reader/reader.js +++ b/media/js/newsblur/reader/reader.js @@ -1327,6 +1327,7 @@ this.model.feeds.deselect(); this.model.stories.deselect(); this.model.starred_feeds.deselect(); + this.model.searches_feeds.deselect(); if (_.string.contains(this.active_feed, 'social:')) { this.model.social_feeds.deselect(); } @@ -4666,7 +4667,7 @@ if (_.contains(['starred', 'read'], feed_id)) { // Umm, no. Not yet. - } else if (feed) { + } else if (feed && feed.unread_counts) { return feed.unread_counts(); } else if (this.flags['river_view'] && !this.flags['social_view']) { var collection; diff --git a/media/js/newsblur/views/feed_search_header.js b/media/js/newsblur/views/feed_search_header.js index 0121d5016..1c39452e7 100644 --- a/media/js/newsblur/views/feed_search_header.js +++ b/media/js/newsblur/views/feed_search_header.js @@ -53,9 +53,13 @@ NEWSBLUR.Views.FeedSearchHeader = Backbone.View.extend({ // ========== save_search: function(e) { - NEWSBLUR.assets.save_search(NEWSBLUR.reader.active_feed, NEWSBLUR.reader.flags.search, function(e) { + var feed_id = NEWSBLUR.reader.active_feed; + if (_.isNumber(feed_id)) { + feed_id = "feed:" + feed_id; + } + NEWSBLUR.assets.save_search(feed_id, NEWSBLUR.reader.flags.search, function(e) { console.log(['Saved searches', e]); - }) + }); } }); \ No newline at end of file