Commit Graph

1710 Commits

Author SHA1 Message Date
Jared Forsyth 51e76fd166 [ReactNative] refactor the inspector
Summary:
The `InspectorOverlay` component was getting unwieldy, so I broke it into three components:

- Inspector
- InspectorOverlay
- InspectorPanel

and added @flow types.

The inspector was also living under the `ReactIOS` directory, and I moved it
up into the `Libraries` directory, as the inspector will soon be usable [on
Android](https://phabricator.fb.com/D2138319).

All features of the inspector should remain functional, with the addition of
one feature:

- you can toggle "touch to inspect" by tapping the "Inspect" button at the
  bottom of the inspection panel. When inspection is disabled, the panel remains, but you can interact with
  the app normally without touches being intercepted

@public

Test Plan:
Open the inspector:

- touch to inspect things, verify that margin, padding, size and position are
  reported correctly, and that the component hierarchy is navigable.
- tap the "Inspect" button, and verify that you can interact with the app
  normally.

{F22548949}

[Video of toggling inspection](https://www.latest.facebook.com/pxlcld/mrs9)
2015-06-12 14:04:28 -07:00
Eric Vicenti ca33cbd4b9 [ReactNative] PushNotificationIOS listener Map 2015-06-12 14:04:28 -07:00
Jiajie Zhu 7c0df4605a [RN|madman] init AppStateIOS.currentState with 'active' 2015-06-12 14:04:27 -07:00
Philipp von Weitershausen 628609a069 [ReactNative] XHR FormData upload example 2015-06-12 14:04:27 -07:00
Prathamesh Sonpatki f500a81afe Fixed arguments to StatusBarIOS.setStyle in the NavigatorIOSColorExample
Summary:
- Followup of 45d8fb0ef6
Closes https://github.com/facebook/react-native/pull/1558
Github Author: Prathamesh Sonpatki <csonpatki@gmail.com>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-06-12 14:04:27 -07:00
Adam Krell 373854a47f Add map type property (standard, satellite, hybrid) to MapView.
Summary:
Here is an example project demonstrating this pull request: [AKMapView](https://github.com/adamkrell/AKMapView)
Closes https://github.com/facebook/react-native/pull/1503
Github Author: Adam Krell <akrell@bethanyassociates.com>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-06-12 14:04:27 -07:00
Tadeu Zagallo 8d6d0ec4a4 [ReactNative] Revert packager ignoring node_modules 2015-06-12 14:04:27 -07:00
Tadeu Zagallo 6aea50d6f8 [ReactNative] Fix racing condition on RCTDataManager 2015-06-12 14:04:27 -07:00
Spencer Ahrens 7b7e0bf881 [ReactNative] backout orange box
Summary:
@public

This probably needs more thought - might want to differentiate between console.error and reportError.

Test Plan: console.error and reportError no longer redbox.  invariant and RCTLogError still do.
2015-06-12 14:04:27 -07:00
Nick Lockwood 34f317695c Removed nullability attributes until Infer supports them 2015-06-12 14:04:27 -07:00
Mark Edington a7aa336c6e [Pods] Define a subspec for LinkingIOS
Summary:
Summary:
Adds a CocoaPods subspec for LinkingIOS

Discussed in issue #667

Closes https://github.com/facebook/react-native/pull/1586
Github Author: Mark Edington <medington@wanderful.com>

Test Plan:
  Pull in the subspec and run a sample which calls
RCTLinkingManager.openURL(url);
2015-06-12 14:04:27 -07:00
Eric Vicenti a9f4069ced [AdsManager] Improve animation configurations 2015-06-12 14:04:27 -07:00
Gabe Levi 1acca01aa4 [Flow] Fix or suppress react-native github errors for Flow v0.12.0 2015-06-12 14:04:26 -07:00
Tadeu Zagallo 78db5ca1b9 Update objc-test.sh
Remove extra `--` on server options
2015-06-12 21:48:22 +01:00
Spencer Ahrens 5ee24bfd6c Merge pull request #1448 from jsierles/cli-documentation
[Docs] Document the react-native CLI init command
2015-06-11 16:22:22 -07:00
Tadeu Zagallo 7c49d293f1 Merge pull request #727 from TomMcHugh/master
[CLI] Adds Testing to CLI
2015-06-11 22:23:47 +01:00
Spencer Ahrens 643d292099 Merge pull request #1583 from sahrens/Update_Wed_Jun_10
Update wed jun 10
2015-06-11 13:01:34 -07:00
Tadeu Zagallo 86a8d2984e Merge pull request #1590 from umhan35/add-ActionSheetIOS-to-website
Add ActionSheetIOS to website
2015-06-11 11:33:11 +01:00
Zhao Han 13579d9dfd Add ActionSheetIOS to website 2015-06-10 22:41:21 -05:00
Tadeu Zagallo a10b2e5c51 Merge pull request #1588 from tadeuzagallo/master
[ReactNative] Use --nonPersistent instead of ignoring node_modules on tests
2015-06-11 02:10:13 +01:00
Tadeu Zagallo 53fb274071 [ReactNative] Use --nonPersistent instead of ignoring node_modules on tests 2015-06-11 02:01:10 +01:00
Spencer Ahrens fcf7f3c146 Updates Wed 10 Jun 2015-06-10 14:04:37 -07:00
Nick Lockwood 5d154f1af4 Fixed deployment targets for React iOS submodules 2015-06-10 06:16:15 -08:00
Tadeu Zagallo e9095b2f42 [ReactNative] Remove module info from the data section + allow external modules
Summary:
@public

The information we required about the exported methods were previously stored
on the binary's DATA section, which didn't allow to access methods on different
static libraries, or in any dynamic library at all. Instead of fetching information
from all the DATA segments, this diff changes the macro in order to create a
new method, that returns the required information about the original method. The
module itself is registered at load time, and on the bridge initialization all
the auto-generated methods are called to gather the methods' information.

Test Plan:
UIExplorer previously had a dependency on `RCTTest`, because it had a `TestModule`
that had to be on the same library. `RCTTest` is now a dependency of
`UIExplorerIntegrationTests`. So the tests themselves running should test it.
2015-06-10 03:42:10 -08:00
Eric Vicenti 4690983c10 [AdsManager|ReactNative] Remove contextual navigation from Navigator 2015-06-10 01:13:43 -08:00
Spencer Ahrens b1549337f3 [ReactNative][easy] Fix naming in PanResponderExample 2015-06-09 17:31:35 -08:00
Tadeu Zagallo f703000d1f [ReactNative] Replace console.error with alert on UIExplorer Geolocation example
Summary:
@public

The alert is less aggressive, otherwise it seems like the app is broken.

Test Plan:
Run the UIExplorer, open the Geolocation example and deny access. It should
alert instead of redbox'ing
2015-06-09 17:03:29 -08:00
Spencer Ahrens a5212c8180 Merge pull request #1576 from sahrens/Update_Tue_9_Jun
Update Tue June 9th
2015-06-09 17:51:20 -07:00
Spencer Ahrens 205e2659a1 Updates from Tue 9 Jun 2015-06-09 17:20:30 -07:00
Spencer Ahrens 3102fc5df9 [ReactNative] Fix secure text entry
Summary:
@public

`validAttributes` strikes again.

Test Plan: secure box in example is actually secure
2015-06-09 16:02:38 -08:00
Spencer Ahrens 6c6b8bec7e [ReactNative] Fix require-time redboxes 2015-06-09 15:42:47 -08:00
Tadeu Zagallo 847dff8d75 [ReactNative] Make JavaScript executors bridge modules
Summary:
@public

This is the first of a few diffs that change the way the executors are handled
by the bridge.

For they are just promoted to modules, so they are automatically loaded by the bridge.

Test Plan:
Tested on UIExplorer, Catalyst and MAdMan.
Tested all the 3 executors, everything looks fine.
2015-06-09 15:40:55 -08:00
Spencer Ahrens 68bb3a7e71 [ReactNative] orange box
Summary:
@public

There have been multiple instances of confusion about whether a redbox means the
developer did something they shouldn't but things will keep working, or if
something went horribly wrong and the app will crash in prod.  This diff
introduces an orange background color to the redbox for `console.error` and
`RCTLogError` to indicate that something bad happened, but that the app will
continue working.

Test Plan:
see orange error for geo permissions:

{F22541375}
2015-06-09 14:53:29 -08:00
Tadeu Zagallo 6358e163a5 [ReactNative] Revert `async exports` changes to MessageQueue + test
Summary:
@public

`[Bridge] Add support for JS async functions to RCT_EXPORT_METHOD` was imported but broke some internal code, reverting the `MessageQueue` that caused the issues and add a test, since the method is not used yet.

Test Plan: Run the test o/
2015-06-09 14:25:32 -08:00
James Ide 90439cec26 [Bridge] Add support for JS async functions to RCT_EXPORT_METHOD
Summary:
Adds support for JS async methods and helps guide people writing native modules w.r.t. the callbacks. With this diff, on the native side you write:

```objc
RCT_EXPORT_METHOD(getValueAsync:(NSString *)key
                       resolver:(RCTPromiseResolver)resolve
                       rejecter:(RCTPromiseRejecter)reject)
{
  NSError *error = nil;
  id value = [_nativeDataStore valueForKey:key error:&error];

  // "resolve" and "reject" are automatically defined blocks that take
  // any object (nil is OK) and an NSError, respectively
  if (!error) {
    resolve(value);
  } else {
    reject(error);
  }
}
```

On the JS side, you can write:

```js
var {DemoDataStore} = require('react-native').NativeModules;
DemoDataStore.getValueAsync('sample-key').then((value) => {
  console.log('Got:', value);
}, (error) => {
  console.error(error);
  // "error" is an Error object whose message is the NSError's description.
  // The NSError's code and domain are also set, and the native trace i
Closes https://github.com/facebook/react-native/pull/1232
Github Author: James Ide <ide@jameside.com>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-06-09 14:25:31 -08:00
James Ide 2f78b8ace6 Merge pull request #1573 from fisherwebdev/master
[Docs] Note about transformMatrix
2015-06-09 14:28:06 -07:00
fisherwebdev 1fc5e3d1e3 [Docs] Note about transformMatrix 2015-06-09 14:05:17 -07:00
David Callahan cf8c2693af Use getsectiondata 2015-06-09 12:40:52 -08:00
Nick Lockwood f88bc3eb73 [ReactNative] Refactor RCTDataManager to support pluggable data source modules (RCTURLRequestHandlers)
Summary:
@public

This is a refactor of @philikon's original diff that decouples the dependencies between the Network and Image modules, and replaces RCTDataQueryExecutor with a more useful abstraction.

I've introduced the RCTURLRequestHandler protocol, which is a new type of bridge module used for loading data using an NSURLRequest. RCTURLRequestHandlers can be registered using RCT_EXPORT_MODULE() and are then available at runtime for use by the RCTDataManager, which will automatically select the appropriate handler for a given request based on the handler's self-reported capabilities.

The currently implemented handlers are:

- RCTHTTPRequestHandler - the standard open source HTTP request handler that uses NSURLSession
- RKHTTPRequestHandler - the internal FB HTTP request handler that uses FBNetworking
- RCTImageRequestHandler - a handler for loading local images from the iOS asset-library

Depends on D2108193

Test Plan:
- Internal apps still work
- OSS port still compiles, Movies app and a sample Parse app still work
- uploading image to Parse using the above code snippet works
- tested `FormData` with string and image parameters using http://www.posttestserver.com/
2015-06-09 12:27:06 -08:00
Nick Lockwood f4bf80f3ea [ReactNative] Allow uploading native files (e.g. photos) and FormData via XMLHttpRequest 2015-06-09 12:27:05 -08:00
Spencer Ahrens f590a8b15b [ReactNative] fix navIOS example
Summary: constants were refactored to be enums.

Test Plan:
@public

navIOS example doesn't fatal.
2015-06-09 12:06:14 -08:00
Tadeu Zagallo 2a08897c6e [ReactNative] Batch JS -> Native calls per queue
Summary:
@public

For every call that comes from JS to Native we'd call dispatch_async so the
method would be cllead on the queue/thread it's expecting. This diff
buckets the calls by target queue, dispatches only once to that queue, and then
call all the methods for it inside the same dispatch.

Test Plan: {F22510090}
2015-06-09 06:52:54 -08:00
Tadeu Zagallo 459882ea7e [ReactNative] Fix BUCK file and reenable tests 2015-06-09 05:16:21 -08:00
Andy Street 0a3fca9520 [react_native] JS files from D2130816: [react_native] Don't render crumb container to texture 2015-06-09 03:09:17 -08:00
Tadeu Zagallo de1320acc7 [ReactNative] Check if bridge is valid on -modules 2015-06-09 02:54:59 -08:00
Philipp von Weitershausen 8e2727ad52 Back out D2128859: interop with react devtools 2015-06-08 20:54:21 -08:00
Philipp von Weitershausen 0a95edf6ea [ReactNative] use Map, not Object when functions are keys 2015-06-08 17:43:17 -08:00
Christopher Chedeau 1a12b95f7a [ReactNative] Revert D2134877 2015-06-08 13:49:28 -08:00
Christopher Chedeau 0fcc7bacb8 Bump react-native-cli version 2015-06-08 14:25:48 -07:00
Christopher Chedeau c9e555f4b3 [ReactNative] Better error message when forgetting to wrap Animated 2015-06-08 12:44:32 -08:00