mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
Added ColorPropType
Summary: Problem: https://github.com/facebook/react-native/issues/4708 Solution: Added a ColorPropType that validates the color used by the dev Notes: 1) I'm working a Win8.1 machine and couldn't build the react-native using the github repo. As soon as I figure that out, I'll probably figure how to run the tests and how to add some for this feature. 2) It's my first pull request. Be gentle :) Closes https://github.com/facebook/react-native/pull/4866 Reviewed By: bestander, svcscm Differential Revision: D2783672 Pulled By: nicklockwood fb-gh-sync-id: ca22aa3c0999188075681b5d20fff0631496e238
This commit is contained in:
committed by
facebook-github-bot-3
parent
7164c755cb
commit
a162f72655
@@ -11,6 +11,7 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
const ColorPropType = require('ColorPropType');
|
||||
const EdgeInsetsPropType = require('EdgeInsetsPropType');
|
||||
const Image = require('Image');
|
||||
const NativeMethodsMixin = require('NativeMethodsMixin');
|
||||
@@ -166,10 +167,7 @@ const MapView = React.createClass({
|
||||
* are supported for regular pins. For custom pin images, any tintColor
|
||||
* value is supported on all iOS versions.
|
||||
*/
|
||||
tintColor: React.PropTypes.oneOfType([
|
||||
React.PropTypes.string,
|
||||
React.PropTypes.number
|
||||
]),
|
||||
tintColor: ColorPropType,
|
||||
|
||||
/**
|
||||
* Custom pin image. This must be a static image resource inside the app.
|
||||
@@ -213,14 +211,8 @@ const MapView = React.createClass({
|
||||
* Line attributes
|
||||
*/
|
||||
lineWidth: React.PropTypes.number,
|
||||
strokeColor: React.PropTypes.oneOfType([
|
||||
React.PropTypes.string,
|
||||
React.PropTypes.number
|
||||
]),
|
||||
fillColor: React.PropTypes.oneOfType([
|
||||
React.PropTypes.string,
|
||||
React.PropTypes.number
|
||||
]),
|
||||
strokeColor: ColorPropType,
|
||||
fillColor: ColorPropType,
|
||||
|
||||
/**
|
||||
* Overlay id
|
||||
|
||||
@@ -15,6 +15,7 @@ var React = require('React');
|
||||
var ReactPropTypes = require('ReactPropTypes');
|
||||
var ReactNativeViewAttributes = require('ReactNativeViewAttributes');
|
||||
var View = require('View');
|
||||
var ColorPropType = require('ColorPropType');
|
||||
|
||||
var requireNativeComponent = require('requireNativeComponent');
|
||||
|
||||
@@ -88,7 +89,7 @@ var ProgressBarAndroid = React.createClass({
|
||||
/**
|
||||
* Color of the progress bar.
|
||||
*/
|
||||
color: ReactPropTypes.string,
|
||||
color: ColorPropType,
|
||||
/**
|
||||
* Used to locate this view in end-to-end tests.
|
||||
*/
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var ColorPropType = require('ColorPropType');
|
||||
var NativeMethodsMixin = require('NativeMethodsMixin');
|
||||
var Platform = require('Platform');
|
||||
var React = require('React');
|
||||
@@ -43,22 +44,22 @@ var Switch = React.createClass({
|
||||
* Used to locate this view in end-to-end tests.
|
||||
*/
|
||||
testID: React.PropTypes.string,
|
||||
|
||||
|
||||
/**
|
||||
* Background color when the switch is turned off.
|
||||
* @platform ios
|
||||
*/
|
||||
tintColor: React.PropTypes.string,
|
||||
tintColor: ColorPropType,
|
||||
/**
|
||||
* Background color when the switch is turned on.
|
||||
* @platform ios
|
||||
*/
|
||||
onTintColor: React.PropTypes.string,
|
||||
onTintColor: ColorPropType,
|
||||
/**
|
||||
* Color of the foreground switch grip.
|
||||
* @platform ios
|
||||
*/
|
||||
thumbTintColor: React.PropTypes.string,
|
||||
thumbTintColor: ColorPropType,
|
||||
},
|
||||
|
||||
getDefaultProps: function(): DefaultProps {
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var ColorPropType = require('ColorPropType');
|
||||
var NativeMethodsMixin = require('NativeMethodsMixin');
|
||||
var PropTypes = require('ReactPropTypes');
|
||||
var React = require('React');
|
||||
@@ -62,17 +63,17 @@ var SwitchIOS = React.createClass({
|
||||
/**
|
||||
* Background color when the switch is turned on.
|
||||
*/
|
||||
onTintColor: PropTypes.string,
|
||||
onTintColor: ColorPropType,
|
||||
|
||||
/**
|
||||
* Background color for the switch round button.
|
||||
*/
|
||||
thumbTintColor: PropTypes.string,
|
||||
thumbTintColor: ColorPropType,
|
||||
|
||||
/**
|
||||
* Background color when the switch is turned off.
|
||||
*/
|
||||
tintColor: PropTypes.string,
|
||||
tintColor: ColorPropType,
|
||||
},
|
||||
|
||||
getDefaultProps: function(): DefaultProps {
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var ColorPropType = require('ColorPropType');
|
||||
var React = require('React');
|
||||
var StyleSheet = require('StyleSheet');
|
||||
var TabBarItemIOS = require('TabBarItemIOS');
|
||||
@@ -29,11 +30,11 @@ var TabBarIOS = React.createClass({
|
||||
/**
|
||||
* Color of the currently selected tab icon
|
||||
*/
|
||||
tintColor: React.PropTypes.string,
|
||||
tintColor: ColorPropType,
|
||||
/**
|
||||
* Background color of the tab bar
|
||||
*/
|
||||
barTintColor: React.PropTypes.string,
|
||||
barTintColor: ColorPropType,
|
||||
/**
|
||||
* A Boolean value that indicates whether the tab bar is translucent
|
||||
*/
|
||||
|
||||
@@ -18,6 +18,7 @@ var ReactNativeViewAttributes = require('ReactNativeViewAttributes');
|
||||
var ReactPropTypes = require('ReactPropTypes');
|
||||
var UIManager = require('UIManager');
|
||||
var View = require('View');
|
||||
var ColorPropType = require('ColorPropType');
|
||||
|
||||
var requireNativeComponent = require('requireNativeComponent');
|
||||
var resolveAssetSource = require('resolveAssetSource');
|
||||
@@ -116,7 +117,7 @@ var ToolbarAndroid = React.createClass({
|
||||
/**
|
||||
* Sets the toolbar subtitle color.
|
||||
*/
|
||||
subtitleColor: ReactPropTypes.string,
|
||||
subtitleColor: ColorPropType,
|
||||
/**
|
||||
* Sets the toolbar title.
|
||||
*/
|
||||
@@ -124,7 +125,7 @@ var ToolbarAndroid = React.createClass({
|
||||
/**
|
||||
* Sets the toolbar title color.
|
||||
*/
|
||||
titleColor: ReactPropTypes.string,
|
||||
titleColor: ColorPropType,
|
||||
/**
|
||||
* Sets the content inset for the toolbar starting edge.
|
||||
*
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
// Note (avik): add @flow when Flow supports spread properties in propTypes
|
||||
|
||||
var ColorPropType = require('ColorPropType');
|
||||
var NativeMethodsMixin = require('NativeMethodsMixin');
|
||||
var React = require('React');
|
||||
var ReactNativeViewAttributes = require('ReactNativeViewAttributes');
|
||||
@@ -76,7 +77,7 @@ var TouchableHighlight = React.createClass({
|
||||
* The color of the underlay that will show through when the touch is
|
||||
* active.
|
||||
*/
|
||||
underlayColor: React.PropTypes.string,
|
||||
underlayColor: ColorPropType,
|
||||
style: View.propTypes.style,
|
||||
/**
|
||||
* Called immediately after the underlay is shown
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
var LayoutPropTypes = require('LayoutPropTypes');
|
||||
var ReactPropTypes = require('ReactPropTypes');
|
||||
var ColorPropType = require('ColorPropType');
|
||||
var TransformPropTypes = require('TransformPropTypes');
|
||||
|
||||
/**
|
||||
@@ -22,12 +23,12 @@ var ViewStylePropTypes = {
|
||||
...LayoutPropTypes,
|
||||
...TransformPropTypes,
|
||||
backfaceVisibility: ReactPropTypes.oneOf(['visible', 'hidden']),
|
||||
backgroundColor: ReactPropTypes.string,
|
||||
borderColor: ReactPropTypes.string,
|
||||
borderTopColor: ReactPropTypes.string,
|
||||
borderRightColor: ReactPropTypes.string,
|
||||
borderBottomColor: ReactPropTypes.string,
|
||||
borderLeftColor: ReactPropTypes.string,
|
||||
backgroundColor: ColorPropType,
|
||||
borderColor: ColorPropType,
|
||||
borderTopColor: ColorPropType,
|
||||
borderRightColor: ColorPropType,
|
||||
borderBottomColor: ColorPropType,
|
||||
borderLeftColor: ColorPropType,
|
||||
borderRadius: ReactPropTypes.number,
|
||||
borderTopLeftRadius: ReactPropTypes.number,
|
||||
borderTopRightRadius: ReactPropTypes.number,
|
||||
@@ -41,7 +42,7 @@ var ViewStylePropTypes = {
|
||||
borderLeftWidth: ReactPropTypes.number,
|
||||
opacity: ReactPropTypes.number,
|
||||
overflow: ReactPropTypes.oneOf(['visible', 'hidden']),
|
||||
shadowColor: ReactPropTypes.string,
|
||||
shadowColor: ColorPropType,
|
||||
shadowOffset: ReactPropTypes.shape(
|
||||
{width: ReactPropTypes.number, height: ReactPropTypes.number}
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user