react-native/Libraries/ReactIOS
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
..
IOSDefaultEventPluginOrder.js flowify Libraries/ReactIOS 2015-03-25 17:09:51 -08:00
IOSNativeBridgeEventPlugin.js [ReactNative] clean lint in all of Libraries/ 2015-05-19 13:47:04 -08:00
InspectorOverlay.js [ReactNative] Element Inspector 2015-05-26 11:19:49 -08:00
NativeMethodsMixin.js [ReactNative] Fix some mount callback issues 2015-05-15 10:59:09 -08:00
WarningBox.js [ReactNative][RFC] Yellow Box for warnings 2015-04-27 13:32:22 -08:00
diffRawProperties.js [ReactNative] Introduce onLayout events 2015-05-07 12:27:44 -08:00
renderApplication.ios.js [ReactNative] Element Inspector 2015-05-26 11:19:49 -08:00
requireNativeComponent.js [ReactNative] Warn when native component does not exist 2015-05-22 16:29:59 -08:00
verifyPropTypes.js fix exception when ES6 class with no propTypes defined before calling requireNativeComponent 2015-05-18 11:47:42 -08:00