Commit Graph

337 Commits

Author SHA1 Message Date
Alex Kotliarskyi 843e181542 Updates from Fri 26, Jun 2015-06-26 15:16:59 -07:00
Owen Kelly 1cca4fb769 [NavigatorIOS] Allow translucent on NavigatorIOS
Summary:
Hi,

I've updated the NavigatorIOS component to allow setting the translucent property.

usage is:
```
            <NavigatorIOS
                translucent={false}
            />
```

This is my first contrib to react-native, so apologies if I've missed something.

Cheers,
Owen
Closes https://github.com/facebook/react-native/pull/1273
Github Author: Owen Kelly <owen@novede.com>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-06-26 07:17:54 -08:00
chaceliang 7159a4e947 Revert "[React Native] Remove layout-only nodes" 2015-06-25 13:30:06 -08:00
Alex Akers 3c5b4b0a9f [React Native] Remove layout-only nodes
Summary:
Remove layout-only views. Works by checking properties against a list of known properties that only affect layout. The `RCTShadowView` hierarchy still has a 1:1 correlation with the JS nodes.

This works by adjusting the tags and indices in `manageChildren`. For example, if JS told us to insert tag 1 at index 0 and tag 1 is layout-only with children whose tags are 2 and 3, we adjust it so we insert tags 2 and 3 at indices 0 and 1. This keeps changes out of `RCTView` and `RCTScrollView`. In order to simplify this logic, view moves are now processed as view removals followed by additions. A move from index 0 to 1 is recorded as a removal of view at indices 0 and 1 and an insertion of tags 1 and 2 at indices 0 and 1. Of course, the remaining indices have to be offset to take account for this.

The `collapsible` attribute is a bit of a hack to force `RCTScrollView` to always have one child. This was easier than rethinking out the logic there, but we could change this later.

@public

Test Plan: There are tests in `RCTUIManagerTests.m` that test the tag- and index-manipulation logic works. There are various scenarios including add-only, remove-only, and move. In addition, two scenario tests verify that the optimization works by checking the number of views and shadow views after various situations happen.
2015-06-25 09:12:00 -08:00
Alex Kotliarskyi 2e4cbc41b0 Updates from Wed 24 Jun 2015-06-24 10:49:09 -07:00
Hannes Verlinde d859620816 Add unit tests for RCTShadowView. 2015-06-24 00:19:46 -08:00
Tadeu Zagallo 3bb303e81a [ReactNative] Explictly set displayName on tests
Summary:
@public

For some weird reason sometimes displayName is undefined on the OSS tests, manually
set it for now to unbreak the tests.

Test Plan: Run the tests on OSS
2015-06-23 19:14:55 -08:00
Nick Lockwood 0624a0fe52 Fixed async local storage 2015-06-23 14:24:42 -08:00
Nick Lockwood 86639450ee Fixed AsyncLocalStorage bug 2015-06-22 14:40:33 -08:00
Gabe Levi 972b546fc6 [Flow] Fix or suppress errors in react-native for Flow v0.13.0 2015-06-22 09:48:15 -08:00
Tadeu Zagallo c9f193cdd0 [ReactNative] Stop build tests on non-test builds
Summary:
@public

UIExplrer's test targets were being built on normal builds as well, remove it.

Test Plan: Insert an `#error` on a test file, and run the project. It shouldn't fail anymore.
2015-06-22 02:56:32 -08:00
Brent Vatne 6e568ee811 [SampleApp] Remove $(SRCROOT) from INFOPLIST_FILE to fix agvtool
Summary:
Fixed #879 - I'm not too familiar with this aspect of XCode so a sanity check here would be great @tadeuzagallo 😉
Closes https://github.com/facebook/react-native/pull/1466
Github Author: Brent Vatne <brent.vatne@madriska.com>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-06-22 02:12:58 -08:00
Nick Lockwood c8c254ce13 Changed methodQueue to a property 2015-06-19 04:20:39 -08:00
Spencer Ahrens 7d62b6077b [ReactNative] Fix 32 bit check compile error
Summary:
@public

The test file is getting compiled when hitting cmd+R which fails for 64-bit
devices even if not trying to run tests.  Change back to runtime check to fix.

Test Plan:
cmd+R works for iPhone 6, cmd+U fails as expected on iPhone 6, works
for iPhone 5
2015-06-18 20:20:18 -08:00
alvaromb a48e9b4690 [WebView] Exposed scalesPageToFit UIWebView property
Summary:
Added the ``scalesPageToFit`` prop to ``WebView``. This allows ``UIWebView`` to handle user zoom and scale.
Closes https://github.com/facebook/react-native/pull/1631
Github Author: alvaromb <amedina@apsl.net>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-06-17 13:56:38 -08:00
Nick Lockwood 6573d256ba Improve test architecture so failures don't crash the simulator 2015-06-17 07:09:23 -08:00
Nick Lockwood d83ee3bd5a Better text background behavior 2015-06-17 05:35:57 -08:00
Hedger Wang 0a875790f5 [Navigator]: Allow developer to observe the focus change events from the owner or the children
of the navigator component.

Summary:
Per offline discussion with @evv, we'd like to deprecate the `onDidFocus` and `onWillFocus`
API that makes it really hard for the descendent children of a navigator to observe its focus
change events.
@public

Since for now the descendent children do have access to the navigator via `this.props.navigator`,
this diff makes it easy to observe the focus change event by doing:

```
this.props.navigator.addListener('willfocus', this._onFocus);
```

The goal is to make the event system in navigator more useful and maintainable.

Test Plan:
Test Video: https://www.facebook.com/pxlcld/mrzS
1. jest:  ./Libraries/FBReactKit/js/runTests.js NavigationEventEmitter
2. Load UI Explorer: <Navigator />, see console logs that shows the focus change events fires.
2015-06-16 09:09:08 -08:00
Tadeu Zagallo 1607d8e9b4 Updates from Tue 16 Jun 2015-06-16 11:30:14 +01:00
Alex Akers bd081d84a7 [React Native] Update operating system and architecture check 2015-06-16 02:00:02 -08:00
James Ide 5d6a89bc61 [Text] Support "textAlign: justify" in Text components
Summary:
Finished adding support for justified text on iOS... just had to expose a prop value.
Fixes #529

Closes https://github.com/facebook/react-native/pull/1486
Github Author: James Ide <ide@jameside.com>

Test Plan:
 View the Text example in the UIExplorer and see that all but the last lines of text in the justified text example are justified and extend to the far right of the available space. Tested on iOS 8, iPhone 6 simulator.

![text](https://cloud.githubusercontent.com/assets/379606/7926252/a90d2e98-0884-11e5-9f12-5cbb27505a0b.png)
2015-06-15 12:00:12 -08:00
Nick Lockwood 650fc9de4c Increased warning levels to -Wall -Wextra, and fixed Xcode 7 beta issues
Summary:
@public

I've increased the warning levels in the OSS frameworks, which caught a bunch of minor issues. I also fixed some new errors in Xcode 7 relating to designated initializers and TLS security.

Test Plan:
* Test the sample apps and make sure they still work.
* Run tests.
2015-06-15 07:52:50 -08:00
Tadeu Zagallo 0d00a0e600 Updates from Mon 15 Jun 2015-06-15 11:30:56 +01:00
Spencer Ahrens 3b40124024 Update flow version in SampleApp to v0.12.0 2015-06-12 14:19:25 -07:00
Tadeu Zagallo 0c9c6e89e3 [ReactNative] Use RCTNullIfNill and (id)kCFNull
Summary:
@public

Use consistent `null` handling:

`value || null`                ->  `RCTNullIfNil(value)`
`value == null ? nil : value`  ->  `RCTNilIfNull(value)`
`[NSNull null]`                ->  `(id)kCFNull`

Test Plan: The tests should be enough.
2015-06-12 14:04:29 -07:00
Marshall Roch 38f76b32c1 Fix missing types in XHRExample 2015-06-12 14:04:28 -07:00
Rusty Conover 21a64189d6 [TicTacToe] Fix missing image styles for TicTacToe example
Summary:
Without a width or height set for the X or O image they don't appear, fix this problem by adding styles with width and height specified.
Closes https://github.com/facebook/react-native/pull/1122
Github Author: Rusty Conover <rusty@luckydinosaur.com>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-06-12 14:04:28 -07:00
Gabe Levi 1295c004e0 [Flow] Fix or suppress last minute errors for 0.12.0 2015-06-12 14:04:28 -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
Gabe Levi 1acca01aa4 [Flow] Fix or suppress react-native github errors for Flow v0.12.0 2015-06-12 14:04:26 -07:00
Andrei Coman 098a1163b1 Expose PointerEventsExample to Android 2015-06-12 12:04:16 -08:00
Tadeu Zagallo 2a7adfb815 [ReactNative] Use RCTNullIfNill and (id)kCFNull
Summary:
@public

Use consistent `null` handling:

`value || null`                ->  `RCTNullIfNil(value)`
`value == null ? nil : value`  ->  `RCTNilIfNull(value)`
`[NSNull null]`                ->  `(id)kCFNull`

Test Plan: The tests should be enough.
2015-06-12 11:03:10 -08:00
Marshall Roch 95050e4658 Fix missing types in XHRExample 2015-06-11 18:51:04 -08:00
Rusty Conover 394cc661a1 [TicTacToe] Fix missing image styles for TicTacToe example
Summary:
Without a width or height set for the X or O image they don't appear, fix this problem by adding styles with width and height specified.
Closes https://github.com/facebook/react-native/pull/1122
Github Author: Rusty Conover <rusty@luckydinosaur.com>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-06-11 18:03:21 -08:00
Gabe Levi 66c7511f73 [Flow] Fix or suppress last minute errors for 0.12.0 2015-06-11 17:43:06 -08:00
Philipp von Weitershausen dca0192b4b [ReactNative] XHR FormData upload example 2015-06-11 11:10:46 -08:00
Prathamesh Sonpatki 2880f1aec0 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-11 11:06:36 -08:00
Gabe Levi b05e99a531 [Flow] Fix or suppress react-native github errors for Flow v0.12.0 2015-06-10 13:34:19 -08:00
Spencer Ahrens fcf7f3c146 Updates Wed 10 Jun 2015-06-10 14:04:37 -07: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
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 205e2659a1 Updates from Tue 9 Jun 2015-06-09 17:20:30 -07: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
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
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 459882ea7e [ReactNative] Fix BUCK file and reenable tests 2015-06-09 05:16:21 -08:00
Andrei Coman 8a0390f5f8 [react_native] Fix UIExplorer 2015-06-08 11:26:01 -08:00
Adam Ernst 16b8747f61 @build-break Disable flaky react tests 2015-06-08 06:38:44 -08:00