Skip to content

Commit 7824b5a

Browse files
authored
Fix native view config to include Fabric events (#12359)
* Fix native view config to include Fabric events On iOS, various JS-only events are registered on the native ViewManager for View solely for the purpose of allowing these events to flow to ViewProps and be used when considering view flattening: https://github.com/facebook/react-native/blob/b561d46b06a32e3872c4701ebeb325f8231e88dd/packages/react-native/React/Views/RCTViewManager.m#L523-L555 This change adds these event props to ViewViewManager for the same purpose. * Change files
1 parent e6008be commit 7824b5a

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "prerelease",
3+
"comment": "Fix native view config to include Fabric events",
4+
"packageName": "react-native-windows",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}

vnext/Microsoft.ReactNative/Views/ViewManagerBase.cpp

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,44 @@ void ViewManagerBase::GetNativeProps(const winrt::Microsoft::ReactNative::IJSVal
103103
React::WriteProperty(writer, L"keyUpEvents", L"array");
104104
React::WriteProperty(writer, L"onMouseEnter", L"function");
105105
React::WriteProperty(writer, L"onMouseLeave", L"function");
106+
107+
// The events below define the properties that are not used by native directly,
108+
// but required in the view config for new renderer to function.
109+
// They can be deleted after Static View Configs are rolled out.
110+
111+
// PanResponder callbacks
112+
React::WriteProperty(writer, L"onMoveShouldSetResponder", "function");
113+
React::WriteProperty(writer, L"onMoveShouldSetResponderCapture", "function");
114+
React::WriteProperty(writer, L"onStartShouldSetResponder", "function");
115+
React::WriteProperty(writer, L"onStartShouldSetResponderCapture", "function");
116+
React::WriteProperty(writer, L"onResponderGrant", "function");
117+
React::WriteProperty(writer, L"onResponderReject", "function");
118+
React::WriteProperty(writer, L"onResponderStart", "function");
119+
React::WriteProperty(writer, L"onResponderEnd", "function");
120+
React::WriteProperty(writer, L"onResponderRelease", "function");
121+
React::WriteProperty(writer, L"onResponderMove", "function");
122+
React::WriteProperty(writer, L"onResponderTerminate", "function");
123+
React::WriteProperty(writer, L"onResponderTerminationRequest", "function");
124+
React::WriteProperty(writer, "onShouldBlockNativeResponder", "function");
125+
126+
// Touch events
127+
React::WriteProperty(writer, L"onTouchCancel", "function");
128+
React::WriteProperty(writer, L"onTouchEnd", "function");
129+
React::WriteProperty(writer, L"onTouchMove", "function");
130+
React::WriteProperty(writer, L"onTouchStart", "function");
131+
132+
// W3C Pointer Events
133+
React::WriteProperty(writer, L"onPointerDown", L"function");
134+
React::WriteProperty(writer, L"onPointerMove", L"function");
135+
React::WriteProperty(writer, L"onPointerUp", L"function");
136+
React::WriteProperty(writer, L"onPointerCancel", L"function");
137+
React::WriteProperty(writer, L"onPointerEnter", L"function");
138+
React::WriteProperty(writer, L"onPointerLeave", L"function");
139+
React::WriteProperty(writer, L"onPointerOver", L"function");
140+
React::WriteProperty(writer, L"onPointerOut", L"function");
141+
React::WriteProperty(writer, L"onGotPointerCapture", L"function");
142+
React::WriteProperty(writer, L"onLostPointerCapture", L"function");
143+
React::WriteProperty(writer, L"onClick", L"function");
106144
}
107145

108146
void ViewManagerBase::GetConstants(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const {

0 commit comments

Comments
 (0)