Files
react-native-webview-bridge/example/Sample2/RCTWebViewManager+WebViewExManager.m
T

48 lines
1.3 KiB
Objective-C
Raw Normal View History

2015-07-10 13:18:11 -04:00
//
// RCTWebViewManager+WebViewExManager.m
// Sample2
//
// Created by Ali Najafizadeh on 2015-07-10.
// Copyright (c) 2015 Facebook. All rights reserved.
//
#import "RCTWebViewManager+WebViewExManager.h"
#import "RCTBridge.h"
#import "RCTSparseArray.h"
#import "RCTUIManager.h"
#import "RCTWebView.h"
#import "RCTWebView+WebViewExBridge.h"
@implementation RCTWebViewManager (WebViewExManager)
//NOTE
//DO not include RCT_EXPORT_MODULE() here because RCTWebViewManager already has it and
//we are using category feature in objective-c
2015-07-10 13:18:11 -04:00
RCT_EXPORT_METHOD(eval:(NSNumber *)reactTag
value:(NSString*)value)
{
[self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, RCTSparseArray *viewRegistry) {
RCTWebView *view = viewRegistry[reactTag];
if (![view isKindOfClass:[RCTWebView class]]) {
RCTLogMustFix(@"Invalid view returned from registry, expecting RKWebView, got: %@", view);
}
[view eval:value];
}];
}
2015-07-13 16:09:24 -04:00
RCT_EXPORT_METHOD(injectBridgeScript:(NSNumber *)reactTag)
{
[self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, RCTSparseArray *viewRegistry) {
RCTWebView *view = viewRegistry[reactTag];
if (![view isKindOfClass:[RCTWebView class]]) {
RCTLogMustFix(@"Invalid view returned from registry, expecting RKWebView, got: %@", view);
}
[view injectBridgeScript];
}];
}
2015-07-10 13:18:11 -04:00
@end