mirror of
https://github.com/tappollo/react-native-safari-view.git
synced 2026-01-12 17:03:09 +08:00
Added event for url redirect
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user