Skip to content

Commit

Permalink
Add overlay.handleKeyboardEvents options (#5002)
Browse files Browse the repository at this point in the history
  • Loading branch information
yogevbd authored Apr 18, 2019
1 parent 189f559 commit e9ca247
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 1 deletion.
7 changes: 6 additions & 1 deletion lib/ios/RNNCommandsHandler.m
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,12 @@ - (void)showOverlay:(NSDictionary *)layout commandId:(NSString*)commandId comple
[overlayVC renderTreeAndWait:NO perform:^{
UIWindow* overlayWindow = [[RNNOverlayWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
overlayWindow.rootViewController = overlayVC;
[_overlayManager showOverlayWindow:overlayWindow];
if ([overlayVC.resolveOptions.overlay.handleKeyboardEvents getWithDefaultValue:NO]) {
[_overlayManager showOverlayWindowAsKeyWindow:overlayWindow];
} else {
[_overlayManager showOverlayWindow:overlayWindow];
}

[_eventEmitter sendOnNavigationCommandCompletion:showOverlay commandId:commandId params:@{@"layout": layout}];
completion();
}];
Expand Down
1 change: 1 addition & 0 deletions lib/ios/RNNOverlayManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
@interface RNNOverlayManager : NSObject

- (void)showOverlayWindow:(UIWindow*)viewController;
- (void)showOverlayWindowAsKeyWindow:(UIWindow *)overlayWindow;
- (void)dismissOverlay:(UIViewController*)viewController;

@property (nonatomic, retain) NSMutableArray* overlayWindows;
Expand Down
5 changes: 5 additions & 0 deletions lib/ios/RNNOverlayManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ - (void)showOverlayWindow:(RNNOverlayWindow *)overlayWindow {
[overlayWindow setHidden: NO];
}

- (void)showOverlayWindowAsKeyWindow:(RNNOverlayWindow *)overlayWindow {
[self showOverlayWindow:overlayWindow];
[overlayWindow makeKeyWindow];
}

- (void)dismissOverlay:(UIViewController*)viewController {
RNNOverlayWindow* overlayWindow = [self findWindowByRootViewController:viewController];
[overlayWindow.previousWindow makeKeyWindow];
Expand Down
1 change: 1 addition & 0 deletions lib/ios/RNNOverlayOptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
@interface RNNOverlayOptions : RNNOptions

@property (nonatomic, strong) Bool* interceptTouchOutside;
@property (nonatomic, strong) Bool* handleKeyboardEvents;

@end
1 change: 1 addition & 0 deletions lib/ios/RNNOverlayOptions.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ - (instancetype)initWithDict:(NSDictionary *)dict {
self = [super init];

self.interceptTouchOutside = [BoolParser parse:dict key:@"interceptTouchOutside"];
self.handleKeyboardEvents = [BoolParser parse:dict key:@"handleKeyboardEvents"];

return self;
}
Expand Down

0 comments on commit e9ca247

Please sign in to comment.