Added event for url redirect

This commit is contained in:
Ruoyu Fu
2018-10-02 14:31:30 +08:00
parent d828e7911b
commit 5b01e87dd8
2 changed files with 13 additions and 1 deletions

View File

@@ -34,6 +34,8 @@ export default {
addEventListener(event, listener) {
if (event === 'onShow') {
return eventEmitter.addListener('SafariViewOnShow', listener);
} else if (event === 'onRedirect') {
return eventEmitter.addListener('SafariViewOnRedirect', listener);
} else if (event === 'onDismiss') {
return eventEmitter.addListener('SafariViewOnDismiss', listener);
} else {
@@ -47,6 +49,8 @@ export default {
removeEventListener(event, listener) {
if (event === 'onShow') {
eventEmitter.removeListener('SafariViewOnShow', listener);
} else if (event === 'onRedirect') {
eventEmitter.removeListener('SafariViewOnRedirect', listener);
} else if (event === 'onDismiss') {
eventEmitter.removeListener('SafariViewOnDismiss', listener);
}

View File

@@ -29,7 +29,7 @@ RCT_EXPORT_MODULE()
- (NSArray<NSString *> *)supportedEvents
{
return @[@"SafariViewOnShow", @"SafariViewOnDismiss"];
return @[@"SafariViewOnShow", @"SafariViewOnDismiss", @"SafariViewOnRedirect"];
}
RCT_EXPORT_METHOD(show:(NSDictionary *)args resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
@@ -109,4 +109,12 @@ RCT_EXPORT_METHOD(dismiss)
[self sendEventWithName:@"SafariViewOnDismiss" body:nil];
}
}
- (void)safariViewController:(SFSafariViewController *)controller initialLoadDidRedirectToURL:(NSURL *)URL{
NSLog(@"[SafariView] SafariView redirected.");
if (hasListeners) {
[self sendEventWithName:@"SafariViewOnRedirect" body:URL.absoluteString];
}
}
@end