diff --git a/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate b/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate index 5abae2f36f786f03254f5e55b143e0e911cfe294..8126b802d7303093725efb4b657c369f709d4938 100644 Binary files a/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate and b/openbis-ipad/Research/BisMac.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate b/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate index 652a92811bd5a0405b306f1dbf06a36ceeee3cd4..f38e9c471086bf925f46b10eb3cfe99d1771f8b3 100644 Binary files a/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate and b/openbis-ipad/openBIS/openBIS.xcodeproj/project.xcworkspace/xcuserdata/cramakri.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.m b/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.m index 14ddfb39820bc2eefda7e6b5f33282d0a3ab7857..3b206eca89205712aa412af0cde73f2f84a0ce59 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.m +++ b/openbis-ipad/openBIS/openBIS/CISDOBDetailViewController.m @@ -42,7 +42,7 @@ { // Ask the server to synchronize the detail object and nofiy me when the complete data is available SuccessBlock success = ^(id result) { [self configureView]; }; - [self.openBisModel syncSelectedObjectOnSuccess: success]; + [self.openBisModel syncSelectedObjectForDetailOnSuccess: success]; } - (void)selectionDidChange diff --git a/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m b/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m index 298ae9096f85edd2185752e687afb3e3d0ad9920..f7199895a96a67f78b30d632dff464140e09fc9b 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m +++ b/openbis-ipad/openBIS/openBIS/CISDOBMasterViewController.m @@ -133,6 +133,8 @@ // Figure out what to do with the detail view and the navigation view self.detailViewController.openBisModel = self.openBisModel; if ([self.openBisModel selectionHasChildren]) { + // Keep ahead of the user and get any data necessary for navigation + [self.openBisModel syncSelectedObjectForNavigationOnSuccess: ^(id result){ }]; // Drill into the hierarchy UIStoryboard *storyboard = self.storyboard; CISDOBMasterViewController *child = [storyboard instantiateViewControllerWithIdentifier: @"Master"]; diff --git a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h index a377d638615e4ce57dceae97298d4a38ffc3c655..7b4e6d5cac288c5fe635c962976c90d2667483e9 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h +++ b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.h @@ -60,8 +60,11 @@ - (BOOL)deleteObjectAtIndexPath:(NSIndexPath *)indexPath error:(NSError **)error; //!< Return YES if operation succeeded // Server Communication -//! Get the selected object from the server and invoke the succes block when the data is here -- (void)syncSelectedObjectOnSuccess:(SuccessBlock)success; +//! Get the full selected object from the server and invoke the success block when the data is here +- (void)syncSelectedObjectForDetailOnSuccess:(SuccessBlock)success; + +//! Get the data from the selected object necessary for navigation from the server and invoke the success block when the data is here +- (void)syncSelectedObjectForNavigationOnSuccess:(SuccessBlock)success; @end diff --git a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m index b55d0cea1de97bf8a27d2da7d2d17d36ed475322..1b323b9834d441387d22d737913af4cb1001e412 100644 --- a/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m +++ b/openbis-ipad/openBIS/openBIS/CISDOBOpenBisModel.m @@ -120,7 +120,7 @@ } #pragma mark - Server Communication -- (void)syncSelectedObjectOnSuccess:(SuccessBlock)success +- (void)syncSelectedObjectForDetailOnSuccess:(SuccessBlock)success { // Load the image if necessary if (_selectedObject.imageUrl && !_selectedObject.image) { @@ -136,6 +136,12 @@ } } +- (void)syncSelectedObjectForNavigationOnSuccess:(SuccessBlock)success +{ + // TODO : Call the server to get the children. + success(_selectedObject); +} + #pragma mark - Fetched results controller - (void)initializeRootFetchedResultsController