Files
react-native/React/Fabric/Mounting/RCTMountingManager.h
T
Joshua Gross a249065503 Pass "blockNativeResponder" param to RCTMountingManager
Summary:
From looking at other implementations of setJSResponder, we need the MountingManager to have access to "blocksNativeResponder" param, but do not need to pass that through to individual views (see also Android implementation).

Changelog: [Internal]

Reviewed By: sammy-SC, mdvacca

Differential Revision: D28066257

fbshipit-source-id: e1420431478fd27d2e1463e291a0bbc600d3f0a6
2021-04-29 09:29:45 -07:00

71 lines
2.5 KiB
Objective-C

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#import <UIKit/UIKit.h>
#import <React/RCTMountingManagerDelegate.h>
#import <React/RCTPrimitives.h>
#import <react/renderer/core/ComponentDescriptor.h>
#import <react/renderer/core/ReactPrimitives.h>
#import <react/renderer/mounting/MountingCoordinator.h>
#import <react/renderer/mounting/ShadowView.h>
NS_ASSUME_NONNULL_BEGIN
@class RCTComponentViewRegistry;
/**
* Manages mounting process.
*/
@interface RCTMountingManager : NSObject
@property (nonatomic, weak) id<RCTMountingManagerDelegate> delegate;
@property (nonatomic, strong) RCTComponentViewRegistry *componentViewRegistry;
/**
* Designates the view as a rendering viewport of a React Native surface.
* The provided view must not have any subviews, and the caller is not supposed to interact with the view hierarchy
* inside the provided view. The view hierarchy created by mounting infrastructure inside the provided view does not
* influence the intrinsic size of the view and cannot be measured using UIView/UIKit layout API.
* Must be called on the main thead.
*/
- (void)attachSurfaceToView:(UIView *)view surfaceId:(facebook::react::SurfaceId)surfaceId;
/**
* Stops designating the view as a rendering viewport of a React Native surface.
*/
- (void)detachSurfaceFromView:(UIView *)view surfaceId:(facebook::react::SurfaceId)surfaceId;
/**
* Schedule a mounting transaction to be performed on the main thread.
* Can be called from any thread.
*/
- (void)scheduleTransaction:(facebook::react::MountingCoordinator::Shared const &)mountingCoordinator;
/**
* Dispatch a command to be performed on the main thread.
* Can be called from any thread.
*/
- (void)dispatchCommand:(ReactTag)reactTag commandName:(NSString *)commandName args:(NSArray *)args;
/**
* Dispatch an accessibility event to be performed on the main thread.
* Can be called from any thread.
*/
- (void)sendAccessibilityEvent:(ReactTag)reactTag eventType:(NSString *)eventType;
- (void)setIsJSResponder:(BOOL)isJSResponder
blockNativeResponder:(BOOL)blockNativeResponder
forShadowView:(facebook::react::ShadowView)shadowView;
- (void)synchronouslyUpdateViewOnUIThread:(ReactTag)reactTag
changedProps:(NSDictionary *)props
componentDescriptor:(facebook::react::ComponentDescriptor const &)componentDescriptor;
@end
NS_ASSUME_NONNULL_END