react-native-navigation 7.25.0 → 7.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ios/RNNBridgeManager.mm +5 -3
- package/lib/ios/RNNModalHostViewManagerHandler.h +11 -0
- package/lib/ios/RNNModalHostViewManagerHandler.m +40 -0
- package/lib/ios/RNNModalManager.h +2 -2
- package/lib/ios/RNNModalManager.m +0 -26
- package/lib/ios/ReactNativeNavigation.xcodeproj/project.pbxproj +8 -0
- package/package.json +1 -1
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
#import "RNNComponentViewCreator.h"
|
|
5
5
|
#import "RNNEventEmitter.h"
|
|
6
6
|
#import "RNNLayoutManager.h"
|
|
7
|
+
#import "RNNModalHostViewManagerHandler.h"
|
|
7
8
|
#import "RNNReactComponentRegistry.h"
|
|
8
9
|
#import "RNNReactRootViewCreator.h"
|
|
9
10
|
#import "RNNSplashScreen.h"
|
|
10
11
|
#import <React/RCTBridge.h>
|
|
11
|
-
#import <React/RCTModalHostViewManager.h>
|
|
12
12
|
#import <React/RCTUIManager.h>
|
|
13
13
|
|
|
14
14
|
@interface RNNBridgeManager ()
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
@property(nonatomic, strong, readonly) RNNLayoutManager *layoutManager;
|
|
20
20
|
@property(nonatomic, strong, readonly) RNNOverlayManager *overlayManager;
|
|
21
21
|
@property(nonatomic, strong, readonly) RNNModalManager *modalManager;
|
|
22
|
+
@property(nonatomic, strong, readonly) RNNModalHostViewManagerHandler *modalHostViewHandler;
|
|
22
23
|
|
|
23
24
|
@end
|
|
24
25
|
|
|
@@ -66,7 +67,8 @@
|
|
|
66
67
|
[[RNNModalManagerEventHandler alloc] initWithEventEmitter:eventEmitter];
|
|
67
68
|
_modalManager = [[RNNModalManager alloc] initWithBridge:bridge
|
|
68
69
|
eventHandler:modalManagerEventHandler];
|
|
69
|
-
|
|
70
|
+
_modalHostViewHandler =
|
|
71
|
+
[[RNNModalHostViewManagerHandler alloc] initWithModalManager:_modalManager];
|
|
70
72
|
_layoutManager = [[RNNLayoutManager alloc] init];
|
|
71
73
|
|
|
72
74
|
id<RNNComponentViewCreator> rootViewCreator =
|
|
@@ -105,7 +107,7 @@
|
|
|
105
107
|
|
|
106
108
|
- (void)onJavaScriptLoaded {
|
|
107
109
|
[_commandsHandler setReadyToReceiveCommands:true];
|
|
108
|
-
[
|
|
110
|
+
[_modalHostViewHandler
|
|
109
111
|
connectModalHostViewManager:[self.bridge moduleForClass:RCTModalHostViewManager.class]];
|
|
110
112
|
[[_bridge moduleForClass:[RNNEventEmitter class]] sendOnAppLaunched];
|
|
111
113
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#import "RNNModalManager.h"
|
|
2
|
+
#import <Foundation/Foundation.h>
|
|
3
|
+
#import <React/RCTModalHostViewManager.h>
|
|
4
|
+
|
|
5
|
+
@interface RNNModalHostViewManagerHandler : NSObject
|
|
6
|
+
|
|
7
|
+
- (instancetype)initWithModalManager:(RNNModalManager *)modalManager;
|
|
8
|
+
|
|
9
|
+
- (void)connectModalHostViewManager:(RCTModalHostViewManager *)modalHostViewManager;
|
|
10
|
+
|
|
11
|
+
@end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#import "RNNModalHostViewManagerHandler.h"
|
|
2
|
+
|
|
3
|
+
@implementation RNNModalHostViewManagerHandler {
|
|
4
|
+
RNNModalManager *_modalManager;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
- (instancetype)initWithModalManager:(RNNModalManager *)modalManager {
|
|
8
|
+
self = [super init];
|
|
9
|
+
_modalManager = modalManager;
|
|
10
|
+
return self;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
- (void)connectModalHostViewManager:(RCTModalHostViewManager *)modalHostViewManager {
|
|
14
|
+
modalHostViewManager.presentationBlock =
|
|
15
|
+
^(UIViewController *reactViewController, UIViewController *viewController, BOOL animated,
|
|
16
|
+
dispatch_block_t completionBlock) {
|
|
17
|
+
if (reactViewController.presentedViewController != viewController &&
|
|
18
|
+
[self->_modalManager topPresentedVC] != viewController) {
|
|
19
|
+
[self->_modalManager showModal:viewController
|
|
20
|
+
animated:animated
|
|
21
|
+
completion:^(NSString *_Nonnull componentId) {
|
|
22
|
+
if (completionBlock)
|
|
23
|
+
completionBlock();
|
|
24
|
+
}];
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
modalHostViewManager.dismissalBlock =
|
|
29
|
+
^(UIViewController *reactViewController, UIViewController *viewController, BOOL animated,
|
|
30
|
+
dispatch_block_t completionBlock) {
|
|
31
|
+
[self->_modalManager dismissModal:viewController
|
|
32
|
+
animated:animated
|
|
33
|
+
completion:^{
|
|
34
|
+
if (completionBlock)
|
|
35
|
+
completionBlock();
|
|
36
|
+
}];
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#import "RNNModalManagerEventHandler.h"
|
|
2
2
|
#import <Foundation/Foundation.h>
|
|
3
3
|
#import <React/RCTBridge.h>
|
|
4
|
-
#import <React/RCTModalHostViewManager.h>
|
|
5
4
|
#import <UIKit/UIKit.h>
|
|
6
5
|
|
|
7
6
|
typedef void (^RNNTransitionCompletionBlock)(void);
|
|
@@ -13,7 +12,6 @@ typedef void (^RNNTransitionRejectionBlock)(NSString *_Nonnull code, NSString *_
|
|
|
13
12
|
|
|
14
13
|
- (instancetype _Nonnull)initWithBridge:(RCTBridge *_Nonnull)bridge
|
|
15
14
|
eventHandler:(RNNModalManagerEventHandler *_Nonnull)eventHandler;
|
|
16
|
-
- (void)connectModalHostViewManager:(RCTModalHostViewManager *_Nonnull)modalHostViewManager;
|
|
17
15
|
|
|
18
16
|
- (void)showModal:(UIViewController *_Nonnull)viewController
|
|
19
17
|
animated:(BOOL)animated
|
|
@@ -25,4 +23,6 @@ typedef void (^RNNTransitionRejectionBlock)(NSString *_Nonnull code, NSString *_
|
|
|
25
23
|
|
|
26
24
|
- (void)reset;
|
|
27
25
|
|
|
26
|
+
- (UIViewController *)topPresentedVC;
|
|
27
|
+
|
|
28
28
|
@end
|
|
@@ -32,32 +32,6 @@
|
|
|
32
32
|
return self;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
- (void)connectModalHostViewManager:(RCTModalHostViewManager *)modalHostViewManager {
|
|
36
|
-
modalHostViewManager.presentationBlock =
|
|
37
|
-
^(UIViewController *reactViewController, UIViewController *viewController, BOOL animated,
|
|
38
|
-
dispatch_block_t completionBlock) {
|
|
39
|
-
if (reactViewController.presentedViewController != viewController) {
|
|
40
|
-
[self showModal:viewController
|
|
41
|
-
animated:animated
|
|
42
|
-
completion:^(NSString *_Nonnull componentId) {
|
|
43
|
-
if (completionBlock)
|
|
44
|
-
completionBlock();
|
|
45
|
-
}];
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
modalHostViewManager.dismissalBlock =
|
|
50
|
-
^(UIViewController *reactViewController, UIViewController *viewController, BOOL animated,
|
|
51
|
-
dispatch_block_t completionBlock) {
|
|
52
|
-
[self dismissModal:viewController
|
|
53
|
-
animated:animated
|
|
54
|
-
completion:^{
|
|
55
|
-
if (completionBlock)
|
|
56
|
-
completionBlock();
|
|
57
|
-
}];
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
35
|
- (void)showModal:(UIViewController<RNNLayoutProtocol> *)viewController
|
|
62
36
|
animated:(BOOL)animated
|
|
63
37
|
completion:(RNNTransitionWithComponentIdCompletionBlock)completion {
|
|
@@ -51,6 +51,8 @@
|
|
|
51
51
|
4534E72620CB6724009F8185 /* RNNLargeTitleOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4534E72420CB6724009F8185 /* RNNLargeTitleOptions.m */; };
|
|
52
52
|
500623A525B7003A0086AB39 /* RNNShadowOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 500623A325B7003A0086AB39 /* RNNShadowOptions.h */; };
|
|
53
53
|
500623A625B7003A0086AB39 /* RNNShadowOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 500623A425B7003A0086AB39 /* RNNShadowOptions.m */; };
|
|
54
|
+
5006E12C27974B8900D106A6 /* RNNModalHostViewManagerHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5006E12A27974B8900D106A6 /* RNNModalHostViewManagerHandler.h */; };
|
|
55
|
+
5006E12D27974B8900D106A6 /* RNNModalHostViewManagerHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 5006E12B27974B8900D106A6 /* RNNModalHostViewManagerHandler.m */; };
|
|
54
56
|
5008641223856A2D00A55BE9 /* UITabBar+utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 5008641023856A2C00A55BE9 /* UITabBar+utils.m */; };
|
|
55
57
|
501214C9217741A000435148 /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 501214C8217741A000435148 /* libOCMock.a */; };
|
|
56
58
|
501223D72173590F000F5F98 /* RNNStackPresenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 501223D52173590F000F5F98 /* RNNStackPresenter.h */; };
|
|
@@ -580,6 +582,8 @@
|
|
|
580
582
|
4534E72420CB6724009F8185 /* RNNLargeTitleOptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNNLargeTitleOptions.m; sourceTree = "<group>"; };
|
|
581
583
|
500623A325B7003A0086AB39 /* RNNShadowOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNShadowOptions.h; sourceTree = "<group>"; };
|
|
582
584
|
500623A425B7003A0086AB39 /* RNNShadowOptions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNShadowOptions.m; sourceTree = "<group>"; };
|
|
585
|
+
5006E12A27974B8900D106A6 /* RNNModalHostViewManagerHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNNModalHostViewManagerHandler.h; sourceTree = "<group>"; };
|
|
586
|
+
5006E12B27974B8900D106A6 /* RNNModalHostViewManagerHandler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNNModalHostViewManagerHandler.m; sourceTree = "<group>"; };
|
|
583
587
|
5008641023856A2C00A55BE9 /* UITabBar+utils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UITabBar+utils.m"; sourceTree = "<group>"; };
|
|
584
588
|
5008641123856A2D00A55BE9 /* UITabBar+utils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UITabBar+utils.h"; sourceTree = "<group>"; };
|
|
585
589
|
501214C8217741A000435148 /* libOCMock.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libOCMock.a; sourceTree = "<group>"; };
|
|
@@ -1092,6 +1096,8 @@
|
|
|
1092
1096
|
390AD476200F499D00A8250D /* RNNSwizzles.m */,
|
|
1093
1097
|
506A2B1220973DFD00F43A95 /* RNNErrorHandler.h */,
|
|
1094
1098
|
506A2B1320973DFD00F43A95 /* RNNErrorHandler.m */,
|
|
1099
|
+
5006E12A27974B8900D106A6 /* RNNModalHostViewManagerHandler.h */,
|
|
1100
|
+
5006E12B27974B8900D106A6 /* RNNModalHostViewManagerHandler.m */,
|
|
1095
1101
|
50644A1E20E11A720026709C /* Constants.h */,
|
|
1096
1102
|
50644A1F20E11A720026709C /* Constants.m */,
|
|
1097
1103
|
50706E6B20CE7CA5003345C3 /* UIImage+utils.h */,
|
|
@@ -1818,6 +1824,7 @@
|
|
|
1818
1824
|
files = (
|
|
1819
1825
|
506BF6622600AE7600A22755 /* BoundsTransition.h in Headers */,
|
|
1820
1826
|
91CB34C9250ED50C000C132B /* RNNSearchBarOptions.h in Headers */,
|
|
1827
|
+
5006E12C27974B8900D106A6 /* RNNModalHostViewManagerHandler.h in Headers */,
|
|
1821
1828
|
5060DE73219DAD7E00D0C052 /* ReactNativeNavigation.h in Headers */,
|
|
1822
1829
|
506BF7CE26067B0500A22755 /* AnimatedUIImageView.h in Headers */,
|
|
1823
1830
|
5022EDBD2405237100852BA6 /* BottomTabPresenterCreator.h in Headers */,
|
|
@@ -2337,6 +2344,7 @@
|
|
|
2337
2344
|
5017D9EF239D2FAF00B74047 /* BottomTabsAfterInitialTabAttacher.m in Sources */,
|
|
2338
2345
|
5008641223856A2D00A55BE9 /* UITabBar+utils.m in Sources */,
|
|
2339
2346
|
9FDA2ABE24F2A42C005678CC /* RCTConvert+UIFontWeight.m in Sources */,
|
|
2347
|
+
5006E12D27974B8900D106A6 /* RNNModalHostViewManagerHandler.m in Sources */,
|
|
2340
2348
|
9FDA2AC024F2A43B005678CC /* RCTConvert+SideMenuOpenGestureMode.m in Sources */,
|
|
2341
2349
|
50BCB27223F1650800D6C8E5 /* SharedElementTransition.m in Sources */,
|
|
2342
2350
|
E5F6C3A822DB4D0F0093C2CE /* UIView+Utils.m in Sources */,
|