react-native/Libraries
Mike Grabowski edf8888fb9 Platform.select method
Summary:
Kudos to frantic for this amazing idea! Works really well (yet so simple!)

Basically we had a discussion with vjeux and frantic and others in the PR #7033 how to handle platform-specific stylesheets in a similar to F8 app way.

There were quite a few nice ideas there, however that one seems to be the smallest yet the most powerful.

Basically there's a `Platform.select` method that given an object, will select a `obj[Platform.OS]` value.

It works with styles:
`Platform.select({ ios: {}, android: {} })`

with messages:
`<Text>{Platform.select({ ios: 'Check the App Store', android: 'Check Google Play' })}</Text>`

and also works well with components (similar to Wallmart idea of <PlatformSwitch />) - relevant example included in diff.
Closes https://github.com/facebook/react-native/pull/7220

Differential Revision: D3221709

Pulled By: vjeux

fb-gh-sync-id: 0a50071f2dcf2273198bc6e2c36e19bca97d7be9
fbshipit-source-id: 0a50071f2dcf2273198bc6e2c36e19bca97d7be9
2016-04-25 16:32:20 -07:00
..
ART Check if either array is null before diffing 2016-04-25 13:28:31 -07:00
ActionSheetIOS CHORE - Remove Trailing Spaces 2016-04-06 09:21:53 -07:00
AdSupport Text highlighting on iOS 2015-07-24 08:41:58 -08:00
Animated Support for Animated.interpolate 2016-04-23 02:37:28 -07:00
AppRegistry Fix some warnings. 2016-04-20 20:45:22 -07:00
AppState Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
AppStateIOS Updating AppState to support the inactive state. 2016-03-10 08:30:24 -08:00
BatchedBridge Make object properties in NativeModules configurable. 2016-04-11 07:57:28 -07:00
BugReporting refactor BugReporting to use RCTDeviceEventEmitter 2016-04-22 11:24:40 -07:00
CameraRoll fix warning about async CameraRoll.getPhotos 2016-03-18 10:21:23 -07:00
Components Reverted commit D3126513 2016-04-24 15:45:19 -07:00
CustomComponents Fix initial scenes rendering for NavigationPagerStyleInterpolator 2016-04-25 15:37:38 -07:00
DebugComponentHierarchy Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Device Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
Devtools Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Experimental Integrate RelayConnection with RNFeed 2016-04-22 22:48:18 -07:00
Fetch Reject promise if network request failed 2016-03-08 16:37:24 -08:00
Geolocation Copy comment from LocationModule.java to Geolocation.js 2016-04-13 07:53:23 -07:00
Image Removed placeholder image logic 2016-04-25 03:31:19 -07:00
Inspector Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Interaction Update to 11.0.1 2016-04-25 01:16:23 -07:00
JavaScriptAppEngine Setup RCTNativeAppEventEmitter on init 2016-03-15 03:45:33 -07:00
LayoutAnimation Add support for delete animation in LayoutAnimation on iOS 2016-04-25 00:19:25 -07:00
Linking Mention native code in `Linking` docs 2016-04-20 19:23:19 -07:00
LinkingIOS Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
Modal Fix or suppress errors in react-native 2016-04-21 19:47:24 -07:00
NativeApp Decouple Module System from Native Calls 2015-12-08 16:03:37 -08:00
NavigationExperimental Expose NavigationPropTypes via NavigationExperimental.PropTypes 2016-04-24 04:46:26 -07:00
Network Add support for ontimeout and onerror handler when using XMLHttpRequest for Android and iOS 2016-04-15 05:17:21 -07:00
Picker Add position to Picker onValueChange's call 2016-02-19 06:50:33 -08:00
PullToRefresh Fix red screen due to ref being undefined in PullRefreshViewAndroid 2016-04-19 06:58:22 -07:00
PushNotificationIOS Updated documentation of local notifications for PushNotificationIOS addEventListener() 2016-04-01 09:56:24 -07:00
QuickPerformanceLogger added QPL for main interactions 2015-09-29 22:25:23 -07:00
RCTTest CHORE - Remove Trailing Spaces 2016-04-06 09:21:53 -07:00
RKBackendNode Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
ReactIOS Fix or suppress errors in react-native 2016-04-21 19:47:24 -07:00
ReactNative Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Sample Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
Settings Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
Storage Update AsyncStorage.js 2016-04-10 18:02:20 -07:00
StyleSheet Add a missing parenthese 2016-03-30 10:04:54 -07:00
Text Removed placeholder image logic 2016-04-25 03:31:19 -07:00
Utilities Platform.select method 2016-04-25 16:32:20 -07:00
Vibration Add support for vibration patterns 2016-03-29 21:45:20 -07:00
WebSocket Add support for sending binary data in websockets 2016-04-20 08:53:25 -07:00
react-native Fix react-native.js.flow 2016-04-22 18:02:28 -07:00
vendor Move React Core Integration to a Dependency 2016-04-21 09:28:23 -07:00
Promise.js Remove knowledge of fbjs from the packager 2016-03-02 04:28:38 -08:00
promiseRejectionIsError.js Add possibility to `console.error`/redbox on promise rejections 2016-03-15 05:22:22 -07:00