mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
BridgelessUIManager: Finish sendAccessibilityEvent
Summary: Changelog: [Internal] Reviewed By: dmytrorykun Differential Revision: D52383282 fbshipit-source-id: 791cca056ebbe2bdf16082985a37b6df6724088b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
0bb1a5a867
commit
7effa2527f
@@ -152,10 +152,52 @@ const UIManagerJSPlatformAPIs = Platform.select({
|
||||
);
|
||||
}
|
||||
},
|
||||
// Please use AccessibilityInfo.sendAccessibilityEvent instead.
|
||||
// See SetAccessibilityFocusExample in AccessibilityExample.js for a migration example.
|
||||
sendAccessibilityEvent: (reactTag: ?number, eventType: number): void => {
|
||||
raiseSoftError('sendAccessibilityEvent');
|
||||
if (reactTag == null) {
|
||||
console.error(
|
||||
`sendAccessibilityEvent() dropping event: Cannot be called with ${String(
|
||||
reactTag,
|
||||
)} reactTag`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
// Keep this in sync with java:FabricUIManager.sendAccessibilityEventFromJS
|
||||
// and legacySendAccessibilityEvent.android.js
|
||||
const AccessibilityEvent = {
|
||||
TYPE_VIEW_FOCUSED: 0x00000008,
|
||||
TYPE_WINDOW_STATE_CHANGED: 0x00000020,
|
||||
TYPE_VIEW_CLICKED: 0x00000001,
|
||||
TYPE_VIEW_HOVER_ENTER: 0x00000080,
|
||||
};
|
||||
|
||||
let eventName = null;
|
||||
if (eventType === AccessibilityEvent.TYPE_VIEW_FOCUSED) {
|
||||
eventName = 'focus';
|
||||
} else if (eventType === AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
|
||||
eventName = 'windowStateChange';
|
||||
} else if (eventType === AccessibilityEvent.TYPE_VIEW_CLICKED) {
|
||||
eventName = 'click';
|
||||
} else if (eventType === AccessibilityEvent.TYPE_VIEW_HOVER_ENTER) {
|
||||
eventName = 'viewHoverEnter';
|
||||
} else {
|
||||
console.error(
|
||||
`sendAccessibilityEvent() dropping event: Called with unsupported eventType: ${eventType}`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const FabricUIManager = nullthrows(getFabricUIManager());
|
||||
const shadowNode =
|
||||
FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);
|
||||
if (!shadowNode) {
|
||||
console.error(
|
||||
`sendAccessibilityEvent() dropping event: Cannot find view with tag #${reactTag}`,
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
FabricUIManager.sendAccessibilityEvent(shadowNode, eventName);
|
||||
},
|
||||
showPopupMenu: (
|
||||
reactTag: ?number,
|
||||
|
||||
Reference in New Issue
Block a user