react-native/Libraries
Alex Kotliarskyi cfa4b13472 [ReactNative] Element Inspector
Summary:
This adds new development feature to React Native that provides information
about selected element (see the demo in Test Plan).

This is how it works:

App's root component is rendered to a container that also has a hidden layer called
`<InspectorOverlay/>`. When activated, it shows full screen view and captures all
touches. On every touch we ask UIManager to find a view for given {x,y} coordinates.

Then, we use React's internals to find corresponding React component. `setRootInstance`
is used to remember the top level component to start search from, lmk if you have a
better idea how to do this. Given a component, we can climb up its owners tree
to provice more context on how/where the component is used.

In future we could use the `hierarchy` array to inspect and print their props/state.

Known bugs and limitations:
* InspectorOverlay sometimes receives touches with incorrect coordinates (wtf)
* Not integrated with React Chrome Devtools (maybe in followup diffs)
* Doesn't work with popovers (maybe put the element inspector into an `<Overlay/>`?)

@public

Test Plan:
https://www.facebook.com/pxlcld/mn5k
Works nicely with scrollviews
2015-05-26 11:19:49 -08:00
..
ART [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
ActionSheetIOS [ReactNative] Fix analyze errors on oss 2015-04-24 08:28:35 -08:00
AdSupport [ReactNative] Fix analyze errors on oss 2015-04-24 08:28:35 -08:00
Animation [react-native] Codemod .getNodeHandle, .getNativeNode to React.findNodeHandle 2015-05-13 13:24:37 -07:00
AppRegistry [ReactNative] Back out D2014163 entirely 2015-04-23 12:02:47 -08:00
AppStateIOS Observing "MemoryWarningNotification" and proxying it up to the DeviceEventEmitter 2015-05-22 13:09:56 -08:00
BatchedBridge [Flow] v0.11.0 cleaning - Part 15 (Libraries/FBReactKit/js) 2015-05-13 13:24:37 -07:00
CameraRoll [Flow] v0.11.0 cleaning - Part 14 (react-native-github) 2015-05-13 13:24:36 -07:00
Components Added ability to set custom accessibility tap handler to React Native 2015-05-20 08:32:15 -08:00
CustomComponents [ReactNative] Navigator de-contextualize popToRoute 2015-05-22 11:56:55 -08:00
Device flowify some Libraries 2015-03-25 11:09:54 -08:00
Fetch [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
Geolocation [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
Image Allow uploading a native file (e.g. photo) via XMLHttpRequest 2015-05-26 09:45:34 -08:00
Interaction InteractionManager: DEV warning for possibly unclosed handles 2015-05-20 16:54:03 -08:00
JavaScriptAppEngine [react_native] JS files from D2087892: [react_native] Implement setInterval in JS 2015-05-21 04:24:04 -08:00
LinkingIOS Updates from Fri 24 Apr 2015-04-24 11:46:18 -07:00
NativeApp [ReactNative] Add "RCTNativeAppEventEmitter" 2015-05-15 16:57:18 -08:00
Network Allow uploading a native file (e.g. photo) via XMLHttpRequest 2015-05-26 09:45:34 -08:00
Picker [ReactNative] Rename ReactIOS JS module (and relatives) to ReactNative. 2015-05-13 13:24:35 -07:00
PushNotificationIOS [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
RCTTest [ReactNative] Add AppEventsTest 2015-05-20 00:31:50 -08:00
RKBackendNode [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
ReactIOS [ReactNative] Element Inspector 2015-05-26 11:19:49 -08:00
ReactNative Added ability to set custom accessibility tap handler to React Native 2015-05-20 08:32:15 -08:00
Settings [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
Storage Make AsyncStorage types match the implementations 2015-05-01 18:26:11 -08:00
StyleSheet [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
Text Fixed root view background color propagation 2015-05-26 04:18:55 -08:00
Utilities [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
Vibration [ReactNative] Fix analyze errors on oss 2015-04-24 08:28:35 -08:00
WebSocket Fixed RCTWebSocket and chrome debugging in OSS 2015-05-15 11:37:07 -08:00
react-native [ReactNative] Add "RCTNativeAppEventEmitter" 2015-05-15 16:57:18 -08:00
vendor [JS] Faster crc32 2015-05-22 09:45:41 -08:00
Inspector.js [ReactNative] Element Inspector 2015-05-26 11:19:49 -08:00
Promise.js Replace ES6Promise with Promise 2015-04-15 06:06:29 -08:00