mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Transfering dashboard stories over to feed detail, but can't handle multiple loads.
This commit is contained in:
parent
d4b4a11ace
commit
30d1f3a486
5 changed files with 86 additions and 70 deletions
|
@ -81,7 +81,8 @@
|
|||
[super viewDidLoad];
|
||||
|
||||
self.appDelegate = (NewsBlurAppDelegate *)[[UIApplication sharedApplication] delegate];
|
||||
|
||||
self.storiesCollection = appDelegate.storiesCollection;
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(preferredContentSizeChanged:)
|
||||
name:UIContentSizeCategoryDidChangeNotification
|
||||
|
@ -118,8 +119,6 @@
|
|||
|
||||
self.notifier = [[NBNotifier alloc] initWithTitle:@"Fetching stories..." inView:self.view];
|
||||
[self.view addSubview:self.notifier];
|
||||
|
||||
storiesCollection = appDelegate.storiesCollection;
|
||||
}
|
||||
|
||||
- (void)preferredContentSizeChanged:(NSNotification *)aNotification {
|
||||
|
@ -735,6 +734,7 @@
|
|||
error:&error];
|
||||
id feedId = [results objectForKey:@"feed_id"];
|
||||
NSString *feedIdStr = [NSString stringWithFormat:@"%@",feedId];
|
||||
NSLog(@"Finished loading feed: %@", [[[results objectForKey:@"stories"] objectAtIndex:0] objectForKey:@"story_title"]);
|
||||
|
||||
if (!(storiesCollection.isRiverView ||
|
||||
storiesCollection.isSocialView ||
|
||||
|
@ -907,7 +907,9 @@
|
|||
NSInteger locationOfStoryId = [storiesCollection locationOfStoryId:storyHashStr];
|
||||
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:locationOfStoryId inSection:0];
|
||||
|
||||
[self.storyTitlesTable selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];
|
||||
[self.storyTitlesTable selectRowAtIndexPath:indexPath
|
||||
animated:YES
|
||||
scrollPosition:UITableViewScrollPositionMiddle];
|
||||
|
||||
FeedDetailTableCell *cell = (FeedDetailTableCell *)[self.storyTitlesTable cellForRowAtIndexPath:indexPath];
|
||||
[self loadStory:cell atRow:indexPath.row];
|
||||
|
@ -1135,7 +1137,7 @@
|
|||
if (self.isDashboardModule) {
|
||||
NSInteger storyIndex = [storiesCollection indexFromLocation:indexPath.row];
|
||||
NSDictionary *activeStory = [[storiesCollection activeFeedStories] objectAtIndex:storyIndex];
|
||||
[appDelegate loadRiverDetailViewWithStory:[activeStory objectForKey:@"story_hash"] showFindingStory:NO];
|
||||
[appDelegate openDashboardRiverForStory:[activeStory objectForKey:@"story_hash"] showFindingStory:NO];
|
||||
} else {
|
||||
FeedDetailTableCell *cell = (FeedDetailTableCell*) [tableView cellForRowAtIndexPath:indexPath];
|
||||
[self loadStory:cell atRow:indexPath.row];
|
||||
|
|
|
@ -261,8 +261,8 @@
|
|||
- (void)loadTryFeedDetailView:(NSString *)feedId withStory:(NSString *)contentId isSocial:(BOOL)social withUser:(NSDictionary *)user showFindingStory:(BOOL)showHUD;
|
||||
- (void)loadStarredDetailViewWithStory:(NSString *)contentId showFindingStory:(BOOL)showHUD;
|
||||
- (void)loadRiverFeedDetailView:(FeedDetailViewController *)feedDetailView withFolder:(NSString *)folder;
|
||||
- (void)loadRiverDetailViewWithStory:(NSString *)contentId
|
||||
showFindingStory:(BOOL)showHUD;
|
||||
- (void)openDashboardRiverForStory:(NSString *)contentId
|
||||
showFindingStory:(BOOL)showHUD;
|
||||
|
||||
- (void)loadStoryDetailView;
|
||||
- (void)adjustStoryDetailWebView;
|
||||
|
|
|
@ -1035,71 +1035,85 @@
|
|||
- (void)loadRiverFeedDetailView:(FeedDetailViewController *)feedDetailView withFolder:(NSString *)folder {
|
||||
self.readStories = [NSMutableArray array];
|
||||
NSMutableArray *feeds = [NSMutableArray array];
|
||||
|
||||
[feedDetailView.storiesCollection setStories:nil];
|
||||
[feedDetailView.storiesCollection setFeedUserProfiles:nil];
|
||||
[feedDetailView view]; // force viewDidLoad
|
||||
self.inFeedDetail = YES;
|
||||
BOOL transferFromDashboard = [folder isEqualToString:@"river_dashboard"];
|
||||
|
||||
[feedDetailView resetFeedDetail];
|
||||
// [feedDetailView view]; // force viewDidLoad
|
||||
self.inFeedDetail = YES;
|
||||
|
||||
if ([folder isEqualToString:@"river_global"]) {
|
||||
feedDetailView.storiesCollection.isSocialRiverView = YES;
|
||||
if (transferFromDashboard) {
|
||||
StoriesCollection *dashboardCollection = dashboardViewController.storiesModule.storiesCollection;
|
||||
[feedDetailView resetFeedDetail];
|
||||
[feedDetailView.storiesCollection setStories:dashboardCollection.activeFeedStories];
|
||||
[feedDetailView.storiesCollection setFeedUserProfiles:dashboardCollection.activeFeedUserProfiles];
|
||||
feedDetailView.feedPage = dashboardViewController.storiesModule.feedPage + 1;
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
[feedDetailView.storiesCollection setActiveFolder:@"river_global"];
|
||||
} else if ([folder isEqualToString:@"river_blurblogs"]) {
|
||||
feedDetailView.storiesCollection.isSocialRiverView = YES;
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
// add all the feeds from every NON blurblog folder
|
||||
[feedDetailView.storiesCollection setActiveFolder:@"river_blurblogs"];
|
||||
for (NSString *folderName in self.feedsViewController.activeFeedLocations) {
|
||||
if ([folderName isEqualToString:@"river_blurblogs"]) { // remove all blurblugs which is a blank folder name
|
||||
NSArray *originalFolder = [self.dictFolders objectForKey:folderName];
|
||||
NSArray *folderFeeds = [self.feedsViewController.activeFeedLocations objectForKey:folderName];
|
||||
for (int l=0; l < [folderFeeds count]; l++) {
|
||||
[feeds addObject:[originalFolder objectAtIndex:[[folderFeeds objectAtIndex:l] intValue]]];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ([folder isEqualToString:@"everything"]) {
|
||||
feedDetailView.storiesCollection.isSocialRiverView = NO;
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
// add all the feeds from every NON blurblog folder
|
||||
feedDetailView.storiesCollection.isSocialView = NO;
|
||||
[feedDetailView.storiesCollection setActiveFolder:@"everything"];
|
||||
for (NSString *folderName in self.feedsViewController.activeFeedLocations) {
|
||||
if (![folderName isEqualToString:@"river_blurblogs"]) {
|
||||
NSArray *originalFolder = [self.dictFolders objectForKey:folderName];
|
||||
NSArray *folderFeeds = [self.feedsViewController.activeFeedLocations objectForKey:folderName];
|
||||
for (int l=0; l < [folderFeeds count]; l++) {
|
||||
[feeds addObject:[originalFolder objectAtIndex:[[folderFeeds objectAtIndex:l] intValue]]];
|
||||
feedDetailView.storiesCollection.activeFolderFeeds = dashboardCollection.activeFolderFeeds;
|
||||
} else {
|
||||
[feedDetailView.storiesCollection setStories:nil];
|
||||
[feedDetailView.storiesCollection setFeedUserProfiles:nil];
|
||||
[feedDetailView resetFeedDetail];
|
||||
|
||||
if ([folder isEqualToString:@"river_global"]) {
|
||||
feedDetailView.storiesCollection.isSocialRiverView = YES;
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
[feedDetailView.storiesCollection setActiveFolder:@"river_global"];
|
||||
} else if ([folder isEqualToString:@"river_blurblogs"]) {
|
||||
feedDetailView.storiesCollection.isSocialRiverView = YES;
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
// add all the feeds from every NON blurblog folder
|
||||
[feedDetailView.storiesCollection setActiveFolder:@"river_blurblogs"];
|
||||
for (NSString *folderName in self.feedsViewController.activeFeedLocations) {
|
||||
if ([folderName isEqualToString:@"river_blurblogs"]) { // remove all blurblugs which is a blank folder name
|
||||
NSArray *originalFolder = [self.dictFolders objectForKey:folderName];
|
||||
NSArray *folderFeeds = [self.feedsViewController.activeFeedLocations objectForKey:folderName];
|
||||
for (int l=0; l < [folderFeeds count]; l++) {
|
||||
[feeds addObject:[originalFolder objectAtIndex:[[folderFeeds objectAtIndex:l] intValue]]];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ([folder isEqualToString:@"everything"]) {
|
||||
feedDetailView.storiesCollection.isSocialRiverView = NO;
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
// add all the feeds from every NON blurblog folder
|
||||
[feedDetailView.storiesCollection setActiveFolder:@"everything"];
|
||||
for (NSString *folderName in self.feedsViewController.activeFeedLocations) {
|
||||
if (![folderName isEqualToString:@"river_blurblogs"]) {
|
||||
NSArray *originalFolder = [self.dictFolders objectForKey:folderName];
|
||||
NSArray *folderFeeds = [self.feedsViewController.activeFeedLocations objectForKey:folderName];
|
||||
for (int l=0; l < [folderFeeds count]; l++) {
|
||||
[feeds addObject:[originalFolder objectAtIndex:[[folderFeeds objectAtIndex:l] intValue]]];
|
||||
}
|
||||
}
|
||||
}
|
||||
[self.folderCountCache removeAllObjects];
|
||||
} else if ([folder isEqualToString:@"saved_stories"]) {
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
feedDetailView.storiesCollection.isSocialRiverView = NO;
|
||||
[feedDetailView.storiesCollection setActiveFolder:folder];
|
||||
} else {
|
||||
feedDetailView.storiesCollection.isSocialRiverView = NO;
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
NSString *folderName = [self.dictFoldersArray objectAtIndex:[folder intValue]];
|
||||
|
||||
[feedDetailView.storiesCollection setActiveFolder:folderName];
|
||||
NSArray *originalFolder = [self.dictFolders objectForKey:folderName];
|
||||
NSArray *activeFeedLocations = [self.feedsViewController.activeFeedLocations objectForKey:folderName];
|
||||
for (int l=0; l < [activeFeedLocations count]; l++) {
|
||||
[feeds addObject:[originalFolder objectAtIndex:[[activeFeedLocations objectAtIndex:l] intValue]]];
|
||||
}
|
||||
|
||||
}
|
||||
[self.folderCountCache removeAllObjects];
|
||||
} else if ([folder isEqualToString:@"saved_stories"]) {
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
feedDetailView.storiesCollection.isSocialRiverView = NO;
|
||||
[feedDetailView.storiesCollection setActiveFolder:folder];
|
||||
} else {
|
||||
feedDetailView.storiesCollection.isSocialRiverView = NO;
|
||||
feedDetailView.storiesCollection.isRiverView = YES;
|
||||
NSString *folderName = [self.dictFoldersArray objectAtIndex:[folder intValue]];
|
||||
|
||||
[feedDetailView.storiesCollection setActiveFolder:folderName];
|
||||
NSArray *originalFolder = [self.dictFolders objectForKey:folderName];
|
||||
NSArray *activeFeedLocations = [self.feedsViewController.activeFeedLocations objectForKey:folderName];
|
||||
for (int l=0; l < [activeFeedLocations count]; l++) {
|
||||
[feeds addObject:[originalFolder objectAtIndex:[[activeFeedLocations objectAtIndex:l] intValue]]];
|
||||
}
|
||||
|
||||
}
|
||||
feedDetailView.storiesCollection.activeFolderFeeds = feeds;
|
||||
if (!self.feedsViewController.viewShowingAllFeeds) {
|
||||
for (id feedId in feeds) {
|
||||
NSString *feedIdStr = [NSString stringWithFormat:@"%@", feedId];
|
||||
[self.feedsViewController.stillVisibleFeeds setObject:[NSNumber numberWithBool:YES] forKey:feedIdStr];
|
||||
feedDetailView.storiesCollection.activeFolderFeeds = feeds;
|
||||
if (!self.feedsViewController.viewShowingAllFeeds) {
|
||||
for (id feedId in feeds) {
|
||||
NSString *feedIdStr = [NSString stringWithFormat:@"%@", feedId];
|
||||
[self.feedsViewController.stillVisibleFeeds setObject:[NSNumber numberWithBool:YES] forKey:feedIdStr];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (feedDetailView.storiesCollection.activeFolder) {
|
||||
[self.folderCountCache removeObjectForKey:feedDetailView.storiesCollection.activeFolder];
|
||||
}
|
||||
|
@ -1123,8 +1137,8 @@
|
|||
}
|
||||
}
|
||||
|
||||
- (void)loadRiverDetailViewWithStory:(NSString *)contentId
|
||||
showFindingStory:(BOOL)showHUD {
|
||||
- (void)openDashboardRiverForStory:(NSString *)contentId
|
||||
showFindingStory:(BOOL)showHUD {
|
||||
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
|
||||
[self.navigationController popToRootViewControllerAnimated:NO];
|
||||
[self.navigationController dismissViewControllerAnimated:YES completion:nil];
|
||||
|
@ -1142,7 +1156,7 @@
|
|||
storiesCollection.activeFeed = nil;
|
||||
storiesCollection.activeFolder = @"everything";
|
||||
|
||||
[self loadRiverFeedDetailView:feedDetailViewController withFolder:@"everything"];
|
||||
[self loadRiverFeedDetailView:feedDetailViewController withFolder:@"river_dashboard"];
|
||||
|
||||
if (showHUD) {
|
||||
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#import <SystemConfiguration/SystemConfiguration.h>
|
||||
#import <MobileCoreServices/MobileCoreServices.h>
|
||||
|
||||
//#define DEBUG 1
|
||||
#define DEBUG 1
|
||||
//#define PROD_DEBUG 1
|
||||
|
||||
#ifdef DEBUG
|
||||
|
|
|
@ -105,7 +105,6 @@ MIDDLEWARE_CLASSES = (
|
|||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'apps.profile.middleware.TimingMiddleware',
|
||||
'apps.profile.middleware.LastSeenMiddleware',
|
||||
'apps.profile.middleware.SQLLogToConsoleMiddleware',
|
||||
'apps.profile.middleware.UserAgentBanMiddleware',
|
||||
'subdomains.middleware.SubdomainMiddleware',
|
||||
'apps.profile.middleware.SimpsonsMiddleware',
|
||||
|
@ -623,8 +622,9 @@ REDIS_STORY_HASH_TEMP_POOL = redis.ConnectionPool(host=REDIS['host'], port=6379,
|
|||
JAMMIT = jammit.JammitAssets(NEWSBLUR_DIR)
|
||||
|
||||
if DEBUG:
|
||||
MIDDLEWARE_CLASSES += ('utils.mongo_raw_log_middleware.MongoDumpMiddleware',)
|
||||
MIDDLEWARE_CLASSES += ('utils.redis_raw_log_middleware.RedisDumpMiddleware',)
|
||||
# MIDDLEWARE_CLASSES += ('apps.profile.middleware.SQLLogToConsoleMiddleware',)
|
||||
# MIDDLEWARE_CLASSES += ('utils.mongo_raw_log_middleware.MongoDumpMiddleware',)
|
||||
# MIDDLEWARE_CLASSES += ('utils.redis_raw_log_middleware.RedisDumpMiddleware',)
|
||||
MIDDLEWARE_CLASSES += ('utils.request_introspection_middleware.DumpRequestMiddleware',)
|
||||
MIDDLEWARE_CLASSES += ('utils.exception_middleware.ConsoleExceptionMiddleware',)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue